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.
Hello Frank,
Thank you for your detailed message.
From your description and logs, the kernel panic in the galcore driver is likely because of an issue specific to the GPU drivers and memory mapping on the Colibri iMX8QXP, especially when running Qt/Wayland-based applications. Since your Qt 6.8 application works fine on linuxfb and on Colibri iMX6 via Wayland, but not on iMX8QXP, it strongly suggests this is related to the GPU software stack or container configuration on the iMX8QXP.
Here are some steps and checks you can do that often resolve such issues on Toradex hardware:
-
Weston Container Version:
- For Torizon OS 6 (and BSP 7.x), it is essential to use a Weston container specifically built with Vivante GPU support for i.MX8 modules. The documentation notes that, for Colibri iMX8X, the
torizon/weston-vivante:3
container is typically required, as newer:4
containers may not be fully compatible with the Vivante GPU driver used by galcore. - Please follow this guide to ensure you use the correct Weston container: Working with Weston on Torizon.
- For Torizon OS 6 (and BSP 7.x), it is essential to use a Weston container specifically built with Vivante GPU support for i.MX8 modules. The documentation notes that, for Colibri iMX8X, the
-
Device and Permission Mapping:
- Make sure your container is started with the correct mounts for
/dev/dri
,/dev/galcore
, and/dev/video*
if your application uses them, and that the user inside the container has permission to access these devices. This is especially important for DMA and GPU memory operations performed by galcore. - Sometimes, permission problems can manifest as kernel panics or mapping errors. Check a recent community discussion for more on this: Weston containers on Colibri iMX8X.
- Make sure your container is started with the correct mounts for
-
Kernel & Driver Compatibility:
- Your kernel version and galcore.ko module must match the version and configuration expected by the container and userspace libraries. If you have upgraded/downgraded either the kernel or your containers, make sure they are properly in sync.
- Booting with a mismatched or custom kernel (different from Torizon OS 6 BSP 7.1.0 release) can result in ABI differences, which cause GPU kernel drivers to break.
-
Double-Check BSP & Qt Version Compatibility:
- Qt 6.8 is rather new; not all distributions or containers might have been tested with this version yet. Torizon OS 6 supports Qt6, but you may want to see if the reference Qt containers work (or if any container customization is required): Qt on Torizon OS.
Steps to Try
- Run your application in the recommended Vivante Weston container, ensuring you use the version suitable for Colibri iMX8QXP and your Torizon OS (BSP 7.1.0).
- Verify all device nodes used by the GPU are mapped into the container, and proper udev rules or additional group privileges are set.
- If the problem persists with the official containers and standard setup, try running a basic reference Qt application in the same environment, to rule out application-level issues.
If any of the above points seem out of place in your setup, correcting them should resolve the kernel panic. If you need step-by-step help adjusting your deployment or clarifying your setup, let me know!
Best regards,
Toradex AI Assistant.