Jump to content

Recommended Posts

Posted (edited)

I understand that panthor is not supported for wayland but in that case I would expect libmali to fill in... but I ended up with lvmpipe.

 

The overlay along with another recent post led me to believe that panthor was the expected default and libmali was an artifact, but I'm now questioning that after finding a thread identifying use cases where libmali can be preferred and a comment suggesting panthor wouldn't be available until 6.13.

As a result, I am now questioning if there is a reason that software acceleration is the default and the user is expected to determine which path they want to go?

I know support for the hardware has been slow going so I understand that it's not well supported yet, but hoping to get a better handle on expectations.

 

Is there an expected default for a Rockchip RK3588 SoC with the Mali‑G610 GPU? Does it vary between 6.1/6.12 and the desktop/server builds?

Edited by gpupoor
clarificatin
Posted
8 hours ago, gpupoor said:

Does it vary between 6.1/6.12 and the desktop/server builds?


Yes. It is only enabled / working with 6.1 and desktop (Gnome) builds. For mainline based, perhaps 6.18.y ...

Posted

Thank you @KhanhDTP. I think I have a pretty good handle on how (and your post on that thread was in particular very helpful, thank you). 

It looks like a lot of people here are desktop optimized. My plan is headless, so expectation is 25.11.1 / 6.1 and libMali route but with RKNN (XFCE only for occasional desktop, Gnome is too hungry, XFCE + X11 + software rendering is fine on rare occasions I'd need it). 

I think the question I was trying to ask is more along the lines of understanding what to expect for the default, and if it made sense to enable one of the drivers by default, but I'm realizing there are proprietary dependencies and enough obscure use cases that this gets more challenging.

Thanks to everyone for all of the thoughts, hard to imagine navigating all of this without your contributions.

Posted (edited)

Edit: I'm not sure how to format nicely here... so I updated the related PR. That said, this probably isn't the best reference location for this. In any case, posting in case helpful for anyone else. If it's useful for the project to better community (and potentially automate) some of this I'm happy to get involved, but here's what I've got for now:
 

There are fundamentally two driver paths for RK3588:

  1. libMali path - Enables NPU for ML inference, basic GPU only
  2. Panthor path - Enables full GPU acceleration, no NPU


Within each path, you can choose headless or desktop (XFCE/GNOME), but:

  • libMali + desktop = slow rendering (software only)
  • Panthor + desktop = smooth rendering (hardware accelerated)


Key insight: The NPU and GPU hardware are separate, but the software drivers conflict. You must choose which accelerator matters more for your use case.


Additional constraint:

Kernel matters - NPU only works on 6.1 vendor kernel. Mainline 6.12 has no NPU support but best GPU drivers.
 

This creates a matrix of ~6 viable configurations, each optimized for different workloads (production ML, ML development, desktop, latest kernel, etc).


More detailed breakdown: 
https://github.com/armbian/build/pull/8979#issuecomment-3587135022
 

Edited by gpupoor
Posted

Thanks @KhanhDTP, this is great. I tried to stick with approaches that have made their way into official channels, but I'm happy to include because it's very cool to have a full working path identified (B2).

I think I understood your setup but please let me know if I missed anything.

Again, not sure where/how the best place to keep track of this is so in the absence of anything better I'll use the PR, but happy to migrate to another location.

Posted
1 hour ago, gpupoor said:

Making some assumptions... you're 6.18 + Mesa 25.3 + Teflon delegate for the TensorFlow Lite tests?

Right, I always use the same system with all my devices. Makes comparisons more meaningful. Only the loaded DT is the only difference.

Posted

Thanks for confirming. That makes 6.18 look very compelling.

I have some ideas for how I'd like to present this and I'm finding myself wanting to flesh out my overview... If anyone has preferences for a better place than my PR comment to publish please let me know.

 

Posted

@usual user I've got a good handle on your setup through random posts, but I haven't been able to figure out how you got there. Is there something Armbian available that I'm missing, or are you following the Fedora docs, or your own process? Hoping there's something published that I haven't yet found.

 

Posted (edited)
3 hours ago, gpupoor said:

I haven't been able to figure out how you got there.

I don't really do anything special. Since the architecture of the devices I use is quite up-to-date, development for their support is also at the bleeding edge. It is therefore also of essential importance to use the latest software releases. My chosen distribution provides me with this quite promptly. But that's where it ends. I receive no support at all for using my devices there. She doesn't even provide me with firmware for my devices to start the system.
The kernel provided by my distribution is only the one based on the currently released mainline source code. So if I want to use functionalities whose development is still in progress, I have to build the kernel myself with the appropriate patches, which I do regularly (E.g., I'm just building one so I can play around with RGA3).
I haven't done much work in user space for a long time, but recently I've been building the FFmpeg package myself again since the availability of RKVDEC2. v4l-request works out-of-the-box with the GStreamer framework, but for FFmpeg, it will probably take some time until support is available in a release version.

OK, the kernel is done. Now I have to deal with another video device:

lrwxrwxrwx 1 root root 12 Dec  7 22:44 platform-fdb50000.video-codec-video-index0 -> ../../video3
lrwxrwxrwx 1 root root 12 Dec  7 22:44 platform-fdb60000.rga-video-index0         -> ../../video2
lrwxrwxrwx 1 root root 12 Dec  7 22:44 platform-fdb80000.rga-video-index0         -> ../../video0
lrwxrwxrwx 1 root root 12 Dec  7 22:44 platform-fdba0000.video-codec-video-index0 -> ../../video4
lrwxrwxrwx 1 root root 12 Dec  7 22:44 platform-fdc38100.video-codec-video-index0 -> ../../video1
lrwxrwxrwx 1 root root 12 Dec  7 22:44 platform-fdc70000.video-codec-video-index0 -> ../../video5

v4l2-compliance-odroid-m2.log

Edited by usual user
Addendum
Posted

Thank you for your thoughts @usual user. I'm stuck with how to use Fedora as a root filesystem with Armbian. I'm reading that it's possible to use Fedora with the SBC, and I'm understanding it will work successfully with 6.18, but I think the expectation is to start with the raw distro, not anything Armbian related.

Would be happy to learn I'm missing something, but current expectation is to skip Armbian and start with Fedora and build it all from the ground up.

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines