Setting brightness on a HDMI display


I am looking to control the brightness of a HDMI display from my application.
To control the brightness I try to use the ‘xrandr’ command. Using ‘xrandr’ on a PC (with the same display) I am able to set the screen brightness, but when I try from the Apalis the command has no affect. The following command runs without outputting any errors, but has no affect:

xrandr --output 'DISP3 BG' --brightness 0.5

‘xrandr’ detects the screen no problem:-

root@apalis-imx6:~# xrandr -q
Screen 0: minimum 240 x 240, current 1280 x 720, maximum 8192 x 8192
DISP3 BG connected primary 1280x720+0+0 (normal left inverted right x axis y axis) 0mm x 0mm

Can anyone see what I am doing wrong?

Should ‘xrandr’ brightness setting work on the Apalis?

Or is there an alternative method for controlling the screen brightness?

Thanks for your time.



Please note that xrandr --brightness will only ever change the software brightness rather than the “real” backlight brightness. This also only works if the graphics driver supports such functionality. As far as I know, while the i.MX 6 SoC does have a Colour Space Conversion aka CSC unit, which may be used for something like that, this is not implemented by default. Which is probably why you are not seeing any effect.

Unfortunately, changing a HDMI screen’s “real” backlight brightness is something quite device specific. There exist certain DDC/EDID extension or may be done via CEC. However, so far there is, unfortunately, no easy standard way to do it. So you would first have to figure out what exact method would be supported by your particular screen upon which one may try to find out how that could be integrated.

Note that most “Embedded” displays like parallel RGB or LVDS ones usually allow for setting the backlight brightness via PWM. Embedded Display Port aka EDP displays utilise a special AUX channel for this.