I have an issue with my 1024x768 HDMI display, there is always a vertical pink line at the left edge of my screen. My board is Apalis imx8 with Torizon os, and my carrier board is ixora.
This line still appears even if I changed os to another, like: Qt Multimedia image.
Also there is a faint flickering on the screen.
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?
Hello Tarek,
The issue you’re experiencing with the vertical pink line on the left edge of your 1024x768 HDMI display, alongside faint flickering, when using an Apalis iMX8 with Torizon OS and an Ixora carrier board, could be attributed to several factors. Given that the problem persists across different operating systems but does not appear when using other boards, we can narrow down the potential causes to a few areas.
Display Configuration: The first area to investigate is the display configuration. Ensure that the display settings in Torizon are correctly configured for your specific HDMI display. This involves checking the resolution, refresh rate, and any specific timings that your display might require. Incorrect settings can lead to display artifacts, including pink lines or flickering.
Cable and Connection Check: Since hardware is also a common source of such issues, verify the integrity of your HDMI cable and connections. A faulty cable or loose connection can cause color lines and flickering. Try using a different HDMI cable or reseating the cable connections to both the display and the Ixora carrier board.
Driver and Kernel Configuration: Investigate the driver and kernel configuration for the iMX8 on Torizon. It’s possible that the driver or kernel version you are using has a bug or is not fully compatible with your specific HDMI display. Look for any available updates or patches that might address display-related issues.
Custom EDID Settings: If your display has unique requirements not automatically detected, you might need to manually specify the Extended Display Identification Data (EDID) settings. This can be done through the operating system settings or by modifying the boot parameters to include the correct display information.
Hardware Issue: Although less likely given the display works with other boards, there’s a small chance of a hardware compatibility issue between the Apalis iMX8 module, the Ixora carrier board, and your HDMI display. This could be related to signal timing or electrical characteristics specific to the HDMI interface on the board.
Software Alternatives: As a temporary workaround, you might consider using software solutions that can adjust the display output, such as customizing the framebuffer settings or using utilities that can manipulate the display at the software level, potentially bypassing the issue.
Given the complexity of display-related issues, it may require a process of elimination to identify the exact cause. Start with the simpler checks like cables and settings, and then move on to more complex areas like driver updates or manual configuration adjustments
Please, also check if these links can help you solve your problem:
Thank you so much for contacting us and creating a new thread on your issue. I have so far not been able to reproduce the issue, since I do not have a 10.1" display with HDMI at hand. I do however have a few questions to try and get closer to the culprit of this behaviour:
Which BSP/TorizonOS Version are you using?
What does your overlay look like? Could you send it to us?
Does this line on the display also appear when you load a for example Torizon OS Easy Pairing with BSP 6.7.0 from the Toradex Easy Installer?
I’m using: Apalis imx8 main board, and Ixora carrier board. For the os, I’m using Torizon easy Pairing last version, which I downloaded using Toradex Easy Installer.
For the overlay, I uploaded a photo for my display:
I want to apologize for the delay in replying. I am currently trying to get this to work myself and will write to you as soon as I have results. In the meantime, would you be able to send me the overlay files you are using?
You can use the specific overlays for your displays in two ways. Either by applying the device tree overlay to an image using tcb command or by applying the device tree overlay directly to the device. Information to the two options can be found on this developer page. I assume you’d have to alter the resolution according to your display specs in the overlay itself. If you are using the first approach, we would have to look into the specific .dts files used to generate the .dtb file. Should you apply the overlays directly to the device we should check the content of overlays.txt and the content of the mentioned files within.
I didn’t change any device tree overlay for my display, I just used Torizon cloud service to install: kirkstone/apalis-imx8/torizon/torizon-core-docker/release
And I started to test my software via Toradex extension in VS code.
I will check these 2 ways, to make a new Torizon image and applying overlays to my display, and let you know about the results.
I have discussed your issue internally and it is possible that the EEPROM of your display may not contain a suitable firmware and thus settings. This would result in incompatible timings and/or data packages.
To try and find out if our assumption is correct I would like to ask, if you can please try modetest on your module. This will show the set parameters in the firmware under modes. It should look somewhat like this:
Now you can check the values in modes and compare them to the requirements of your display. One way to play around with this is to use the binary (under value:) or the settings (under mode:) in a generator like this one.
From there on you will have to inject a binary edid blob, to which a developer page can be found here.
As a further resource I would like to drop this edid generator repo here.
Please let me know how you fare with this.
Best regards
Collin
Sorry for my basic questions, I’m new with Toradex/Torizon products, and I have a little experience with Docker/Containers.
So, to run a linux command like modetest on my module, I couldn’t find any command line terminal like: wayland terminal on my module, or I don’t know how to run it on my module, so I checked the VS code extension, I found these 2 containers:
I right clicked on them and choosed: Attach shell, both do not have the modetest command,
so I tried to install it using: sudo apt install libdrm-tests:
At the first container 192.168.0.49:5002/van_sys_container it asked me for torizon user password, I tried: torizon as password but it failed, so I don’t know what password was set.
For the second container torizon/weston-vivante, with root user it said: root@apalis-imx8-06677480:/home/torizon# sudo apt install libdrm-tests sudo: unable to resolve host apalis-imx8-06677480: Name or service not known Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package libdrm-tests
So, what to do please? How can I run a command on my module please? Is what I did right?
Unfortunately modeset is not directly available on Torizon OS.
You could install it in a container and run it there, but you could also get the relevant display information from the EDID binary.
For this, please go through the following steps:
To get into a terminal in the device you can use the following button on the Torizon IDE extension:
On the device’s terminal, dump the edid firmware from the HDMI display:
cat /sys/class/drm/card0-HDMI-A-1/edid > edid.bin
Now, you should have the edid.bin file with the edid contents:
torizon@verdin-imx8mm-06898561:~$ ls
edid.bin
To get this file into your pc, you will need to open a terminal locally.
This can be done inside or outside of VSCode, as long as the scp command is available.
Here is how you can do it inside VSCode:
Now, you should have a terminal open in your PC in the project’s directory.
From here you can copy the edid.bin file to your PC, remember to replace the module’s serial number in the following command:
With that, you will have the edid.bin file in your PC.
Can you send this file here so I can check if there is some issue with it?
You can also use the following utility to view its decoded contents: EDID Decode
First, in /sys/class/drm there is no card0-HDMI-A-1, I found card1-HDMI-A-1, the contents of this folder are: ls /sys/class/drm/ card0 card1 card1-HDMI-A-1 renderD128 renderD129 version
I executed the cat command on it, and I copied the edid.bin file to my computer: edid.bin (256 Bytes)
Also I decoded it: edid-decode.txt (7.8 KB)
I made this test on 8 inch display, from TOPWILLING company, Model: OP804.
This can vary a bit between modules, but you were able to get the correct edid.
I took a look at the edid file and it does not seem to contain timings that are too different from usual timings.
However, it may still make sense to try to force other timings to be loaded.
I added some more time to the back porch and hsync to your edid file. This can be enough or more tweaking with an edid editor may be needed. edid.bin (256 Bytes)
To load the custom edid, you can follow these steps:
In a terminal in your host system, copy the attached file to the device, remember to replace the module’s serial number in the following command:
In a terminal in the device, copy the new edid.bin file to /ostree/deploy/torizon/deploy/<ostree hash>/lib/firmware. Please note that the will be specific to your configuration:
At /ostree/deploy/torizon/deploy/ I found 2 ostree hash:
3d8130c4a10b8b9f0e90be673ff184eb4cb98544a6291ac070d0b6b73cc19f55.0 86648d68fec30477fa8b89b222e1fddc74711a1a90b4b0240183ddff88b7cdb4.0
I copied the edid.bin file to both of them, and I ran the command: fw_setenv.
I checked dmesgs, they are:
[ 0.000000] Kernel command line: root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.0/torizon/cbfcc0c7f70a88c0fb5b53089b53f01c25e8499d639d0ce24644ff0ab8b3d3d1/0 drm.edid_firmware=edid.bin
[ 7.118803] [drm] Got external EDID base block and 1 extension from “edid.bin” for connector “HDMI-A-1”
[ 30.028974] [drm] Got external EDID base block and 1 extension from “edid.bin” for connector “HDMI-A-1”
and I rebooted the board, after that the pink line is still appear at the left edge of the display, and the problem was not solved.
That is unfortunate.
I would still recommend that you try some other changes to the edid from your display, as you may require some additional adjustments.
Display manufacturers often do not implement HDMI correctly, and this can lead to certain incompatibilities. Other displays should not have this issue when paired with the Apalis iMX8.
This can be done with the edid-generator or a tool such as the AW EDID Editor.
The following picture is a good illustration of the timings: