Vulkan lavapipe software rendering is working on Haiku

Speed is improved by replacing memcpy() with vkCmdCopyImage().

screenshot43

Software rendering with llvmpipe for comparison:
screenshot44

Linux:
Screenshot_20211123_153445

28 Likes

Liberapay is not a payment processor, payments are still processed through either Paypal or Stripe (at the choice of the people setting up their account to receive money). It is just a convenient web interface to set up recurring donations to several projects/people in a single place.

But if you want to donate something to a specific developer, it’s simpler to contact them privately and arrange something that works for both of you and doesn’t have too high fees.

3 Likes

Oh okay, I wasn’t aware of that.

This is awesome. Which graphics card (class) can we expect to work with this? amdgpu also? radeon also? And for now this is Vulkan only right?

@X512 Also I have no knowledge about this, but the slower frame rate can be due to RAM and chip timings that OS might adjust usually if graphics card is used with 3D.

Currently Radeon Southern Islands Verde only. Planned to be extended for all Southern Islands+ cards. Driver implements amdgpu drmIoctl API. Implementing OpenGL is planned by using translator over Vulkan (Zink etc.).

14 Likes

What will happen with old but no so old gpu with no vulkan support?

The computer where i use haiku have a iGP intel 2nd gen, and it is good to play some emulators, will this receive support too?

1 Like

Perhaps a strategy for GPUs without Vulkan support would be to write Haiku GL drivers for them. That or eventually port the Mesa GL drivers afterwards. Whichever one is preferred/easier.

Possible. Several third-party developers with projects targeting legacy game consoles and GPUs.

1 Like

Vulkan support goes back at least 7 years, so, shop for a used card thats at least hd77xx or newer

1 Like

I must agree a bit. Those graphics cards only cost a few bucks nowadays.

Thats fantastic news considering that I’ve just started a Vulkan based commercial project (embedded Linux) targetting 3 generations of hardware (Sothern Islands, Sea Islands and Vega 8). I’ve got 6 months to settle on underlying embedded OS, which in all likely hood will be Linux, but hey, one can dream …

6 Likes

Is the hardware riscv or arm ?

I know that its early stages, but from what I can see currently there is a dual memcpy penalty transferring the output framebuffer from the GPU to CPU, copying it to BBitmap, then sending to appserver for display on VESA driver. In the future, we should expect a proper Radeon driver to use something like BDirectWindow (or similar) to skip this cycle (and offer greater fps).

One copy can be eliminated by registering BBitmap as GTT buffer (currently not done).

Vulkan based compositor is planned. Direct drawing to display front buffer cause tearing so 2 framebuffers should be allocated and swapping should be performed between them.

4 Likes

Well, on systems with two GPUs (as apparently there are in this case), you have to do at least one copy, and usually to main RAM as the iGPU shares main RAM and only has a small amount of dedicated memory. So that may not matter as much.

Probably there is some way in Linux to force no GPU power management (or low-power mode), and that may provide a better performance comparison.

I also see that the Haiku screenshot says VERDE (ACO), and the Linux one just says VERDE. “ACO” is a different compiler architecture for RADV that Mesa can optionally use. You may be able to force it disabled on Haiku or enabled on Linux, and that may also account for some of the performance difference (though, ACO is supposed to be faster than the older default, so it may make things worse.)

On my Linux test hardware, RADV offers the best performance (stability+speed)

I only have 2 laptops(can’t change the gpu), and i live on the third world, or being optimistic this can only be part of second world here at the best places, then few bucks is a lot money for some people.

But, yes, i have a recent laptop, that i only use for work with linux, it have an iGP Wani r7 and a dGP SUNXTM430, there i have a heat problem and can’t get the high powering without reboot the laptop overheating.

in the other hand my old laptop are totally destinated to Haiku, and, an intel 2nd generation iGP with a dGPU nvidia 520m optimus, in this one you can play perfectly wii/gamecube games and psp emulators is not so bad gpu, can bring some of enterneinment, but dont have Vulkan support :/. Here is where a i test haiku all the time.

4 Likes

After fixing GPU memory allocation type (using non-mappable VRAM when possible), SSAO demo is working.

There are 2 GB of VRAM, but only 256 MB are mappable to CPU. Maybe it triggered some out of memory before.

screenshot46

20 Likes