[Q] Software control of LCD backlight?

Hal V. Engel hvengel at astound.net
Fri Aug 10 11:05:40 PDT 2007


On Friday 10 August 2007 07:26, Xavier Bestel wrote:
> On Fri, 2007-08-10 at 09:05 -0500, Pat Kane wrote:
> > Is it possible to vary the intensity of the backlight on
> > modern LCD panels (e.g. Dell 17'') from software
> > such as the X server?
>
> Yes, there is http://ddccontrol.sourceforge.net/ which should do it.
> This kind of thing should be handled by RandR imho, but apparently the
> monitors don't follow a common spec.
>
> 	Xav

The "spec" is really two specifications from VESA called DDC/CI (the 
communication protocol) and the Monitor Control Command Set (the op codes 
that can be passed to the device).  So there are a number of things like 
monitor luminosity, RGB channel gains... that are part of VESA DDC/CI and the 
Monitor Control Command Set specifications.  Therefore if you have a monitor 
that supports DDC/CI along with a video card and driver that support it an 
application like ddccontrol should work for those things that are in the VESA 
specifications and are supported by the monitor (IE. much of the basic 
stuff).  

Apparently it is OK for a monitor to support either a subset or a superset of 
the the VESA specifications.  Many monitors do support supersets and some 
vendors even go as far as implementing some of the basic controls as part of 
a superset and not implementing those controls in the standard way because 
they believe that they get a proprietary advantage from doing this.  
Unfortunately none of these vendors have published the interface 
specifications for these devices and the only way to figure out these 
extensions is by probing the device to get a list of extensions and then 
trying each extension to see what it does.

So far the only platform that provides a native DDC/CI API is Vista.  How much 
of the VESA specification is exposed in the Vista API is something I don't 
know since the specifications are not available to the public without paying 
a substantial fee ($350/document and you need two documents to fully define 
the standard).   But apparently the Vista developers felt that what they 
exposed was enough to be useful and that they could figure out how to make 
this work with most monitors that support DDC/CI.  I don't know much about 
how this works on Vista but I suspect that Microsoft expects vendors of 
DDC/CI capable monitors to include hooks of some sort in the 
monitor “driver”. 

It is apparent that the situation with DDC/CI is not a good one.  It is also 
apparent that most of the monitor vendors don't seem to mind the current 
situation since the DDC/CI specification has been through several revision 
cycles and so far the problems have not been rectified.  

To make things even worse there is also the USB HID Monitor specification 
which does the same basic thing but using a USB connection to the monitor. At 
least in this case there is a publicly available specification for the 
communications protocol.  Please see  the link  here 
http://www.usb.org/developers/hidpage/ for details.  This specification is 
supported by some vendors such as the Eizo and Apple among others.  This 
specification appears to use the same op codes as specified by VESA in the 
Monitor Control Command Set.

At some point most monitors will stop providing front panel controls and 
require a software interface for making these adjustments.  Therefore in the 
long run this functionality does belong somewhere in the X server and I guess 
that RandR is as good a place as any.  But there will be significant issues 
getting a good implementation of this in place.  Personnaly I would like to 
see this sooner rather than later.

Hal



More information about the xorg mailing list