My progress on real RISC-V hardware

Currently GCC 8.3.0 from buildtools (with patches) is used to compile Haiku and cross compiled gcc_bootstrap-8.3.0_2021_02_27 package is used on RISC-V Haiku itself. initfini-array is enabled.

11 Likes

Hi, I came from sifive forum, and your work is really really impressive!
I noticed you used qemu for testing, can you elaborate on how to make virt support GUI, thanks!

1 Like

I used PCI bus and ati-vga virtual graphics card. See my QEMU commands here.

3 Likes

WiFi is working.

I used Intel AC 9260 wireless card (8086:2526). Some adjustments unrelated to RISC-V to idualwifi7260 driver were needed. For some unknown reason channel configuration can’t be read from NVM ROM, so I defined it manually. The same problem in Linux. Only open networks are currently working (wpa_supplicant compiled and installed).

screenshot10

37 Likes

FreeBSD driver problem is mentioned here: Intel 9260 Wireless Card doesn't play nice with LM - Page 2 - Linux Mint Forums.

5 Likes

Nice work on the Wifi!

I should take a moment and update on the status of the upstream Haiku support for riscv64 (aka, accepting these patches into our core git repo). Overall i’ve gotten the majority of x512’s initial patches cleaned up and merged. Currently upstream haiku boots into the kernel. :partying_face:

  • https://review.haiku-os.org/c/buildtools/+/4368 is priority 1.

    • The kernel is crashing at the moment due to this one. Disabling relax in our linker resolves one of the final kernel crashes and gets the kernel to loading PCI drivers and looking for disks.
    • The fix in 4368 is working, but disables relax optimization in our toolchain on all operating systems. We’re trying to figure out a way to limit it to haiku + riscv64 so it is somewhat upstream-able.
  • https://review.haiku-os.org/c/haiku/+/4303 is priority 2

    • Is needed to support the PCI bus (and examine all devices on the bus)
    • It’s priority 2 since fixing the relax issue gets us to trying to parse the PCI bus.
    • It needs some minor-moderate rework though since it treats the FU740 PCIe controller as “the riscv64 PCI” controller.
    • Overall this one isn’t too difficult, and I just need to get 4368 above solved before I start working on refactoring it. (I really don’t want to refactor code if I can’t test it)
31 Likes

WPA2 password protected networks are also working now after disabling additional debug output. Maybe debug output caused some timeouts.

30 Likes

NetSurf web browser is compiled.

Many web sites can’t be opened with NetSurf for now for unknown reason.

System has uptime about 6 hours with SMP and WiFi enabled. SSH remote access is also working.

screenshot12

44 Likes

This is really beautiful, a piece of history is being written here. RISC-V is not like other architectures, it is because it is something that is taking its first steps into a new world.
Particularly here HAIKU which takes its very first steps on the web on an architecture that emerged thanks to its diffusion on the web.
It’s exciting to see these screenshots.

11 Likes

HTTPS websites including Haiku website are now opening in NetSurf.

Not sure what was changed (libstdc++.so recompile?).

screenshot15

43 Likes

This doesn’t have to turn in to device being released, but Apple is looking for a RISC-V developer:

https://www.applemust.com/succession-does-tim-cooks-apple-ponder-life-after-arm/

2 Likes

These updates are awesome man. Keep up the amazing work.

2 Likes

Shouldn’t the website document on compiling for RISC-V be updated? It currently says that only the bootloader runs. Compiling Haiku for RISCV64 | Haiku Project

8 Likes

Apparently there is a new RISC-V SBC coming out soon that is a more affordable at $149 USD.

6 Likes

The VisionFive doesn’t have a GPU nor a PCIe slot (it does have an “AI processor” for some reason though (why?)). I’m kinda struggling to figure out what the use-case is here. At least the Unmatched has a PCIe slot so that you can attach your own GPU.

Doesn’t it have LVDS display connector?

They mention the following specs on the page:

  • VPU with H264/H265 encode/decode for 4K@60fps or 8-channel 1080p@30fps
  • HDMI 1.4 port with audio for up to 1080p@60fps
  • The SoC is equipped with a 4K ready VPU but lacks a 3D GPU.

I think it will have graphics,even without needing a external GPU like on the Unmatched,it just won’t have 3D acceleration which Haiku doesn’t support for most hardware anyway.

A bit offtopic: But i found this yesterday: Could be very interesting also for use with Haiku soon:

Not for this thread. RasPi compute modules and the pinout compatibles are 64 bit ARM so it would fit better in a different thread.

3 Likes

I just find the compromises that they have made here really strange. You get a hardware video processor for H264/H265 (a codec from the well-known patent troll MPEG-LA) and you get an AI processor, but no GPU. I don’t know if I want to watch movies without VSync personally, even if the movies are 4K. But hey, if you like the device, by all means buy it.