Does Apple support DDC/CI for  3rd party displays via Apple's Thunderbolt to DVI adapter I had a Dell 21.5" monitor, which was previously connected to a Windows PC via its DVI port, which has no problem with DDC/CI which allowed me to control brightness and Contrast of the attached display via Windows.

My question is: through Apple's adapter, can I control a non-Apple display within System Preferences?
I wish it were possible too, but the short answer is no, you can't use System Preferences to control the brightness of an external display via DDC/CI.

It might be feasible to write a program that can adjust the brightness of your external display, but it's by no means a sure thing. Read on if you want the gory details…



After doing a fair bit of research, I'm pretty sure that Apple doesn't use DDC/CI to control the brightness of displays, either internal or external.


The brightness of Apple Cinema Displays can only be adjusted when the USB interface is plugged in. With DDC/CI this would not be necessary.
Apple provides (though apparently does not document) an interface to display brightness through their IOKit library, specifically in ioGraphicsLib:


http://mattdanger.net/2008/12/adjust-mac-os-x-display-brightness-from-the-terminal/


…but this interface does not seem to work reliably for external displays:


http://njr.sabi.net/2006/06/20/setting-display-brightness-updated-tool/


( I read up on this a few years ago and while I can't now find a supporting link, I seem to recall that display brightness (at least for internal displays) may be delegated to Apple's System Management Controller (SMC), which has responsibility for all power-related functions: fan speed, monitoring battery level, etc. I wouldn't be surprised if Apple had implemented their own I²C control interface between the SMC and the internal display - but this is pure speculation on my part. )
It is possible to communicate with/control external displays using DDC/CI and custom software, but support for this has been broken more than once in the OS X era. DDC/CI support is also dependent on the graphics chipset and drivers used.

From http://update.necdisplay.com/spectraview/readmemac_v1_1_12_1.html:


  As of Mac OS 10.8.0, support for monitor connunications[sic] via
  DDC/CI is not functioning on some Macs, including systems with DVI
  video outputs, and when using a miniDisplayPort to DVI cable or
  adapter. NEC is working with Apple to fix this issue in a future Mac
  OS update.

DDC/CI works over I²C. Apple's IOKit library includes an I²C interface which should make it possible to write a display control program, but there are a few reports that this does not work reliably (specifically, values can be written to the monitor but not read, so you can't tell what the current brightness is):


http://lists.apple.com/archives/colorsync-users/2011/Feb/msg00026.html
http://lists.apple.com/archives/darwin-dev/2012/Jul/msg00019.html
https://stackoverflow.com/questions/11561623/i2c-communication-in-iokit-on-mac-os-x



So that's about the size of it, as far as I can tell.

If you are (or you know) an Objective-C developer, I did find a project on GitHub that you could have a look at tinkering with – however as mentioned above, even assuming the code is OK, it might not work for your combination of monitor, Mac and display drivers.