[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