GPU hangup with etnaviv driver on verdin-imx8mp

Hello toradex

with our verdin-imx8mp based systems we get the following kernel messages

Oct 09 09:39:57 KT0346-SRMG-4721 kernel: etnaviv-gpu 38000000.gpu: MMU fault status 0x00000002
Oct 09 09:39:57 KT0346-SRMG-4721 kernel: etnaviv-gpu 38000000.gpu: MMU 0 fault (page not present) addr 0xffa03000
Oct 09 09:39:57 KT0346-SRMG-4721 kernel: etnaviv-gpu 38000000.gpu: recover hung GPU!
Oct 09 09:39:57 KT0346-SRMG-4721 kernel: etnaviv-gpu 38000000.gpu: offending task: Chrome_InProcGp (/usr/bin/kioskbrowser -f -c -t -s)
Oct 09 09:39:57 KT0346-SRMG-4721 kernel: etnaviv-gpu 38000000.gpu: MMU fault status 0x00000002
Oct 09 09:39:57 KT0346-SRMG-4721 kernel: etnaviv-gpu 38000000.gpu: MMU 0 fault (page not present) addr 0xffa4b000
Oct 09 09:39:57 KT0346-SRMG-4721 kernel: etnaviv-gpu 38000000.gpu: recover hung GPU!
Oct 09 09:39:57 KT0346-SRMG-4721 kernel: etnaviv-gpu 38000000.gpu: offending task: Chrome_InProcGp (/usr/bin/kioskbrowser -f -c -t -s)

Afterwards the display show’s graphical artefacts and gets more or less unreadable

Hardware
Modules: verdin-imx8mp (2GB with WLAN + 4GB without WLAN)
Baseboard: based on Dahlia
Display: connected via bridge on our base-board
5" Riverdi (800x480)
7" Riverdi (1024x600)

OS
yocto: scarthgap
kernel: 6.17.1
gpu-driver: etnaviv
qt: 6.9.3
mesa: 24.0.7
libdrm (not libdrm-imx): 2.4.120

weston (not weston-imx)
Browser based on qtwebengine

steps to reproduce
Start Browser with 39 Awesome CSS Animation Examples with Demos + Code
scroll down to “Button Animations 10. Keyframe tricks”.

The kernel get’s flooded with the above mentioned messages.
Changing URL on the fly mostly solves the problem, but sometimes some areas on the display were not displayed anymore. Then you also have to restart weston.

With earlier versions (linux 6.12 and qt 6.8) the problems were even greater.

A connected VNC Display show’s exactly the same output as our display.

the css-animation-examples site is an extreme sample with hight load for gpu and cpu.

Normal sites will mostly be displayed correct, but from time to time we see those artefacts too.

How to identify the originator of the problem?
Where to search for a solution ?

Best Regards
Reinhard

Hi, I’m the Toradex AI Assistant.

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


Etnaviv GPU MMU Fault Issues on Verdin iMX8M Plus

Problem Analysis

The etnaviv GPU MMU fault messages you’re experiencing indicate memory management unit issues with the GPU driver when handling intensive graphics operations. These MMU faults (page not present errors) are causing GPU hangs and subsequent recovery attempts, leading to the visual artifacts you’re observing.

Known Issues with GPU Support

Based on the community forum discussions, there are known stability issues with GPU-accelerated applications on Torizon OS 7.x series (1). The chromium-based browser containers are not fully stable and working yet for Torizon OS 7 (1).

Troubleshooting Steps

1. Version Considerations

Consider testing with Torizon OS 6.8.0 with version 3 container tags instead of version 4 (1). The 6.x series has been worked on longer compared to the 7.x series and is likely more stable in several aspects (1).

2. GPU Driver Limitations

The etnaviv driver you’re using is the open-source GPU driver. For intensive graphics applications like CSS animations, you may encounter limitations with the proprietary GPU driver from NXP, of which there is limited visibility into the inner workings (1).

3. Browser Container Issues

The kernel messages show the offending task is Chrome_InProcGp (/usr/bin/kioskbrowser -f -c -t -s), which aligns with known issues in chromium-based browser containers (1).

Recommendations

Immediate Actions:

  1. Test with Torizon OS 6.8.0 to see if stability improves
  2. Reduce GPU load by avoiding intensive CSS animations or WebGL content
  3. Monitor memory usage during browser operations
  4. Test with simpler web content to isolate the GPU load threshold

Alternative Approaches:

  • Consider using Qt-based applications instead of browser-based solutions for critical graphics operations
  • Implement content filtering to avoid problematic CSS animations
  • Use hardware-accelerated video decoding sparingly until stability issues are resolved

Current Status

The GPU support issues you’re experiencing are part of ongoing development efforts. The etnaviv driver and browser container stability are areas of active work, particularly for the newer Torizon OS 7.x series (1).

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.

Hello Reinhard,

After reviewing the information you shared, we noticed that you are currently using the Upstream BSP, which is considered experimental.
Additionally, you are running kernel version 6.17.1, and I think we have support for version is 6.12.x
We recommend the following next steps:

  • Try using our Upstream BSP (which includes support for etnaviv GPU drivers) to check if the issue persists.

  • Alternatively, if possible, switch to the Downstream BSP, which uses the Vivante GPU driver, for a more stable and supported environment.

hope this helps

Maximiliano Zapata
Toradex