Best way to run GPU-accelerated applications

I am looking for the best ways to run GPU-accelerated tasks, like video decoding or 3D games.

From what I read the options for drivers currently are:

The best case scenario would be a GPU driver that supports Vulkan (so not Panfrost at the moment) and the hardware decoding capabilities of RK3588.
Does such software even exist already? Or do we need to wait for radxa to improve android support?

Is it possible to somehow clone/copy a driver from an android distro for another RK3588 SBC, for example?

2 Likes

Not being an expert by any means, what I understand so far:

  • A Panfrost driver exists as “Panfork”, with slightly limited (but probably enough for most cases) performance and no Vulkan support, and we can only pray for any of that to go to the upstream Mesa;
  • llvmpipe driver is purely software, not recommended unless you’re running headless and/or barely have to render anything, so it’s by far the worst fit for anything you’re asking about;
  • There’s a “blob” driver that seems to only work with X11, and might offer slightly better performance if you’re lucky;
  • Video decoding is a mess: ffmpeg is broken if you have more than 4G of RAM, the rest depends on which distro you’re using (the older you go, the higher your chances are) and how lucky you are.

All in all, unleashing the true capabilities of this hardware is going to take a lot of time and effort, don’t hold your breath, but do keep experimenting: maybe your use case is adequately covered by one of the existing solutions. The “Your 8K Computer For Anything” claim is yet to be proven.
Things might get better with kernel upstreaming work, but there’s just too much stuff to merge, and it may take a few months or years — which is expected from pretty much any new hardware.

1 Like

So you’re saying this board is not ready for prime time?

1 Like

Again, depends on your use case. I was somehow successful in e.g. installing RetroPie and running Dreamcast and N64 at full speed, but video acceleration would need further tinkering on my setup (some folks had better luck).
I’m still glad I’ve got it though.

My use case requires PWM and HDMI video to work, both broken in latest update to 5.10.110-31-rockchip-ged1406c748b1. Pretty basic stuff. Can only access via ssh.

EDIT: Fixed the display problem with

sudo apt remove x11-common
sudo apt install xfce4

Thanks for all the explanations. But can the blob driver even be used on new systems? Seems like on Debian 11 and up you need to use the Panfrost/Panfork driver (https://wiki.debian.org/MaliGraphics) - unless there is a repository available?

I do think it’s not that difficult to provide half decent drivers as many boards that launched months before the Rock 5 have them - like the Mekotronics boards, for example. So I’m wondering why it would “take a lot of time and effort” in case of this one.

I also lost video after the upgrade, and I was not able to recover from it by the steps you described. Did you get those steps from someone, or might there have been other changes you made to regain video?
Thank you!

I also did
sudo apt autoremove --purge
before the xfce4 reinstall, not sure it matters.

1 Like

Thank you. I still end up with a black screen until I sudo shudown -h now. Before doing apt upgrade today from the provided debian, I had the desktop login with a small bit of noise lines, which I assumed was due to my pre-HDMI 2.0 cable. Both HDMI ports now only give a black screen. Thanks for your help.

Hello,
I had thé same problem Yesterday (Lost HDMI).
I have reinstalled debian 11 from Radxa, done again update and upgrade … And it is ok now.
I have HDMI+ X after upgrade.
Think to by-pass thé Key problem of the Radxa repo (but maybe it’s ok now).

Édit : sorry for the accents. :wink:

1 Like

I really appreciate your help!

1 Like

hoping this is the pessimistic view of seeing things.

do you have any demonstration of full GPU acceleration on these boards for linux?
would be interested in seeing how well other manufacturers handled this chip but also surprised if there is huge perf difference.

The OP posting some interesting info on Android and what runs on Android and what runs on Linux in terms of software really has little in common.
Hardware wise it does bring up some questions to why older other hardware releases show much more performance?
Maybe we might have some problems with memory as it seems to be often memtioned in some of the dev threads.

I made some benchmark on android, and while CPU is good score (in par with snapdragon 855),
GPU was lacking, (still better than my Pixel4A which is snapdragon 730G) but not as impressive as it should be.
Quite embarassing results then if competitors manage to do much better…
Are these memory issues likely to be fixed through software?

1 Like

To be clear, the effort I’m talking about is for properly rebasing the kernel patches on top of the modern mainline kernel, since right now everything is a mess, as well as making sure the main Mesa tree has the relevant code from “panfork”. Why does the fork exist in the first place? I believe I saw something about icecream95 leaving the Freedesktop team, but maybe my memory is playing tricks on me…
I would really-really like to be wrong and see major leaps in upstreaming and mainlining everything sooner rather than later, but chances are, it’s going to take time.

Here I’m just looking to make the best of the current situation so that I can use the board for what I bought it (emulation/kodi). Whether it’s on Linux or Android I don’t care, but I think it is very unlikely that Linux drivers will improve quickly as they are bad for every board. So no, I don’t have a demonstration of full acceleration on Linux. So android seems to be the only option now.

I’m pretty sure something is broken on the android we have now, maybe it’s governor, maybe the dev console being enabled (unlikely), maybe the included drivers are old. I don’t believe there are good hardware reasons for the GPU performance being so bad. No idea how that was missed in the Debug Party but I guess we’ll just have to deal with it now.

The above might be hardware and something isn’t right as far as I know everybody is sharing and using the same Rockchip BSP Android image more or less.
So the software and drivers are likely the same but there is a difference…

The drivers on Linux with the Panfrost hacks would seem to be missing the importance of the CFS which is microcontroller based Command Stream Frontend that acts as a asynchronous arbiter between CPU IRQ and GPU so they both run in parallel, which they are not doing very well, with various other differences.
There is a reason why Collabora and FreeDesktop have stopped MESA at the Mali G52 which I don’t know what but presume its some politics or payment, maybe even licence…

Ah. Is there someone here who could compare the GPU performance of Rock 5B and another RK3588 board under the most similar software possible? Starting to worry I bought a cat in a poke now.

Could I suggest discussing technical details of drivers or whoever stopped supporting them in a different topic? Let’s try to keep this on point (it is useful and all but more for developers - as Linus Torvalds said, “the user doesn’t care”).

1 Like

That’s what I feared, if we are using same android base as competitors, then it directly points toward hardware issues, which would be embarassing.
The only hope then would be that a software fix can overcome it which isn’t a sure thing.

Probably this board went production too soon, knowing they were already late compared to other competitor. My guess is they probably rushed hoping everything would get fixed by software afterwards.

Now wondering what’s next, not sure we can get refunded if we want to return it?

Let’s not rush to conclusions before we have an actual test though.

Looking for someone with a non-Radxa RK3588 or RK3588S board!