DDCcontrol Documentation Nicolas Boichat
DDCcontrol Documentation Nicolas Boichat Copyright © 2005 Nicolas Boichat Documentation for DDCcontrol version 0.3.
Table of Contents 1. About DDCcontrol ............................................................................................. 1 About DDCcontrol ........................................................................................ 1 DDC/CI ...................................................................................................... 1 2. Install notes ...................................................................................................... 2 Software Requirement ...............
Chapter 1. About DDCcontrol About DDCcontrol DDCcontrol is a tool used to control monitor parameters, like brightness and contrast, without using the OSD (On Screen Display) and the buttons in front of the monitor. All the software provided by monitor manufacturers (NEC/Mitsubishi NaviSet and Samsung MagicTune) are closed-source and only runs on Windows. DDCcontrol is open-source and runs on Linux. There is two versions of this tool, a command line version, and an user-friendly Gnome GUI.
Chapter 2. Install notes Software Requirement To compile and run DDCcontrol, you need to have these packages installed: • libxml2 [http://www.xmlsoft.org/] • pci-utils [http://atrey.karlin.mff.cuni.cz/~mj/pciutils.shtml] • gtk+>=2.4 [http://www.gtk.org/] In addition to the library packages, you also need the development packages, which are not usually installed. For example, on Debian, their names are libxml2-dev, pciutils-dev and libgtk2.0-dev.
Install notes If your graphics card is supported by /dev/i2c-* devices (see Appendix C, Supported graphics cards), you must load the i2c-dev module by typing, as root: # modprobe i2c-dev You must also load your graphics card framebuffer driver (for card-specific instructions see Appendix C, Supported graphics cards). If you want to automatically load these modules when Linux starts, see your distribution's documentation.
Chapter 3. Usage GTK+ GUI If GTK+>=2.4 is installed on your computer, the configure process will detect it, and build the GTK+ application. The GTK+ GUI is designed to be user-friendly, so it should be easy to use it. To launch this GUI, simply type: # gddccontrol Gnome panel applet If Gnome>=2.10 is installed on your computer, the configure process will detect it, and build the Gnome panel applet. The Gnome panel applet is useful to switch between different monitor profiles created with the GTK+ GUI.
Usage Device : pci:01:00.0-2 Detected monitors : - Device : pci:01:00.0-1 DDC/CI supported : Yes Monitor Name : Samsung SyncMaster 173P (DVI) Input type : Digital (Automatically selected) - Device : pci:01:00.0-2 DDC/CI supported : Yes Monitor Name : NEC Multisync 2080UX+ Input type : Analog Reading EDID and initializing DDC/CI at bus pci:01:00.0-1... Device : pci:01:00.
Usage 6
Appendix A. Report problems and successes If you have problems building or running DDCcontrol, if your monitor doesn't work with DDCcontrol, or if your graphics card is not listed in the Appendix C, Supported graphics cards, please write a message to ddccontrol-users@lists.sourceforge.net [mailto:ddccontrol-users@lists.sourceforge.net]. For more informations on ddccontrol mailing lists, see the sourceforge project page [http://sourceforge.net/mail/?group_id=117933].
Appendix B.
Supported monitors • SyncMaster 712N (at least VGA input) • SyncMaster 912N (at least VGA input) • SyncMaster 930BF (at least VGA input) • SyncMaster 997MB Your monitor is not on this list? If your monitor is not on this list, and so doesn't work with DDCcontrol, but you think that it supports the DDC/CI protocol, please run this command: LANG= LC_ALL= ddccontrol -p -c -d And send the output to one of the DDCcontrol mailing lists (see Appendix A, Report problems and successes).
Appendix cards C. Supported graphics /dev/i2c-* versus PCI memory To control a monitor, DDCcontrol must access to the I2C bus of the graphics card. There are two methods to do so: the first one uses /dev/i2c-* devices provided by kernel drivers (abbreviated by dev in tables), the second one reads and writes directly in the card PCI memory (abbreviated by PCI in the tables). Depending on your hardware, one method or the other works, or even both.
Supported graphics cards Works Name dev PCI Radeon 9200 Yes ??? Radeon 9500 Yes ??? Radeon 9550 SE Yes ??? Radeon 9600 Pro Yes ??? Radeon 9700 Yes ??? Radeon 9800 Pro Yes Yes nVidia Direct PCI memory access support Almost every nVidia cards work with direct PCI memory access, and this method is compatible with the nVidia proprietary drivers. To use it, you have nothing special to do, everything is done by DDCcontrol.
Supported graphics cards Works Name dev PCI GeForce FX 5600 No Yes GeForce FX 5700 No Yes GeForce FX 5700 LE ??? Yes GeForce FX 5950 Ultra ??? Yes GeForce 6200 TC ??? Yes GeForce 6800 GT ??? Yes nForce 2 IGP No No Intel i810/i815/i830/i845/i855/i865/i915/i945 with Integrated Graphics Controller Intel integrated graphics controllers only works with direct PCI memory access, so you don't have to have any kernel module built or loaded.
Supported graphics cards Matrox cards support table These Matrox cards have been reported to work. If yours is not listed, please send a message to one of the DDCcontrol mailing lists (see Appendix A, Report problems and successes).
Appendix D. Thanks Thanks to Oleg I. Vdovikin, for his work which was used as a basis for ddccontrol, and for his help when designing the XML database. Thanks to Christian Schilling, for his nice additions to the Gnome GUI, and for the Gnome panel applet. Thanks to William Hollingworth, of NEC/Mitsubishi, for his constant help and support to this project. Thanks to Chernyavskyy Valentin, for testing Intel graphics chipset support. Thanks to all users that reported if DDCcontrol works on their hardware.
Appendix developers E. Documents for Monitor database structure The monitor database is written in XML, it can be found in the db directory of ddccontrol-db package. This directory contains the following files: • options.xml • monitor/%monitor_id%.xml Control list XML file: options.xml control elements (e.g. “brightness”) are contained in group elements (e.g. “color settings”). group and subgroup elements allow the GUI to separate the controls in different branches on the tree.
Documents for developers • • “command”: An action occurs when the value is set to something greater than “0” (e.g. degauss). If you don't define any value element in a command control, the default value “0x01” will be used. • “list”: The control accepts a list of values (e.g. OSD language). refresh (only for list and command controls): Set whether other controls must be refreshed after changing list value or running the command associated with the control (optional).
Documents for developers following: • If caps is not defined, caps are read from monitor. • If this attribute exists and have a “vcp” string (e.g. “type(lcd) vcp(10 12)”) then the specified caps string is used. • If this attribute exists but does not have a “vcp” (e.g. “type(crt)” or “”), then all controls defined in the monitor profile are supposed to be supported. You can set a delay attribute in control elements to set the time in milliseconds to wait after changing the value of this control.
Documents for developers
Appendix F. GNU General Public License Version 2, June 1991 Copyright © 1989, 1991 Free Software Foundation, Inc. Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Version 2, June 1991 Preamble The licenses for most software are designed to take away your freedom to share and change it.
GNU General Public License everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION Section 0 This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License.
GNU General Public License not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works.
GNU General Public License prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
GNU General Public License If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
GNU General Public License If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License.