Apple Cinema Display Control Utility for Linux

SourceForge Project Page
Documentation ( Compiling -- Running -- Known Limitations -- GUI -- Tips and Tricks )


Version 0.4 is out thanks to Arne Zellentin who sent me his patchset!.
-Added option to change brightness relatively
-Fixed magic '%d' appeared in output.
-Updated help with usage examples
Some files in the tarball somehow had Windows encoding.
A lot of thanks to Veit Wahlich for building Fedora Core 6 RPMs. The other RPM-based systems may use source RPM by issuing the command
rpmbuild --rebuild acdcontrol-0.3-1.cru.src.rpm
The pre-built packages are available from the download section, too.
Version 0.3 is out.
This version supports 24" Apple Cinema Display (Thanks to Charles Lepple).
Added copying and copyright info (GPL2 text).
This post is mainly due to the kind contribution of Veit Wahlich (cru [ at ]
30" Apple Cinema HD Display support was added. Veit also created SysV init-scripts for boot-time control of one or more Apple displays. Additionally, there are pre-built RPMs for Fedora Core and CentOS/RedHat Enterprise Linux. Currently, acdcontrol RPMs are available for Fedora Core 4 only, but work well on FC5. Native FC5 RPMs will soon be available from the site mentioned below. FC3 and CentOS4/RHEL4 RPMs will be built on request, FC6 RPMs right after release.
Note: I'm not a Fedora user, but I very appreciate this kind of contribution and want to publicly thank Veit for this.
Please, visit to grab source RPMs and pre-built packages. The packages will also be available from this site, soon.
I want to stress that acdcontrol is available under GPL v.2 license.
Added multiple monitors and detection support, see the updated documentation.
Version 0.12 released.
GUI writing is started
Confirmed to work with Samsung SyncMaster 757NF. I'll continue to work on GUI to support all the standard features. It will take some time, but come back from time to time. You can also bomb the forum :) To control the brightness of a USB display other than an Apple display, you need to use --force option. This option is available in CVS version only. Today I'm too sleepy for a release, sorry.
I've got an information how to take care of other model of monitors, I hope. If this works with other monitors, I'll release a new version, soon
Initial version 0.1 released.


I've written this small utility to be able to control a wonderful Apple Cinema Display I've got recently. As there was no such software in public (at least, I did not manage to find it), I have written one. Hope, it will help somebody else. If you use this program, I'll appreciate if you'll notify me; that will mean that this piece of software isn't totally useless :).


This program would never possibly come out without valuable help of Andre Beckedorf. Andre wrote a similar software for Windows. Please, visit
Andre would like to thank to people that helped him to write his software and I'd like to join him as they helped me, too:


Whereas this documentation seems to be far from perfect, its should enable you installing and running the program fast and without problems.
However if you need an assistance, please, visit the forum and ask your question there.


First, download a tarball, save and unpack it. Then, change to directory you have unpacked files and type:
You will get an executable named acdcontrol in the current directory.

Alternatively, you can download source RPM file and issue
rpmbuild --rebuild acdcontrol-<version>.src.rpm
if you use an RPM-based system.


./acdcontrol [--silent|-s] [--brief|-b] [--help|-h] [--about|-a] [--detect|-d] [--list-all|-l] <hid device(s)> [<brightness>]


Suppress non-functional program output
Print brightness value only when in query mode, otherwise ignored.
Show short help message and quit.
Show information about the program, some credits and thanks.
Run program in the detection mode. In this mode no writes are performed to device so you can use any number of files if you are not sure that your monitor(s) are supported.
Lists all "officially" supported monitors and quits. If you do not see the device, this does not mean that it won't work it simply means that I did not tested it on such a device. I'll appreiciate if you submit your information in the forum for any display that works
hid device
device that represents your Apple Cinema display. It should be one of /dev/usb/hiddevX or /dev/hiddevX.


You must have write permissions to this device in order to control the display being user, not root. If you have no such permissions, you can either grant read/write permission to world:
chmod a+rw /dev/usb/hiddevX
or change an ownership:
chown <your user name>:users /dev/usb/hiddevX
under root. Or ask your Linux guru friend to do so ;)


It should be safe to run the program on other device than Apple Cinema/Studio display as the program checks whether the device is Apple display and warns about it.
When this option is specified, the operation is set brightness, otherwise, current brightness is retrieved. If brightness starts with '+' or '-', the current brightness is increased or decreased by that value. (Note: You have to place -- before the negative value!)
Brightness is a parameter ranged [0-255].
Note, that not every value toggles the backlight power; different Apple Display models have different granularity. I use Apple Cinema 20" (clear plastic) and I'm feeling comfortable with the value of 160. I set 0, however, to see films in the darkness. See also: --brief option and Known Limitations section.


In the following examples I assume that your HID device is /dev/hiddev0. You may have it as /dev/hiddevX or /dev/usb/hiddevX.
acdcontrol --help
Show long help message.
acdcontrol --detect /dev/hiddev*
Perform detection, which HID device is actually your display to be controlled.
acdcontrol /dev/hiddev0
Read current brightness parameter
acdcontrol /dev/hiddev0 160
Set brightness to 160. Note, that brightness setting depends on your model. Generally, this parameter may get values in the range [0-255].
acdcontrol /dev/hiddev0 +10
Increment current brightness by 10.
acdcontrol /dev/hiddev0 -- -10
Decrement current brightness by 10. Please,note --!

Known Limitations


I have also written a GUI program for controlling a display; I'll make it available to public, soon.

Tips and Tricks

After I've created this program, I've also created several aliases: nb for normal brightness (160), hb for high brightness (255) and lb for low brightness (0).

I've also created keyboard shortcuts in KDE (if you use a different DE, you can surely do it in your way) as <Win>+F12 for hight brightness, <Win>+F11 and <Win>+F10 for normal and low brightness, accordingly. I've also created shortcut <Win>+F9 to launch sleep 3; xset dpms force off and by this turn off monitor (I actually have 2; it turns off both)

If you use KDE, I think, acdcontrol can integrate into klcddimmer applet.

Note: Enable DPMS in your X configuration file (xorg or XFree86) before using xset ... as otherwise you'll just have display blank but not off! Logo