DDCcontrol Documentation Nicolas Boichat
DDCcontrol Documentation Nicolas Boichat Copyright © 2005-2006 Nicolas Boichat Abstract Documentation for DDCcontrol version 0.4.
Table of Contents 1. About DDCcontrol ............................................................................................................. 1 About DDCcontrol ........................................................................................................ 1 DDC/CI ...................................................................................................................... 1 2. Install notes .............................................................................................
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 # 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. On systems not using devfs, even after loading framebuffer and i2c-dev modules, the devices / dev/i2c/* or /dev/i2c-* does not exists. On Debian, these devices are created using this command : # /sbin/MAKEDEV i2c To allow standard (i.e.
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-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.
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 701T • SyncMaster 710T • SyncMaster 710TM • SyncMaster 712N (at least VGA input) • SyncMaster 730BF • SyncMaster 760BF • SyncMaster 910T • SyncMaster 912N (at least VGA input) • SyncMaster 920N (at least VGA input) • SyncMaster 913V • SyncMaster 930BF (at least VGA input) • SyncMaster 960BF (VGA and DVI inputs) • SyncMaster 970P (VGA and DVI inputs) • SyncMaster 997MB • GDM-5410 (Sony OEM) SUN Your monitor is not on this list? If your monitor i
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 SE ??? 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 5700 No Yes GeForce FX 5700 LE ??? Yes GeForce FX 5950 Ultra ??? Yes GeForce 6200 TC ??? Yes GeForce 6600 ??? 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 work with direct PCI memory access, so you don't have to have any kernel module built or loaded.
Supported graphics cards VIA chipset support table These VIA chipsets 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). Works Name dev PCI VIA VT8623 [Apollo CLE266] integrated CastleRock graphics No Yes VIA S3 Unichrome Pro VGA Adapter No Yes Matrox G200/G400/G450/G550 series Matrox cards only work with /dev/i2c-* devices.
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.
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 List of controls supported by a monitor (optional if you have an include element). control id attributes are defined in options.xml. If control type is “list” or “command” without default values, supported values must be defined. address attribute for control elements and value attribute for value elements are optional if they are defined in the general options file.
Documents for developers • version: indicates which version of profile format is used (must be set to 1). control attributes: • address: DDC/CI address of the control. • value: DDC/CI control value. File format:
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.