Wednesday, April 19, 2017

Making My Dell E193FP work with gddccontrol

So I have a Dell E193FP which supports DDC/CI. But gddccontrol doesn't have a monitor description file for it.

Looking at a sample file in /usr/share/ddccontrol-db/monitors, it looks pretty simple.

Here's the file for DELA010.xml



<!--xml version="1.0"?-->
<monitor name="Dell 2405FPW (DVI)" init="standard">
        <!--- vcp(page0(04 05 06 08 0E 10 12 14(01 04 05 08) 16 18 1A 1E 20 30 3E 60)) -->
        <controls>
                <control id="colorpreset" address="0x14">
                        <value id="warm"  value="0x04"/>
                        <value id="srgb"  value="0x05"/>
                        <value id="cool"  value="0x08"/>
                </control>

        </controls>
        <include file="VESA"/>
</monitor>




so it looks like the file is fairly straightforward.

For my E193FP I ran ddccontrol -c -d -p and it gave me the vcp capabilities string, and I made a file with the name of the monitor PNP code with the suffix .xml for DEL700E.xml.

sudo ddccontrol -c -d dev:/dev/i2c-1
ddccontrol version 0.4.2
Copyright 2004-2005 Oleg I. Vdovikin (oleg@cs.msu.su)
Copyright 2004-2006 Nicolas Boichat (nicolas@boichat.ch)
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.

Reading EDID and initializing DDC/CI at bus dev:/dev/i2c-1...

EDID readings:
Plug and Play ID: DEL700E [Dell Dell E193FP (VGA)]
Input type: Analog

Capabilities:
Raw output: type(LCD)vcp(04 06 08 0E 10 12 14(05 08 0b 0c) 16 18 1A 1E 20 30 3E 62 68(00 01 02 03 04) 38 39)
Parsed output:
VCP: 04 06 08 0e 10 12 14 16 18 1a 1e 20 30 38 39 3e 62 68
Type: Unknown

Controls (valid/current/max) [Description - Value name]:
Control 0x04: +/0/65535 C [Restore Factory Defaults]
Control 0x06: +/0/65535 C [Restore Factory Default Geometry]
Control 0x08: +/0/65535 C [Restore Factory Default Color]
Control 0x0e: +/50/100 C [Image Lock Coarse (Clock)]
Control 0x10: +/100/100 C [Brightness]
Control 0x12: +/75/100 C [Contrast]
Control 0x14: +/11/13 C [???]
Control 0x16: +/255/255 C [Red maximum level]
Control 0x18: +/255/255 C [Green maximum level]
Control 0x1a: +/255/255 C [Blue maximum level]
Control 0x1e: +/0/65535 C [Automatically adjust]
Control 0x20: +/50/100 C [Horizontal Position]
Control 0x30: +/32/64 C [Vertical Position]
Control 0x3e: +/52/63 C [Image Lock Fine (Clock Phase)]
Control 0x68: +/0/65535 C [???]
Control 0x9b: +/255/255 [???]
Control 0x9d: +/255/255 [???]
Control 0x9f: +/255/255 [???]


I took the vcp string and copied and pasted it into my DEL700E.xml like so, along with an include line to include the VESA.xml file as well.




<!--xml version="1.0"?-->
<monitor name="Dell Dell E193FP (VGA)" init="standard">
 <caps add="(vcp(04 06 08 0E 10 12 14(05 08 0b 0c) 16 18 1A 1E 20 30 3E 62 68(00 01 02 03 04) 38 39))"/> 
        <include file="VESA"/>
</monitor>



and copying it to the /usr/share/ddccontrol-db/monitor directory:

sudo cp -v DEL700E.xml /usr/share/ddccontrol-db/monitor/

and now gddccontrol doesn't give me a "zero" tab anymore, and I can change brightness and contrast.

Yay!

No comments:

Post a Comment