Notes on Specific Monitors

The following list describes some monitors that have been tested. It highlights the variability in DDC implementation among monitors.

AOC Q2775

VCP Version: 2.2
Controller Manufacturer: Mstar
Controller Model: mh=0xff, ml=0x16, sh=0x00
Firmware version: 0.7
Manufacture year: 2016

Feature x0B: Color temperature increment: 100 deg Kelvin
Feature x0C: Color temperature request: 100
Caclculated color temperature = 3000 + 100 * 100 = 3000+10000 = 13000 deg Kelvin (nonsensical)

Capabilities string has controller manufacturer name in model() field.

Apple Cinema Display A1082

Has both I2C and USB interfaces.

VCP Version: 2.0
Controller Manufacturer: unspecified
Controller Model: unspecified
Firmware version: unspecified
Manufacture year: 2005

I2C interface has more VCP features than USB interface.

USB interface does not report VCP version (feature DF).

Able to read EDID over USB.

Capabilities string does not begin and end with parentheses.

Asus VE247

VCP version: 2.0
Controller Manufacturer: RealTek
Controller Model: mh=x00, ml=x24, sh=x82
Firmware version: 2.0
Maufacture year: 2010

Responds to unknown VCP codes using the DDC NULL message instead of setting the Unsupported VCP code bit in the GETVCP response.

Sensible responses to VCP codes x0B and x0C.

BenQ XL2411Z

VCP version: 2.2
Controller Manufacturer: Mstar
Controller Model: mh=x00 mh=x00, ml-x85, sh=x56
Firmware version: 2.1
Manufacture year: 2013

Feature x0B: Color temperature increment: 50 deg Kelvin
Feature x0C: Color temperature request: 0
Caclculated color temperature = 3000 + (0*50) = 3000 deg Kelvin (nonsensical)

Responds to VCP feature x60 (Input Source) even though this is not documented in the capabilities string.

Dell P2411

VCP version: 2.1
Controller Manufacturer: Mstar
Controller Model: mh=x00, ml=x00, sh=x56
Firmware version: 1.1
Manufacture year: 2011

Lots of I2C errors. Heavily dependant on retries. The CAPABILITIES command sometimes fails, even with maximum retries. More recently, works with nouveau driver, but fails with proprietary Nvidia driver.

Reports VCP code 0B (color temperature increment) as 1 degree Kelvin, which makes the GETVCP response to VCP code 0C (color temperature request) nonsensical.

Dell P2715Q

VCP version: 2.1 Controller Manufacturer: Mstar (sl=x05) Controller Model: mh=x00, ml=x00,x sh=x56
Firmware version: 2.1 Manufacture year: 2015

Feature x0B, Color temperature increment: unsupported
Feature x0C, Color temperature request: unsupported

very clean, no DDC retries needed

Dell Ultrasharp 1905FP

Does not support DDC.

Dell Ultrasharp U2413

VCP version: 2.1 Controller Manufacturer: STMicroelectronics (sl=x0d)
Controller Model: mh=x00, ml=x93, sh=x01
Firmware version: 2.1
Manufacture year: 2013

This monitor has a hardware LUT, however LUT loading not supported using standard VCP feature codes.

Responds to VCP feature xc0 (Display Usage Time), but returns 0.

Color temperature:
color temp increment (feature 0B): unsupported color temp request (feature 0C): unsupported

Dell U3011

VCP version: 2.1
Controller manufacturer: Mstar
Controller Model: mh=x00, ml=x94, sh=x85
Firmware version: 1.5
Manufacture year: 2012

If a value is set using SETVCP, the new value takes effect and appears in the on-screen display. However, GETVCP sometimes still retieves the old value, not the new one.

Reports VCP code x0B (color temperature increment) as 1 degree Kelvin, which makes the GETVCP response to VCP code x0C (color temperature request) nonsensical.

Color temperature:
color temp increment (feature 0B): 1 deg K
color temp request (feature 0C): 2 calculated color temp = 3000 + (x0c_val * x0b_val) = 3000 + (1 * 2) = 3002 degrees Kelvin

Dell Ultrasharp U3415W

VCP version: 2.1
Controller manufacturer: Realtek (sl=x09)
Controller Model: mh=x00, ml=x11, sh=x11
Firmware version: 65.1
Manufacture year: 2015

Neither feature 0B (color temperature increment) or 0C (color temperature request) are listed in the capabilities string. However, querying feature 0B does work. Querying feature 0C fails.

Color temperature:
color temp increment (feature 0B): 100 deg K
color temp request (feature 0C): query fails

Eizo Coloredge CG19

VCP version: unreported
Controller manufacturer and model: unreported (VCP feature code C8 unsupported)
Firmware version: unreported (VCP feature code C9 unsupported)

Reports EDID at I2C bus address x50. Does not support DDC over I2C (bus address x37).

Does implement MCCS over USB, and appears to conform to the USB Monitor Control Class Specification. However, it appears that the more sophisticated monitor features such as LUT loading use manufacturer specific USB HID reports.

Unable to read EDID over USB, even though the HID Report for EDID can be located.

To set color related VCP feature values, Custom Color mode must be selected. If set to sRGB or Calibrated, the SETVCP command will appear to succeed, but will have no effect. (In sRGB mode, Brightness can be set, in Calibrated mode it cannot.)

Gateway Diamondtron VX920

VCP version: Unspecified, implies 1.0
Controller manufacturer and model: Unknown (VCP feature code C8 unsupported)
Firmware version: Unknown (VCP feature code C9 unsupported)

Hanns G Hi221D

VCP version: 2.1
Controller manufacturer: Mstar
Controller model: mh=x00, ml=x92, sh=x00
Firmware version: 0.6

All GETVCP requests return a value, whether or not the feature is valid for the monitor. The monitor never reports a feature as unsupported.

HP LP1965

VCP version: 2.0
Controller manufacturer: Undocumented value: x64
Controller model: mh=xff, ml=xff, sh=x86
Firmware version: 0.3
Manufacture year: 2007

Capabilities reports non-standard DDC command x4E.

Color temperature:
color temp increment (feature 0B): 50 deg K
color temp request (feature 0C): 70
calculated color temp = 3000 + (x0c_val * x0b_val) = 3000 + (70 * 50) = 6500 degrees Kelvin

HP LP2475w

VCP version: 2.1
Controller manufacturer: Genesis
Controller model: mh=xff ml=xff sh=x80 Firmware version: 0.31
Manufacture year: 2008

Color temperature:
color temp increment (feature 0B): 3000 deg K
color temp request (feature 0C): 1
calculated color temp = 3000 + (x0c_val * x0b_val) = 3000 + (1 * 3000) = 6000 degrees Kelvin

LUT loading not supported using standard VCP feature codes.

Implements MCCS over USB as well as I2C. However, the USB implementation appears to be non-standard. It does not conform to the USB Monitor Control Class Specification.

HP LP2480zx

VCP version: 2.1
Controller manufacturer: Genesis
Controller Model: mh=xff, ml=xff, sh=x80
Firmware version: 0.139
Manufacture year: 2008

Heavily reliant on manufacturer specific VCP codes. Most color related features, including loading the internal LUT, are not supported using standard VCP feature codes.

Implements MCCS over USB as well as I2C. However, the USB implementation appears to be non-standard. It does not conform to the USB Monitor Control Class Specification.

Sensible reponses to VCP codes 0B and 0C.

Capabilities string does not match actual capabilities observed. For example, capaibilites does not include VCP feature code x10, brightness, which is recognized by getvcp and setvcp.

Values in capabilities string for feature 60 is a mixture of hex and decimal values, i.e.

 01 02 03 04 05 07 0C 13 14 15 17 1C

Should be:

 01 02 03 04 05 07 0C 0D 0E 0F 11 ??

Capabilities string does include cmds() segment listing supported commands, or model() segment listing model.

HP w2207

VCP Version: 2.1
Controller manufacturer: Mstar
Firmware Version: 3.5
Manufacture year: 2007

Color temperature increment (feature x0B) and request (feature x0C) result in a color temperature of 13,000 degress Kelvin

Responds with data to all VCP feature requests, never reports a feature as unsupported

HP ZR2740w

VCP version: 2.2

Implements only a few VCP codes.

VCP feature codes 0B and 0C unsupported.

Iilyama PL2779Q

VCP Version: 2.1
Controller manufacturer: unknown (feature code xC8 unsupported)
Firmware version: unknown (feature code xC9 unsupported)
Manufacture year: 2013

Color temperature increment (feature x0B) and request (feature x0C) result in a color temperature of 26,100 degress Kelvin

Does not include command x02 (VCP Response) or xE3 (Capabilities Reply) in its capabilities string, even though these are supported.

Responds to several VCP feature not listed in capabilities

LG Ultrawide

VCP version: 2.1
Controller manufacturer and model: STK
Firmware version: 0.1
Manufacture year: 2014

Feature codes are not separated by blanks in the vcp() section of the capabilities string.

No serial number in the EDID.

When responding to a Get VCP Feature request, the monitor never sets sets the Result Code field of the VCP Feature Reply to Unsupported VCP Code. Instead, it always reports No Error.
For unsupported VCP codes, all bytes in the response (MH, ML, SH, SL) are set to x00.

NEC LCD3090WQXi

VCP Version 2.0
Controller manufacturer and model: unreported (VCP feature code C8 unsupported)
Firmware version: unreported (VCP feature code C9 unsupported)

NEC PA241

VCP Version 2.0
Controller manufacturer and model: unreported (VCP feature code C8 unsupported)
Firmware version: unreported (VCP feature code C9 unsupported)

Implements both I2C and USB interfaces.

Makes heavy use of manufacturer specific VCP feature codes. Also, ddcutil capabilities --verbose reports numerous manufacturer specific DDC commands The USB interface also makes heavy use of manufacturer specific usage codes.

Monitor must be set to ??? to allow changes.

VCP code x0c (Color Temperature Request) returns 0, which is nonsensical.

Does not use the usual VCP codes (.e.g. x16/Red Gain) for color control. Instead uses the 6 axis color control features x8c..xa0.

Phillips BDM3270

VCP Version: 2.2 Controller manufacturer: Novatek, model info: mh=xff, ml=xff, sh=x00 Firmware version: 1.0 Manufature year: 2016

Color temperature increment (VCP code x0B) = 50 degrees Kelvin (sensible)
Color temperature request (VCP code x0C) yields a calculated color temperator of 3000+(70*50) = 6500 degrees Kelvin

Phillips BDM4037U

VCP Version: 2.2
Controller manufacturer: Realtek (sl=x09), Controller model: mh=x00, ml=x00, sh=x00
Firmware version 0.1
Manufacture year: 2016

color temp increment (feature 0B): 100 deg K
color temp request (feature 0C): 70 -> 3000+(70*100) = 10000 deg K

DDC communication clean, no need for retries

Samsung S32D850

Manufacture year: 2015 VCP Version: 2.0 Controller manufacturer: Mstar, controller number: mh=x00, ml=x10, sh=x00 Firmware version: 0.1

Capabilites request returns a 0 length string.

Features x0B and X0C are unsupported. Cannot calculate color temperature.

Has no serial number in EDID

Samsung Syncmaster 213T

Does not support DDC.

Samsung Syncmaster 730B

VCP version: Unspecified, implies 1.0
Controller manufacturer and model: Unknown (VCP feature code C8 unsupported)
Firmware version: Unknown (VCP feature code C9 unsupported)

The capabilities string spcifies the values for non-continuous features in decimal rather than hexadecimal

VCP feature codes 0B and 0C unsupported.