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 tag | Mandatory | Name | Notes |
0x00-0x1F | Reserved | ||
0x20 | Product Identification | ||
0x21 | Display Parameters | Per primary use case | |
0x22 | Type VII - Detailed Timing | Per primary use case | |
0x23 | Type VIII - Enumerated Timing Code | ||
0x24 | Type IX - Formula-based Timing | ||
0x25 | Dynamic Video Timing Range Limits | ||
0x26 | Display Interface Features | Per primary use case | |
0x27 | Stereo Display Interface | ||
0x28 | Tiled Display Topology | ||
0x29 | ContainerID | For multi-function devices | |
0x7E | Vendor specific | ||
0x81 | CTA 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 offset | Bit/Value | Description/Format |
0 | 0x20 | Product Identification block tag |
1 | 0 | Revision |
2 | 12-248 | Number of payload bytes |
3-5 | Manufacturer/Vendor ID IEEE Organizationally Unique Identifier | |
6-7 | Product ID, LSB/MSB | |
8-11 | Serial number, optional | |
12 | 0-51, 255 | Week of Manufacture ; Model year tag |
13 | 0, 15-255 | Year of Manufacture/Model Year ; Stored Value = |
14 | 1-236 | Length of product name string |
15-251 | Product 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 offset | Bit/Value | Description/Format |
0 | 0x22 | Detailed Timing block tag |
1 | Bits 2:0 | Revision: 0 , 1 |
1 | Bit 2 | DSC support0 = Standard descriptor1 = Descriptors with DSC pass-through |
2 | 20-240 | Number 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 offset | Bit/Value | Description/Format |
0 | 0x23 | Enumerated Timing Code block tag |
1 | Bits 2:0 = 0 | Revision |
1 | Bit 3 | Timing Code Size:0 = one-byte descriptor1 = two-byte descriptor |
1 | Bits 7:6 | Timing Code Type:0 = DMT1 = CTA VIC code2 = HDMI VIC code |
2 | 1-248 | Number 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 offset | Bit/Value | Description/Format |
0 | 0x24 | Formula-based Timing block tag |
1 | Bits 2:0 = 0 | Revision |
2 | 6-248 | Number 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 0x10
and 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 offset | Bit/Value | Description/Format |
0 | 0x29 | ContainerID block tag |
1 | Bits 2:0 = 0 | Revision |
2 | 16 | Number of payload bytes |
3-18 | Bits 128:0 | ContainerID Universally Unique Identifier |
0x7E Vendor-specific data
0x7E
Vendor-specific data includes proprietary parameters which are not supported by DisplayID 2.0 structures.Byte offset | Bit/Value | Description/Format |
0 | 0x7E | Vendor-specific block tag |
1 | Bits 2:0 | Revision |
2 | 3-248 | Number of payload bytes |
3-5 | Manufacturer/Vendor ID IEEE Organizationally Unique Identifier | |
6-224 | Payload bytes |
Byte offset | Bit/Value | Description/Format |
0 | 0x7E | Vendor-specific block tag |
1 | Bits 2:0 = 1 | Revision |
2-4 | 0x3A0292 | VESA OUI |
5 | Bits 2:0 | Structure type:0 = Embedded DisplayPort 1 = External DisplayPort |
5 | Bit 7 | Default color space and EOTF handling:0 = interpret "RGB unspecified color space" as sRGB color space and EOTF1 = interpret as "native" color space, EOTF is specified in the Display Parameters block 0x21 |
6 | Bits 3:0 | Number of horizontal pixels overlapping an adjacent panel segment: 0-8 |
6 | Bits 6:5 | Multi-SST operation:0 = 0b00 = not supported 1 = 0b01 = two streams 2 = 0b10 = four streams |
7 | Bits 5:0 | Pass-through timing, integer target DSC bpp |
8 | Bits 3:0 | Pass-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 offset | Value | Mandatory | Description |
0 | 0x12 | DisplayID Version 1, Revision 3 | |
2 | 0-15 | Display Type Identifier:0 = Extension section - same use case as the Base section1 = Test structure 2 = Display panel3 = Monitor4 = Television5 = Repeater6 = Direct-drive monitor |
The following block types are defined:
Block tag | Name |
0x00 | Product Identification |
0x01 | Display Parameters |
0x02 | Color Characteristics |
0x03 | Type I Timing - Detailed |
0x04 | Type II Timing - Detailed |
0x05 | Type III Timing - Short |
0x06 | Type IV Timing - DMT ID Code |
0x07 | VESA Timing Standard |
0x08 | CEA Timing Standard |
0x09 | Video Timing Range |
0x0A | Product Serial Number |
0x0B | General Purpose ASCII String |
0x0C | Display Device Data |
0x0D | Interface Power Sequencing |
0x0E | Transfer Characteristics |
0x0F | Display Interface Data |
0x10 | Stereo Display Interface |
0x11 | Type V Timing - Short |
0x13 | Type VI Timing - Detailed |
0x7F | Vendor 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 offset | Bit/Value | Description/Format |
0 | 0x00 | Product Identification block tag |
3-5 | Manufacturer/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 offset | Bit/Value | Description/Format |
0 | 0x03 | Detailed Timing block tag |
1 | Bits 2:0 = 1 | Revision |
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 offset | Bit/Value | Description/Format |
0 | 0x04 | Detailed Timing block tag |
1 | Bits 2:0 = 0 | Revision |
2 | 11-242 | Number 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 offset | Bit/Value | Description/Format |
0 | 0x05 | Short Timing block tag |
1 | Bits 2:0 = 1 | Revision |
2 | 6-248 | Number 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 offset | Bit/Value | Description/Format |
0 | 0x06 | Type IV - Short Timing block tag |
1 | Bits 2:0 = 1 | Revision |
1 | Bits 7:6 | Timing Code Type:0 = DMT1 = CTA VIC code2 = HDMI VIC code |
2 | 1-248 | Number 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 offset | Bit/Value | Description/Format |
0 | 0x11 | Type V - Short Timing block tag |
1 | Bits 2:0 = 0 | Revision |
2 | 6-248 | Number 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 offset | Bit/Value | Description/Format |
0 | 0x13 | Type VI Detailed Timing block tag |
1 | Bits 2:0 = 0 | Revision |
2 | Number 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 by0x26
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.