Better performance for imx8mp

Good morning, if I’m looking for better performance on the Verdin IMX8MP card, does it make much difference to use EGLFS? And if so, would it be the best option for this? On Linux, of course

Hi, I’m the Toradex AI Assistant.

I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.

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


Performance Considerations for Verdin iMX8M Plus Graphics

Good morning! The Verdin iMX8M Plus is well-equipped for graphics performance with its hardware acceleration capabilities.

Hardware Graphics Capabilities

The Verdin iMX8M Plus features powerful graphics processing units (1):

  • 2D Graphics: Vivante GC520L Composition Processing Core (CPC) (1)
  • 3D Graphics: GC7000 UltraLite 3D Graphics Processing Unit (GPU) from Vivante (1)
  • GPU Performance: Eight Vega shader cores with up to 16 GFLOPS (1)
  • Graphics Standards: Supports OpenGL ES 3.0, OpenCL™ 1.2, and Vulkan® (1)

Display Interfaces Available

The module provides multiple display output options (2):

  • HDMI: 1x (2.0a, up to 4K) (2)
  • LVDS: 1x (up to 1920x1080) (2)
  • MIPI DSI: 1x Quad Lane MIPI DSI (up to 1920x1080) (2)

Performance Optimization

Based on the available documentation, the Verdin iMX8M Plus includes hardware-accelerated 2D and 3D graphics processing (2). The module’s GPU capabilities with OpenGL ES 3.0 support (1) should provide significant performance benefits for graphics-intensive applications.

However, I don’t have specific information about EGLFS configuration or performance comparisons in the available sources. For detailed guidance on graphics backend optimization and EGLFS implementation on the Verdin iMX8M Plus with Torizon, I’d recommend checking these resources:

Would you like me to provide a general answer based on my knowledge about graphics optimization approaches instead?

Best regards, Toradex AI Assistant.

Hello @Wagner !

So I can better guide you, could you be more specific about what exactly you are trying to achieve? That will help us suggest the best path forward.

I assume from your prior ticket that you are trying to build some sort of Qt application; On Verdin i.MX8M Plus, Qt is typically built with Wayland support by default. EGLFS can sometimes offer performance benefits for a single fullscreen app, since it bypasses the compositor, but in most practical cases the Wayland + OpenGL ES pipeline already performs very well. The choice really depends on your use case.

1 Like

Hi @joaom.tx , good afternoon.

I apologize if it seemed confusing. Yes, I’m developing a Qt application for the Verdin I.MX8M Plus, but I want to prioritize my graphics card’s performance. I’m developing a GPS system and want maximum optimization, so I’m being very careful with my development strategies. I’ve been researching window managers for this type of system, and talking to a friend who specializes in this technology, he told me that EGLFS would be the most appropriate because, besides being more modern, it fits the type of application I want to run—full-screen. However, I was having some problems using EGLFS with a keyboard I developed in QML in QtCreator.

My biggest question is whether EGLFS would really be the best option and whether it would have a significant impact on my graphics card’s performance. I’m constantly monitoring the processor’s temperature and usage. Even though I’m using shaders to generate an infinite procedural terrain, memory usage doesn’t exceed 1.5%, but processor usage is approaching 60%. I still don’t have a reference to whether this is too much or if I’m going down the wrong path.

P.S.: This memory and processing usage data is from the Toradex image - tdx-multimedia-reference.image. I’m currently using an image I created myself with very few things installed, just what’s necessary to run my code.

From your description, your approach still feels quite broad. The CPU usage you reported is not necessarily a problem, as these modules are designed to run reliably at high loads for extended periods, so it’s within expected limits.

Focusing too much on whether you use Wayland or EGLFS can make things more complicated than they already are. For most applications on Verdin i.MX8MP, Wayland with OpenGL ES already delivers excellent performance, and EGLFS is not guaranteed to provide a significant improvement. What often makes the bigger difference is optimizing your application code itself; In your case, keeping your setup simple by running and testing on a Wayland environment, while concentrating your efforts on optimizing your application code and development workflow might be a safer bet. Containerization can also help keep things consistent and make iteration easier.

Once you have a baseline of performance with your code optimized, you can revisit whether changing the windowing system is worth it. But in practice, odds are that it won’t be the limiting factor.

1 Like

Good afternoon, Well, fortunately, you’re not the first person to tell me to focus on code optimization. This must be my limiting factor, but anyway, thank you very much for the tip and your time.

I’ll focus more on the code from now on, and I’ll review my environment at the end. If you have any questions, I’ll be back here in the community.

1 Like