DisplayID


DisplayID is a VESA standard for metadata describing display device capabilities to the video source. It is designed to replace E-EDID standard and EDID structure v1.4.
The DisplayID standard was initially released in December 2007. Version 1.1 was released in March 2009 and was followed by version 1.2 released in August 2011. Version 1.3 was released in June 2013 and current version 2.0 was released in September 2017.
DisplayID uses variable-length structures of up to 256 bytes each, which encompass all existing EDID extensions as well as new extensions for 3D displays, embedded displays, wide color gamut and HDR EOTF. DisplayID format includes several blocks which describe logical parts of the display such as video interfaces, display device technology, timing details and manufacturer information. Data blocks are identified with a unique tag. The length of each block can be variable or fixed to a specific number of bytes. Only the base data block is mandatory, while all extension blocks are optional. This variable structure is based on CEA EDID Extension Block Version 3 first defined in CEA-861-B.
The DisplayID standard is freely available and is royalty-free to implement.

DisplayID 2.0 structures

Version 2.0 introduces new generalized information blocks primarily intended for UltraHD high dynamic range displays, such as LCD computer monitors and LCD/OLED televisions with native support for BT.2020 color space and PQ/HLG transfer functions. It also makes optional predefined CRT/LCD timings from DMT and CEA-861 standards, switching to formula-based structures which follow VESA CVT-RB and GTF.
The base DisplayID 2.0 variable-length structure is the same for all data blocks:
Each data block starts with mandatory block tag, revision number, and payload length bytes, and has a variable length of up to 251 bytes. The following blocks are currently defined:
Block tagMandatoryNameNotes
0x00-0x1FReserved
0x20Product Identification
0x21Display ParametersPer primary use case
0x22Type VII - Detailed TimingPer primary use case
0x23Type VIII - Enumerated Timing Code
0x24Type IX - Formula-based Timing
0x25Dynamic Video Timing Range Limits
0x26Display Interface FeaturesPer primary use case
0x27Stereo Display Interface
0x28Tiled Display Topology
0x29ContainerIDFor multi-function devices
0x7EVendor specific
0x81CTA DisplayID

0x20 Product identification

0x20 Product identification block contains standard vendor and product IDs, serial number, date of manufacture and product name.
Comparing to legacy block 0x00, Microsoft ISA Plug&Play identifier is replaced with IEEE OUI, first used in the network MAC address.
Byte offsetBit/ValueDescription/Format
00x20Product Identification block tag
10Revision
212-248Number of payload bytes
3-5Manufacturer/Vendor ID
IEEE Organizationally Unique Identifier
6-7Product ID, LSB/MSB
8-11Serial number, optional
120-51, 255Week of Manufacture ; Model year tag
130, 15-255Year of Manufacture/Model Year ; Stored Value =
141-236Length of product name string
15-251Product name string, optional

0x21 Display Parameters

0x21 Display parameters block contains basic parameters such as viewable area size and pixel count, supported color depth, and factory calibrated RGB color space, white point, luminance, and gamma transfer function.
Comparing to legacy block 0x01, color calibration values have been moved here from block 0x02 and max/min luminance values have been added. Display size can be specified in 1 mm increments in addition to default 0.1 mm.

0x22 Type VII Detailed timings

0x22 Detailed timing block Type VII defines CTA-861 compatible timings based on pixel rate. This block is based on Type VI block 0x13.
Byte offsetBit/ValueDescription/Format
00x22Detailed Timing block tag
1Bits 2:0Revision: 0, 1
1Bit 2DSC support

0 = Standard descriptor

1 = Descriptors with DSC pass-through
220-240Number of payload bytes

0x23 Type VIII Enumerated timing code

0x23 Type VIII enumerated timing code block is based on Type IV DMT ID block 0x06. It provides one-byte or two-byte video mode codes as defined in VESA Display Monitor Timings standard or Video Information Codes defined by CTA-861 and HDMI.
Byte offsetBit/ValueDescription/Format
00x23Enumerated Timing Code block tag
1Bits 2:0 = 0Revision
1Bit 3Timing Code Size:

0 = one-byte descriptor

1 = two-byte descriptor
1Bits 7:6Timing Code Type:

0 = DMT

1 = CTA VIC code

2 = HDMI VIC code
21-248Number of payload bytes

0x24 Type IX formula-based timings

0x24 Type IX formula-based timings block is based on Type V short timings block 0x11.
Byte offsetBit/ValueDescription/Format
00x24Formula-based Timing block tag
1Bits 2:0 = 0Revision
26-248Number of payload bytes

0x25 Dynamic video timing range

0x25 Dynamic video timing range block is based on block 0x9h Video Timing Range Limits; the new version allows more precise definition of pixel rate in 1 kHz steps and adds indication for variable refresh rates.

0x26 Display interface features

0x26 Display interface features block describes color depth, dynamic range and transfer function supported by the display controller. It is based on blocks 0x0F Display Interface Features and 0x02 Color Characteristics.

0x27 Stereo display interface

0x27 Stereo display interface block is based on block 0x10and describes stereoscopic 3D/VR modes supported by the display.

0x28 Tiled display topology

0x28 Tiled display topology block describes displays that consist of multiple physical display panels, each driven by a separate video interface. It is based on block 0x12.

0x29 Container ID

0x29 Container ID block defines a unique identifier used to associate additional devices that may be present in a multifunctional display.
Byte offsetBit/ValueDescription/Format
00x29ContainerID block tag
1Bits 2:0 = 0Revision
216Number of payload bytes
3-18Bits 128:0ContainerID
Universally Unique Identifier

0x7E Vendor-specific data

0x7E Vendor-specific data includes proprietary parameters which are not supported by DisplayID 2.0 structures.
Byte offsetBit/ValueDescription/Format
00x7EVendor-specific block tag
1Bits 2:0Revision
23-248Number of payload bytes
3-5Manufacturer/Vendor ID
IEEE Organizationally Unique Identifier
6-224Payload bytes

Byte offsetBit/ValueDescription/Format
00x7EVendor-specific block tag
1Bits 2:0 = 1Revision
2-40x3A0292VESA OUI
5Bits 2:0Structure type:

0 = Embedded DisplayPort

1 = External DisplayPort
5Bit 7Default color space and EOTF handling:

0 = interpret "RGB unspecified color space" as sRGB color space and EOTF

1 = interpret as "native" color space, EOTF is specified in the Display Parameters block 0x21
6Bits 3:0Number of horizontal pixels overlapping an adjacent panel segment: 0-8
6Bits 6:5Multi-SST operation:

0 = 0b00 = not supported

1 = 0b01 = two streams

2 = 0b10 = four streams
7Bits 5:0Pass-through timing, integer target DSC bpp
8Bits 3:0Pass-through timing, fractional target DSC bpp

0x81 CTA DisplayID

0x81 CTA DisplayID block provides information on CTA-861 EDID timings.

DisplayID 1.3 structures

Version 1.3 information blocks 0x10-0x1F borrow heavily from EDID 1.4 standard, which was designed for previous generation CRT/LCD/DLP/PDP displays.
Byte offsetValueMandatoryDescription
00x12DisplayID Version 1, Revision 3
20-15Display Type Identifier:

0 = Extension section - same use case as the Base section

1 = Test structure

2 = Display panel

3 = Monitor

4 = Television

5 = Repeater

6 = Direct-drive monitor

The following block types are defined:
Block tagName
0x00Product Identification
0x01Display Parameters
0x02Color Characteristics
0x03Type I Timing - Detailed
0x04Type II Timing - Detailed
0x05Type III Timing - Short
0x06Type IV Timing - DMT ID Code
0x07VESA Timing Standard
0x08CEA Timing Standard
0x09Video Timing Range
0x0AProduct Serial Number
0x0BGeneral Purpose ASCII String
0x0CDisplay Device Data
0x0DInterface Power Sequencing
0x0ETransfer Characteristics
0x0FDisplay Interface Data
0x10Stereo Display Interface
0x11Type V Timing - Short
0x13Type VI Timing - Detailed
0x7FVendor specific

Note: where indicated, only the difference from similar/superseding structures in Version 2.0 are shown in the sections below.

0x00 Product identification

0x00 Product identification - superseded by 0x20. The difference is:
Byte offsetBit/ValueDescription/Format
00x00Product Identification block tag
3-5Manufacturer/Vendor ID
Microsoft ISA Plug&Play ID

0x01 Display parameters

0x01 Display parameters - superseded by 0x21. The differences are:

0x02 Color characteristics

0x02 Color characteristics - superseded by 0x21 Display parameters.

0x03 Type I Detailed Timings

0x03 Type I Detailed Timings - superseded by 0x22 Type VII Detailed Timings. The differences are:
Byte offsetBit/ValueDescription/Format
00x03Detailed Timing block tag
1Bits 2:0 = 1Revision

0x04 Type II Detailed timings

0x04 Type II Detailed timings block provides a compressed structure with less precise pixel coordinates and reduced blank intervals comparing to Type I:
Byte offsetBit/ValueDescription/Format
00x04Detailed Timing block tag
1Bits 2:0 = 0Revision
211-242Number of payload bytes

0x05 Type III Short timings

0x05 Type III Short timings block provides a very short compressed structure which uses formula-based CVT timings.
Byte offsetBit/ValueDescription/Format
00x05Short Timing block tag
1Bits 2:0 = 1Revision
26-248Number of payload bytes

0x06 Type IV Short timings

0x06 Type IV Short Timing block uses video mode codes defined in VESA Display Monitor Timings standard, as well as Video Information Codes defined by CTA-861 and HDMI. Superseded by 0x23 Enumerated Timing.
Byte offsetBit/ValueDescription/Format
00x06Type IV - Short Timing block tag
1Bits 2:0 = 1Revision
1Bits 7:6Timing Code Type:

0 = DMT

1 = CTA VIC code

2 = HDMI VIC code
21-248Number of payload bytes

0x11 Type V Short timings

0x11 Type V Short timings block is based on Type III short timings block 0x05, but provides greater pixel precision and only supports CVT-RB. Superseded by 0x24 Type IX Formula-based timings.
Byte offsetBit/ValueDescription/Format
00x11Type V - Short Timing block tag
1Bits 2:0 = 0Revision
26-248Number of payload bytes

0x13 Type VI Detailed Timing

0x13 Type VI Detailed Timing block supports higher precision pixel clock and high-resolution timings. This block is based on Type I block 0x03, but allows greater timings precision using 1 kHz steps instead of 10 kHz. Superseded by 0x22 Type VII Detailed Timings.
Byte offsetBit/ValueDescription/Format
00x13Type VI Detailed Timing block tag
1Bits 2:0 = 0Revision
2Number of payload bytes

0x09 Video timing range limits

0x09 Video timing range limits block describes displays capable of variable timings. Superseded by 0x25 Dynamic video timings range.

0x0C Display device data

0x0C Display device data block provides information about display panel characteristics for embedded applications, such as display technology, panel type, and pixel response times.

0x0F Display interface data

Display interface features block - superseded by 0x26 Display Interface Features.

Additional blocks

Data blocks not described above are:
0x0A Serial Number Data block provides product serial number as an ASCII string.
0x0B General Purpose ASCII String block provides general purpose text strings that may be required by specific applications.
0xD0 Interface Power Sequencing block defines display interface signal timings required for entering and exiting sleep mode.
0x0E Transfer Characteristics block defines detailed gamma curves according to VESA Display Transfer Characteristic Data Block standard, as may be required by Byte 1 in 0x02 Color characteristics block.
0x10 Stereo Display Interface block describes stereoscopic 3D/VR modes - superseded by 0x27 Stereo display interface.
0x12 Tiled Display Topology data block defines multi-panel displays - superseded by 0x28 Tiled Display Topology.
0x7F Vendor specific block defines proprietary vendor data.