The command line tool is useful for debugging purpose, and to create automatic scripts.
We won't present everything you can do with ddccontrol, if you want more information, type:
# ddccontrol -h
This example explains how to list all available controls and then change the brightness parameter.
To list available controls, type:
# ddccontrol -p
This probes for available monitors, then takes the first probed monitor and lists controls supported by it. This should give you an output like this (this example uses a Samsung Syncmaster 173P and a nVidia GeForce FX 5700):
ddccontrol version 0.1
Copyright 2004 Oleg I. Vdovikin (oleg-at-cs.msu.su)
Copyright 2004 Nicolas Boichat (nicolas-at-boichat.ch)
Copyright 2004-2026 DDCcontrol authors and contributors (see AUTHORS and CONTRIBUTORS)
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.
Device : dev:/dev/i2c-0
Reading EDID 0x50 failed.
Device : dev:/dev/i2c-1
Device : dev:/dev/i2c-2
Detected monitors :
- Device : dev:/dev/i2c-1
DDC/CI supported : Yes
Monitor Name : Samsung SyncMaster 173P (DVI)
Input type : Digital
(Automatically selected)
- Device : dev:/dev/i2c-2
DDC/CI supported : Yes
Monitor Name : NEC Multisync 2080UX+
Input type : Analog
Reading EDID and initializing DDC/CI at bus dev:/dev/i2c-1...
Device : dev:/dev/i2c-1
EDID readings:
Plug and Play ID: SAM00E2 [Samsung SyncMaster 173P (DVI)]
Input type: Digital
= Samsung SyncMaster 173P (DVI)
> Color settings
> Brightness and Contrast
> id=brightness, name=Brightness, address=0x10, delay=-1ms, type=0
supported, value=55, maximum=100
> id=contrast, name=Contrast, address=0x12, delay=-1ms, type=0
supported, value=60, maximum=100
> id=magicbright, name=Magic Bright Mode, address=0xdc, delay=-1ms, type=2
Possible values:
> id=text - name=Text, value=1
> id=internet - name=Internet, value=2
> id=entertain - name=Entertain, value=3
> id=custom - name=Custom, value=4
supported, value=4, maximum=4
> Others
> Restore defaults
> id=defaults, name=Restore Factory Defaults, address=0x4, delay=-1ms, type=1
Possible values:
> id=default - name=Restore Factory Defaults, value=1
supported, value=0, maximum=1
> id=defaultluma, name=Restore Brightness and Contrast, address=0x5, delay=-1ms, type=1
Possible values:
> id=default - name=Restore Brightness and Contrast, value=1
supported, value=0, maximum=1
> id=settings, name=Settings, address=0xb0, delay=-1ms, type=1
Possible values:
> id=store - name=Save Current Settings, value=1
> id=restorefactory - name=Restore Factory Settings, value=2
supported, value=0, maximum=2
> Input settings
> id=inputsource, name=Input Source Select, address=0x60, delay=-1ms, type=2
Possible values:
> id=analog - name=Analog, value=1
> id=digital - name=Digital, value=3
supported, value=3, maximum=3
> Power control
> id=dpms, name=DPMS Control, address=0xd6, delay=-1ms, type=2
Possible values:
> id=on - name=On, value=1
> id=standby - name=Standby, value=4
supported, value=1, maximum=4
The lines concerning brightness in the available controls list are:
> id=brightness, name=Brightness, address=0x10, delay=-1ms, type=0
supported, value=55, maximum=100
The important elements are address (here: 0x10), current value (55) and maximum value (100).
To change the brightness value to 70/100, type:
ddccontrol -p -rThe last lines of the output should be:0x10-w70
Writing 0x10, 0x46(70)... Control 0x10: +/70/100 [Brightness]