Dual display connection in Apalis imx8qm evaluation board v1.1C

I am facing an issue when connecting both the HDMI and LVDS display together. My application is running perfectly on the LVDS and HDMI display when connected individually. But when I am connecting both the HDMI and LVDS display together I am getting the application on the HDMI only, the LVDS is powering up and showing the time but it is not showing my application. I have modified the overlays.txt file by adding both HDMI and LVDS. I have also modified the weston.ini file. When I checked drm , it is also showing both HDMI and LVDS. What can I do to rectify the issue?

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,

To address the issue of your application not appearing on the LVDS display when both HDMI and LVDS displays are connected to the Apalis iMX8QM Evaluation Board V1.1C, ensure you have followed these steps:

  1. Device Tree Configuration: Verify that the device tree overlays for both HDMI and LVDS are correctly applied. The overlays.txt file should include entries for both displays. Ensure there are no conflicts between the configurations for each display.

  2. Weston Configuration: Since you’ve mentioned modifying the weston.ini file, double-check the configuration to ensure both outputs are correctly defined. For a dual-display setup, you should specify the mode, position, and transformation for each output. For example:

    [output]
    name=HDMI-A-1
    mode=preferred
    transform=normal
    
    [output]
    name=LVDS-1
    mode=preferred
    transform=normal
    position=1920,0
    

    Adjust the name, mode, transform, and position parameters according to your setup and requirements.

  3. DRM Configuration: Since the Direct Rendering Manager (DRM) is showing both HDMI and LVDS, it indicates that the kernel recognizes both displays. Use the drm_kms_helper debug parameter to get more detailed logs about the display initialization process. This can be enabled by adding drm.debug=0x14 to the kernel command line.

  4. Application Display Output: Ensure your application is configured to utilize both displays. If you are using a graphical environment like Weston (part of Wayland), your application needs to be aware of multiple displays and how to manage windows or graphics across them.

  5. Check for Software Updates: Ensure your TorizonCore and all related packages are up to date. Sometimes, issues like these are resolved in newer software releases.

  6. Debugging: Utilize the dmesg and journalctl commands to check for any errors or warnings that might indicate what the issue is. Look for messages related to HDMI, LVDS, DRM, or Weston.

If after following these steps the issue persists, it might be necessary to delve deeper into the specifics of your configuration and application. Consider the way your application manages display outputs and whether it might be defaulting to a single display when both are connected.

Best regards,
Toradex AI Assistant

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

Verdin Development Board | Toradex Developer Center.

Hi @Nikitha ,

Can you share the modifications done by you?
Also, let us know the exact OS version that you are using.

Hi @sahil.tx,
I am also facing same issue with same board. we are using Apalis-iMX8_Reference-Multimedia-Image-6.7.0.


root@apalis-imx8-07239822:~# cat /etc/os-release
ID=tdx-xwayland
NAME=“TDX Wayland with XWayland”
VERSION=“6.7.0-devel-20240624041824+build.0 (kirkstone)”
VERSION_ID=6.7.0-devel-20240624041824-build.0
PRETTY_NAME=“TDX Wayland with XWayland 6.7.0-devel-20240624041824+build.0 (kirkstone)”
DISTRO_CODENAME=“kirkstone”


Please tell me how to solve this issue.

This is my os version : Linux apalis-imx8-14904125 5.15.148-6.8.0-devel+git.284966e8d6ee #1 SMP PREEMPT Wed Jun 26 17:51:19 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux

weston.ini
[core]
#shell=weston-shell
#gbm-format=argb8888
idle-time=0
#use-g2d=1
xwayland=true
repaint-window=16
#enable-overlay-view=1
modules=screen-share.so

[shell]
size=1920x1080

[libinput]
enable_tap=true
touchscreen_calibrator=true
calibration_helper=/usr/bin/toradex-save-touchscreen-calibration

[output]
name=LVDS-1
mode=preferred
#transform=rotate-90

[output]
name=HDMI-A-1
mode=preferred

#[output]
#name=HDMI-A-2
#mode=off

WIDTHxHEIGHT Resolution size width and height in pixels

off Disables the output

preferred Uses the preferred mode

current Uses the current crt controller mode

#transform=rotate-90

[screen-share]
command=/usr/bin/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize --rdp-tls-cert=/etc/freerdp/keys/server.crt --rdp-tls-key=/etc/freerdp/keys/server.key

overlays.txt
fdt_overlays=apalis-imx8_hdmi_overlay.dtbo apalis-imx8_panel-cap-touch-10inch-lvds_overlay.dtbo apalis-imx8_mezzanine_panel-cap-touch-10inch-lvds_overlay.dtbo apalis-imx8_spi1_spidev_overlay.dtbo apalis-imx8_spi2_spidev_overlay.dtbo

can you please mention the steps for solving the issue.

Hi @Nikitha ,

Please try the modification mentioned below in your weston.ini file and let us know the results.
Redirecting the output - one DRM interface

Hi, we tried that as well. But we are not able to run the docker file successfully. We are facing issue in that.

Hi @Nikitha ,
Since you are using reference multimedia image, you do not need to run docker. You need to apply configuration in weston.ini file.

Referring to the article, I was able to run two different application on HDMI and LVDS.
Here are the changes in weston.ini configuration

[core]
#gbm-format=argb8888
idle-time=0
#use-g2d=1
xwayland=true
repaint-window=16
#enable-overlay-view=1
modules=screen-share.so
shell=kiosk-shell.so

[shell]
panel-position=top
locking=false
allow-zap=true
num-workspaces=1

[libinput]
enable_tap=true
touchscreen_calibrator=true
calibration_helper=/usr/bin/toradex-save-touchscreen-calibration

[output]
name=HDMI-A-1
mode=preffered
transform=normal
app-ids=org.freedesktop.weston.simple-egl

[output]
name=LVDS-1
mode=preffered
transform=normal
app-ids=org.freedesktop.weston.flower

[screen-share]
command=/usr/bin/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize --rdp-tls-cert=/etc/freerdp/keys/server.crt --rdp-tls-key=/etc/freerdp/keys/server.key

The app-ids used can be found using the below command

WAYLAND_DEBUG=1 <MY_APP_NAME> 2>&1 | grep app
eg
WAYLAND_DEBUG=1 weston-flower 2>&1 | grep app                                                                                    
[4219747.099]  -> xdg_toplevel@18.set_app_id("org.freedesktop.weston.flower")

Save the configuration and restart weston.services

systemctl restart weston.service

Start the applications

weston-flower &
weston-simple-egl &

The application will start on the assigned display