Boot2Qt with Apalis iMX8

For reference, I am using an Apalis iMX8QM with an Ixora Carrier Board. Additionally, I have the Toradex Capacitive 10.1" display. I’ve gone through some past threads, as well as the Qt for Device Creation topic within the Toradex Developer Center and seem to be coming up short with an answer.

With Boot2Qt release 5.15.2, the screen appears to work out of the box. I install the release through Toradex Easy Installer with an HDMI cable connected, power down, remove the HDMI cable, and voila - the display. However, when I use any of the 6.x.x releases (and any of the 5.15.X such as 5.15.15/17 which have been recently released), the display does not anything (the backlight is lit). I investigated the using ls /sys/class/drm on releases > 6.0.0 as well as the 5.15.2 release, and found that I did not have a cardX-LVDS-1 on any of the >6.0.0 releases. I imagine this would indicate to me that LVDS is not enabled, and would make sense why no display would be occurring.

I’ve attempted adding an outputs: [ { “name”:“LVDS1” } ] to the kms.conf, but this was to no avail. I only need the LVDS display, HDMI will not be used in this use case.

Thanks in advance, I look forward to seeing whatever I’ve managed to miss.

Hi, I’m the Toradex AI Assistant. I’m in early beta, and I would appreciate your feedback.
The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello,

For the Apalis iMX8QM module with an Ixora Carrier Board and the Toradex Capacitive 10.1" display, if you’re experiencing issues with display output on Boot2Qt versions beyond 5.15.2, it’s likely related to changes or regressions in the display support within the newer Boot2Qt stacks. Since Boot2Qt 5.15.2 works out of the box but subsequent versions do not, this suggests that the issue might be with the display configuration or device tree settings in the newer releases.

Given that you’ve noticed the absence of a cardX-LVDS-1 entry in /sys/class/drm in versions after 6.0.0, it indeed indicates that LVDS support might not be properly enabled or configured in these versions. Adding outputs: [{ "name":"LVDS1" }] to kms.conf was a good step, but if it didn’t resolve the issue, further steps are needed.

Here are a few suggestions:

  1. Device Tree Configuration: Ensure that the device tree used by Boot2Qt in the newer releases correctly enables and configures the LVDS output. You might need to compare the device tree files between the working version (5.15.2) and the non-working versions to identify any differences or missing configurations related to LVDS.

  2. Kernel Parameters: Check if the boot arguments (passed through U-Boot) in the newer Boot2Qt versions differ from those in version 5.15.2, specifically regarding display configuration. Sometimes, display settings are passed to the kernel via boot arguments (e.g., video= parameter).

  3. Kernel and Driver Support: Verify that the Linux kernel used in the newer Boot2Qt releases supports LVDS for the Apalis iMX8QM in the same way as the 5.15.2 release. It’s possible that changes in the kernel or in the display drivers could affect LVDS output.

  4. Boot2Qt Configuration: Review any Boot2Qt-specific configuration files or settings that might influence display output. Since Boot2Qt is a Qt-specific environment, there could be Qt configurations that affect how displays are initialized and used.

  5. Debugging Output: Utilize the debugging output from the kernel (via serial console) during boot to look for any errors or warnings related to display initialization. This can provide clues about what might be going wrong.

  6. Qt Configuration: Since Boot2

Please, also check if these links can help you solve your problem:

Display Output, Resolution and Timings (Linux) | Toradex Developer Center.

Hey @tharper,

You’ll need to have the BSP 6 based image (5.15) include the device tree nodes to enable the 10.1 LVDS. With a TorizonCore Builder or yocto build, you could include this device tree overlay.

https://git.toradex.com/cgit/device-tree-overlays.git/tree/overlays/apalis-imx8_panel-cap-touch-10inch-lvds_overlay.dts?h=toradex_5.15-2.2.x-imx

-Eric

@eric.tx,

Thanks for your response. If i’m going the Yocto route (mind you, I have no problems going the TCB route in the future if it helps to simplify things…), can you tell me if I’m skipping anything/missed a step that may have caused this to fail? For context, I looked to mock my patch off of this thread.

Created a new layer, and added it.
Set up my directory structure to match that found in the link above.
Added a .bbappend, changed slightly to include the .dts referenced above (kept naming convention to ensure I didn’t skip a step.).
device-tree-overlays-mainline_git.bbappend (555 Bytes)

Here is where I veer slightly, as I’m trying to add this to a b2qt-embedded-qt6-image:

bitbake b2qt-embedded-qt6-image

I don’t believe the overlay ends up making it into the image (at least, LVDS is not enabled when I check the drm/ directory.) Any thoughts are appreciated.

Thanks!

Hey @tharper,

For clarity, if you were to use TCB, it would be a Torizon OS build rather than the Boot2QT image.
You would then use QT via a container. A common way to use QT with our products.

Torizon OS was made to abstract away the complications of a yocto build. It fits most projects until you need the added flexibility of what yocto provides, (which, if ends up being the case, you can always build Torizon in yocto later if needed!).

Here is the QT on Torizon OS guide


[Here is our guide for writing device tree modifications] (Device Tree Overlays (Linux) | Toradex Developer Center)

Keeping in mind for Boot2QT the image is managed by QT, its not under the Toradex domain, so most of the support on our website found regarding how to do device-trees might not work as expected and would need to be checked with QT manuals.

Here is the QT locations that may be helpful.
https://doc.qt.io/Boot2Qt/index.html
https://doc.qt.io/Boot2Qt/b2qt-how-to-customize.html

-Eric

Hey @eric.tx,

I’ve decided you’re right on the money and switching over to using Torizon OS (it was what I had initially decided on anyways!). I found a blog on importing QT applications into Torizon VS Code IDE, But it doesn’t seem like it is possible anymore. Is this the case?

Thanks in advance,
Tim

  • Edited to include link to media about importing, and changed wording slightly.
1 Like

Hey @tharper,

Glad I could help! You are correct, that method of important QT isn’t valid anymore. We’ve also moved onto a newer/better Extension. While your code may be reuseable, you’ll need to start a new ‘Torizon Project’ based on what your needs are.

-Eric

Hey @eric.tx,

One (hopefully last) more question: if I’m creating a new Torizon project, is it possible to use an existing Qt project? Admittedly it isn’t a terrible large nor complex project, but I’m curious if there’s documentation I’ve missed somewhere that exemplifies this process/workflow.

Cheers,
Tim

Hey @tharper,

I don’t believe we have any other documents (other than the previous link) on QT. If it is the same type of QT project, I would expect the code to work the same, so maybe copy/pasting the code to the relevant locations in the VSCode file structure.

-Eric

Hi @tharper,

Each of the Torizon Templates has a readme that may contain a bit more context. When you create the project the template is cloned so you will have the readme locally but you can also vew them in our github.

Drew

1 Like

Hello @eric.tx, @drew.tx,

Thanks to you both. I’ll read through the documentation and see where it gets me.

Cheers,
Tim