Uno 6 GPU acceleration

Hi,

We’re evaluating a Verdin iMX95 SOM (running the torizon multimedia reference image) and trying to run the Uno Platform 6 reference app uno.chefs (built as a self-contained .NET 9 executable). Unfortunately the UI is sluggish (especially scrolling and animated content) and behaves like it’s being software rendered rather than GPU-accelerated.

There was a discussion from two years ago discussing the same topic, but Uno has developed a lot since then, recently switching to a unified Skia renderer.

Is there any known way to make the Uno 6/Skia use the GPU acceleration features of the Verdin iMX95?

Best regards,

Sergey

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


Verdin iMX95 GPU Acceleration and Uno Platform

Based on the available documentation, the Verdin iMX95 features an ARM Mali GPU that enables rich, high-resolution graphical experiences with hardware acceleration (1). The module is designed to support high-performance graphics applications and includes a modern NPU with 2x better performance vs. i.MX8M Plus (1).

GPU Framework Support

Toradex validates GPU frameworks that support OpenGL ES acceleration, including (2):

The Qt C++ Template for Torizon OS provides an out-of-the-box experience on Toradex System on Modules (SoMs) and offers integration with Qt Creator and Qt Design Studio (3).

Current Limitations for Uno Platform

Unfortunately, based on the available documentation, there is no specific guidance for enabling GPU acceleration with the Uno Platform 6/Skia renderer on Verdin iMX95. The documented GUI frameworks focus primarily on Qt-based solutions.

Potential Approaches

Since you’re experiencing software rendering behavior, consider these approaches:

  1. Verify GPU Driver Access: Ensure your .NET application container has proper access to the GPU devices (/dev/dri, /dev/galcore) and necessary environment variables
  2. Check OpenGL ES Support: The Verdin iMX95’s ARM Mali GPU should support OpenGL ES, which Skia can potentially utilize
  3. Container Configuration: Review container setup to ensure proper GPU device access and permissions

Development Status

The Verdin iMX95 documentation indicates that Linux-based offerings will be supported soon, including both Yocto Project Reference Images and Torizon OS support (4). This suggests the platform may still be in early development phases, which could explain limited framework-specific optimization guidance.

For the most current information on Uno Platform GPU acceleration support on Verdin iMX95, you may need to work directly with both the Uno Platform community and Toradex engineering teams to develop a proper integration approach.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

Hi @sergefr,

Thanks for bringing this up. I’m not quite sure about the status of GPU acceleration for UNO applications at the moment. However, I am checking with the responsible team and will update you soon. I request your patience until then.

Hi @sergefr,

I have just checked with our team to determine the status and plan for the UNO template/projects. Since Uno deprecated their Wayland support, Uno templates were deprecated from Toradex side.. They only support x11 currently and we do not support X. If you want a full desktop environment with GPU acceleration, the best approach would be to develop with a framework that supports Weston (if weston is acceptable for you). What we recommend from our side is Qt for such cases.

Hi @rudhi.tx
Thank you for the update.
As we build our main application in .NET/C#, implementing the UI part in Qt would bring a significant increase in complexity.
We would need to write a component that bridges the native C++ Qt UI with the .NET based business logic.
We think adding OpenGL ES support to UNO platform for Linux is the better way for us.

Best Regards,
Michael Koster