Hardware Video Acceleration

What is the status for Hardware video Acceleration on Haiku?
I’m referring to Haiku capability to use interfaces (VA-API, VDPAU) from the GPU not the CPU, in order to watch videos (mpg, H264, H265, avi, etc).
The most simple case: watch videos from hard drive.
This is not about streaming, VR headset.
Just DECODING video from GPU.

If there is some way to start, I have 2 old graphics cards:
• AMD RV770 [Radeon HD 4870] (this one works with Haiku).
• NVIDIA Corporation GF116 [GeForce GTX 550 Ti] (rev a1) (this one only works with Linux at this moment).

Maybe some BSD distro has support for VA-API and VDPAU? (in the past, Haiku developers created compatibility layers for Ethernet drivers from FreeBsd and OpenBsd)

1 Like

If I’m not wrong, most of the video decoding acceleration is taken in charge by codecs and the soft used. So it’s accelerated on decoding side but we don’t have accelerated GL rendering. This is mainly a problem with multiple vids running and/or at high resolutions. So, to watch a movie, you will be fine even on an old PC.

Someone had same idea not so long ago, dig the forum, you should find the thread.

There is no use of hardware codec acceleration, or hardware video acceleration as it stands.

The ticket for hardware accelerated graphics is here: https://dev.haiku-os.org/ticket/9919

It was updated about a month ago with a suggestion to port drm-kmod from Freebsd, but apart from an argument against going that way there has not been much talk about it publicly.

Personally I think it would be the way to go, to leverage the developers of Freebsd and the gpu manufacturers. It may not be as elegant as drivers written from scratch, but gpu driver development is really hard and takes a lot of time and effort.

2 Likes

We can all have opinions, it doesn’t matter as long as no one is actually working on the code.

Linux often makes things complicated as well, and it may not be possible to keep things up to date, especially if we end up relying on both Linux and FreeBSD. So, it may be that it’s easier to copy only parts of the code from the Linux drivers, but adjust them to fit our software stack. Then we would get something that we actually understand and can fix ourselves. Otherwise, we end up in a situation where people report a bug and all we can say is “test on FreeBSD and see if it works there”, and then “ask FreeBSD and Linux devs to fix it”.

So, it’s not a clear cut decision between these two solutions (this second one not being “let’s write a driver from scratch, Ignoring the existing Linux code”)

1 Like

Hello there, you can start to try with this work GitHub - X547/RadeonGfx from @X512 that driver seems to work only in their own amdgpu, but you can try to compile and test it to give some live on the project i suppose.

You have this threads too Vulkan lavapipe software rendering is working on Haiku

If you can compile it and it works for you, please, share the results here for us.

Thanks everyone for taking time to respond my question.

Looks like Haiku developers are investing all resources in Vulkan:

https://dev.haiku-os.org/ticket/9919

Thanks steampunklolcat and cosmogatokat for those links, that info open my eyes.

I see VA-API and VDPAU are going to be obsolete in the near future.

Now Vulkan support DECODING videos, not just 3d, Khronos called Vulkan Video Api:

Also FFmpeg supports Vulkan video decoding:

At the beginning of this post, I was mentioning that I have 2 old video cards (no Vulkan support) also I have an old mac tower (this macpro was updated from 4.1 to 5.1)

From this link:

*This model has four full-length PCI Express (PCIe) 2.0 expansion slots, two x16 slots and two x4 slots. In the default configuration, one PCIe 2.0 x16 slot is occupied by the graphics card. Apple also reports that “all slots provide mechanical support for 16-lane cards” and there is a “300W combined maximum for all PCI Express slots.”

I was checking in newegg.com for Radeon RX 6400 (this is a PCI Express 4.0 Video Card), I’m not sure if this card is going to work in a PCI express port 2.0???

https://www.newegg.com/asrock-radeon-rx-6400-rx6400-cli-4g/p/N82E16814930068

https://www.newegg.com/gigabyte-gv-r64eagle-4gd/p/N82E16814932514?Item=N82E16814932514

Radeon RX 6400 is cheap and support Vulkan 1.3:

If the card works with the old mac tower, I would like to buy one, and try to help Haiku.

What is your opinion about this video card?

I’m asking because Haiku community has more skills and experience than myself.

3 Likes