We are currently investigating in how far we can modify or correct the colors of our LVDS connected custom 7" display. We are using Torizon 6.6.1 with weston-vivante 3.3.0 running on an Apalis-iMX8QM 4GB IT and a custom carrier board.
TorizonCore 6.6.1+build.14
Apalis iMX8QM 4GB
torizon/weston-vivante:3.3.0
Custom carrier board and custom display
I played around with weston.ini using color_characteristics, but I do not see any real impact on colors. I have to admit I am a beginner with weston.
I also tried to set color-management=true but this will only crash the weston container:
[09:41:02.302] color-lcms: error: color operations capability missing. Is GL-renderer not in use?
[09:41:02.302] fatal: failed to create compositor backend
Here is our weston.ini:
[core]
#backend=drm-backend.so
#gl-renderer=true
#color-management=true
#renderer=gl
idle-time=0
require-input=false
xwayland=true
#modules=cms-colord.so,screen-share.so
modules=screen-share.so
# uncomment line below to use kiosk shell
#shell=kiosk-shell.so
[shell]
background-image=/etc/xdg/weston/company.png
background-type=centered
#background-type=scale
background-color=0x00000000
panel-position=none
locking=false
allow-zap=false
num-workspaces=1
[keyboard]
vt-switching=false
[color_characteristics]
name=myDisplay
#red_x: 0.548(min) 0.598(typ) 0.648(max)
red_x = 0.648
#red_y: 0.300(min) 0.350(typ) 0.400(max)
red_y = 0.400
#green_x: 0.313(min) 0.363(typ) 0.413(max)
green_x = 0.363
#green_y: 0.511(min) 0.561(typ) 0.611(max)
green_y = 0.561
#blue_x: 0.093(min) 0.143(typ) 0.193(max)
blue_x = 0.143
#blue_y: 0.091(min) 0.141(typ) 0.191(max)
blue_y = 0.141
#white_x: 0.267(min) 0.317(typ) 0.367(max)
white_x = 0.367
#white_y: 0.304(min) 0.354(typ) 0.404(max)
white_y = 0.404
#max_luminance = 1000
#max_luminance = 380
#min_luminance = 0.1
#min_luminance = 300
# uncomment the [output] line below if you set any output configuration
[output]
# you must uncomment the "name" line and provide the name of the output interface being customized, otherwise, changes will not apply
name=LVDS-1
#brightness=1.2
#contrast=1.2
#gamma=1.5,1.0,0.9
#colorimetry-mode=
color_characteristics=myDisplay
#name=HDMI-A-1
# uncomment line below to configure screen rotation/flipping
#transform=rotate-90
# uncomment line below to redirect the output; supported by kiosk shell
#app-ids=my-app-id
# uncomment line below to turn off the output
#mode=off
# uncomment line below to set an output resolution. Run for example 'cat /sys/class/drm/card1-HDMI-A-1/modes' to list the available modes.
#mode=1680x1050@60
# or use the more detailed (mode=dotclock hdisp hsyncstart hsyncend htotal vdisp vsyncstart vsyncend vtotal hflag vflag)
#mode=146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
# uncomment line below to make this output a clone of another
#same-as=HDMI-A-2
#For multi-display support and other configurations, please read the article: https://developer.toradex.com/knowledge-base/working-with-weston-on-torizoncore
Do you have any suggestions or best practices on how to adjust colors in weston?
Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!
Did you like my answer?
It looks like you’re trying to adjust the color characteristics of your display using Weston on TorizonCore. From your weston.ini configuration, it seems like you’ve already attempted to use the color_characteristics section and the color-management option, but encountered issues.
Here are a few suggestions and best practices to help you adjust colors in Weston:
Ensure GL Renderer is Enabled:
The error message indicates that the GL renderer might not be in use. Ensure that the GL renderer is enabled in your weston.ini file. Uncomment and set the following lines in the [core] section:
Check for Required Modules:
Ensure that the necessary modules for color management are loaded. Uncomment the cms-colord.so module in the [core] section:
modules=cms-colord.so,screen-share.so
Verify Output Name:
Make sure the output name specified in the [output] section matches the actual name of your LVDS display. You can find the correct name by running weston-info inside the Weston container.
Adjust Color Characteristics:
Ensure that the color_characteristics section is correctly referenced in the [output] section. Your configuration seems correct, but double-check the values and ensure they are within the expected range for your display.
Debugging:
If Weston still crashes, you can enable debugging to get more detailed logs. Run the Weston container with the WAYLAND_DEBUG environment variable set to 1 to get more information:
docker run -e WAYLAND_DEBUG=1 -v /path/to/your/weston.ini:/etc/xdg/weston/weston.ini torizon/weston-vivante:3.3.0
Consult Documentation:
Refer to the Weston documentation and the weston.ini man page for more details on the color_characteristics and color-management options.
Here is an example of how your weston.ini file should look after making the suggested changes:
If you continue to experience issues, it might be helpful to reach out to the Toradex community or support for further assistance, as they might have more specific insights into your hardware and software configuration.
Please, also check if these links can help you solve your problem:
Could you please also share a photo of the color issue you are having?
And what is the behavior of the issue? Is it simply constant? Or it comes and goes?
Have you configured your device tree according to the timings of the LVDS display you are using? You usually find the timings in the datasheet of the display/panel.
Thank you for your quick reply! There is no real bug or anything going on. There is only a slight shift to darker coloring and I would like to try to get the coloring a bit more brighter, so it looks more similar compared to a remote view. I tried to take a good photo, but my camera is more of budget one, so the quality is not good but should be enough to see that the navigation menu is mostly in a dark blue and we can only guess purple on the bottom:
Best case would be that we get a similar visual effect on the display as seen via VNC. Though VNC will be replaced by network access in the near future.
Do you know what kind of panel your display has? Is it TFT, IPS, …?
Is it possible that the angle of view is affecting the colors? This is quite possible depending on the type of panel.
Have you tried increasing the backlight intensity?
Would you be capable of connecting the module to another type of display just to check if your display is limiting the quality of the image? If you could e.g. output your application to a desktop monitor, it would be a nice benchmark.
The display brightness is already configured to max brightness value. We may go with a brighter color palette in the UI - but it will not change the fact that it looks different via VNC and I would really like to know if there is a way to adjust colors, contrast, … in short “configure” the display from Torizon OS?
After asking internally, I was informed that color management was integrated into Weston not long ago. Seems like Weston 10 (the version available for Torizon OS 6) have “some of it”.
But it is experimental and we have no experience with it… so currently we can’t help much.
Maybe if you try a display with wider color range it could help your case?
Also, maybe you could get in touch with your display provider to get some tips about color? They could tell you what the display is capable of color-wise.
Thank you for the information. I will have a look into Weston 10 and we will also contact our display manufacturer regarding options color-wise. I just checked the display datasheet of a display we already have in production and that one scored 58.6% NTSC. So this kind of explains the difference.
It will take some time to elaborate. If I do not forget it, I will post the outcome here.