client side ddc/ci

Kai-Uwe Behrmann ku.b at
Wed Dec 2 01:39:59 PST 2009

Am 02.12.09, 10:17 +0100 schrieb Xavier Bestel:
> On Wed, 2009-12-02 at 19:07 +1000, Dave Airlie wrote:
>>> how would one talk with a monitor over DDC/CI on a user side, non root
>>> application. I would like to do monitor gamma curves I/O, EDID polling and
>>> other non standard communication.
>>> The /dev/i2c-xxx device nodes are root access only on my system. I can
>>> chmod them with o+rw, but thats shurely not the general solution.
>>> What is a good place to start with in Xorg?
>>> I have seen the ddc/XF64DDC.[h,c] and i2c/xf86i2c.[h,c] modules in the
>>> server. Is already one of those APIs exposed?
>>> As I understand, the root windows or xrandr output EDID atom is a one time
>>> thing and too static for my needs.
>> You'd need to add protocol for the client side apps to talk to the X server,.
>> you could possibly do this with xrandr properties or extending xrandr,
>> then drivers would have to talk to the i2c via X i2c or kernel i2c in kms case.
> Have a look at for a working
> implementation that bypasses the X server (although as says Dave, going
> through Xrandr looks like the right thing to do).

ddccontrol uses /dev/i2c-xxx, so the problem of non root access remains
with that library. Otherwise it seems very fine.

kind regards
Kai-Uwe Behrmann
developing for colour management +

More information about the xorg mailing list