Progress on running Haiku on VisionFive 2

After double checking the updates from git,

Its working.

3 Likes

Build Successful (named: hrev57091+72):

Now weā€™re cooking with gasā€¦

5 Likes

Great job. Would this work on an SD card too or would we need a separate image for that?

See Progress on running Haiku on VisionFive 2 - #120 by X512.

2 Likes

Building ā€œHAIKU_REVISION=ā€œhrev57091+73ā€ jam -j8 -q @nightly-mmcā€

results in non-working USB. Iā€™ll see if I can dig through and find an error or bug. Previous build hrev57062 usb worked with only one input (kbd or mouse).

Serial log? To which USB port device is connected?

I finally got it working. I had to rebuild it a few times. Mouse works on my end. Do not have a keyboard that works yet. I will keep testing.

I think that at the beginning you should make an ssh port (which I wrote earlier), a terminal and a bash port under riscv. I donā€™t know if it was the hpk version or as a recipe in Haiku Ports. I mayby pass new test of other haiku software.

I see VisionFive-2 is on sale at AmeriDroid for 15% off! No coupon code needed according to the email! Was the GPU the holdup for it or were there other holdups?

Edit

Never mind. It was an email-only sale.

What about using a Logitech USB mouse/keyboard combo dongle? Only one USB port needs to be used to control both items.

I got built-in Ethernet working. For now it may be slow because interrupts are not implemented yet and pooling with snooze() is used.

36 Likes

This is good news, thanks for the great work you are doing

2 Likes

Network speed is significantly improved after implementing interrupts instead of pooling. Now CPU usage in kernel receive thread is quire high, I suppose overhead of memcpy become significant and it would be nice to implement zero-copy packet handling.

31 Likes

It is frantic !.. better news than a new Risc-V board HW post here ;-))

2 Likes

Why is networking so different in riscv? canā€™t we just reuse what we already have on x86?

Its a totally different platform - think about that what written earlier about HW devices. The PCI in itself not so major role in device detection.
Also although many operating system services in theory can be resolved - as this processor were designed today ā€¦ they could select a different HW/SW method what existed for x86(_64) architecture.
They could built totally different design.
Seems it is well documented, as X512 and kallisti5 and some other developers could develop Haiku to once have more stable and complete Haiku as supported platforms and also the programs as well.

Think about future ā€¦ when a buildmaster service would exist for Risc-V version of Haiku as well ā€¦ then native and ported apps can be installed once they modified / compiled / fixed for Risc-V as well.

The reliable network connection is a stable base to use a network service or reach remote server connection.

Some of the high CPU usage may be due to checksum validation. We could probably improve here by switching to checksum offloadingā€¦ a lot of the BSD drivers support this, but we donā€™t use it there either. (If we donā€™t have a ticket about this, we should.)

2 Likes

Is there any API in Haiku network stack for checksum offloading? If so, I can try to use it in my dwmac driver.

1 Like

Not yet. I added a ticket for it: #18744 (Network packet checksum offloading) ā€“ Haiku

I have a few ideas about how weā€™d do it, though.

4 Likes

How about mentioning these ideas on the ticket?

1 Like