acdctl is a very simple program that can use the USB interface to
an Apple Cinema Display to control the backlight.

acdctl requires libusb to be installed before compiling.  It is a very
simple program.  It makes use of the fact that the Apple display makes
itself available as an HID 'display' device.  I've only tried this with
my Apple 23 inch HD display, but it should work with others.  However,
you will have to modify the productid and/or the vendor codes used.


There are three 'experimental' values listed in --help, these are announced
by the ACD via the HID interface, however I don't know what they're for.
I know that one of them x231 can be set to any value in 0..3, and x214
claims it can be set to values 0..4, however attempts to set 214 on my
display are not 'saved'.  x231 does nothing to my display.  Finally x228
claims to be an input with values from 0 to 255, but I have been unable
to read or write this value.  I would like to hear what anyone may know
about these extended display controls.


INSTALLATION

 All that needs to be done is the compilation of the acdctl program and
then copying it to somewhere useful.  The install target will build and
then install to /usr/local/sbin.

 # make install

NOTE: You need to have the 'development' version of libusb installed, not
just the runtime libraries.

USAGE

 To see if your display is supported, run the following command:

 $ acdctl --list

 If your display is supported and found, it will be listed.  If not, then
you can try manually specifying the vendor/product ids using the following
command:

 # acdctl --vendor <vendorid> --product <productid> --list

 You can find the vendor and product ids using the 'lsusb' command which
usually comes with libusb.  Note that apple displays often show up as
having multiple product ids, only one represents the display itself,
the others are usually the buttons on the display and the usb hub built
into the unit.

 Your display should then show up as being detected.  Now you can view
the current brightness setting and modify it if desired.

 # acdctl --brightness
  Current brightness of display at 002:008 = 127
 # acdctl --brightness=150

It's that easy.

If you do end up finding new vendor/product ids that work with acdctl,
the author would greatly appreciate it if you would send them to the
address below.  Please include the monitor make/model as well if known.


If you have any questions, thoughts, concerns, or bugs please email the author.

This program's primary distribution location is
http://www.technocage.com/~caskey/acdctl/

Caskey L. Dickson
http://www.technocage.com/~caskey/
<caskey@technocage.com>
