DisplayID is a VESA standard for metadata describing display device capabilities to the video source. It is designed to replace E-EDID standard.

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, version 2.0 was released in September 2017. Current version of the standard is 2.1a, released in March 2024VESA DisplayID Standard, Version 2.1a. March 18, 2024.

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 (HDR) displays, such as LCD computer monitors and LCD/OLED televisions with native support for BT.2100 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:

+ Variable-length DisplayID section structure, version 2.0VESA DisplayID Standard, Version 2.0. September 11, 2017 Byte offset Value Mandatory Description 0 0x20 DisplayID Version 2, Revision 0 1 0–251 Length of the variable data block 2 0–15 Display primary use case (reserved in the extension sections): 0 = Extension section – same use case as the Base section 1 = Test structure (generated by testing equipment) 2 = Generic 3 = Television 4 = Productivity 5 = Gaming 6 = Presentation 7 = Virtual reality 8 = Augmented reality 3 Extension count (reserved in the extension sections) 4 Data blocks (N bytes) (N+4) Checksum

Each data block starts with mandatory block tag, revision number (0-7), and payload length (0-248) bytes, and has a variable length of up to 251 bytes. The following blocks are currently defined:

+ Data block types Block tag Mandatory Name Notes0x00–0x1F Reserved (legacy 1.0 data blocks) 0x20 Product Identification 0x21 Display Parameters Per primary use case0x22 Type VII – Detailed timing Per primary use case0x23 Type VIII – Enumerated Timing Code 0x24 Type IX – Formula-based Timing 0x25 Dynamic video timing range Limits 0x26 Display Interface Features Per primary use case0x27 Stereo Display Interface 0x28 Tiled Display Topology 0x29 ContainerID For multi-function devices0x7E 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.

+ Product Identification block 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 (OUI) 6–7 Product ID, LSB/MSB 8–11 Serial number, optional 12 0–51, 255 Week of Manufacture (0=unspecified); Model year tag (255) 13 0, 15–255 Year of Manufacture/Model Year (0=unspecified); Stored Value = (Year-2000) 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.

+ Display Parameters block Byte offset Bit/value Description/format 0 0x21 Display parameters block tag 1 Bits 2:0 = 0 Revision Bit 7 Image size precision: 0 = 0.1 mm (default) 1 = 1 mm 2 29 Number of payload bytes 3–4 Horizontal image size 5–6 Vertical image size 7–8 Horizontal pixel count 9–10 Vertical pixel count 11 Feature-support flagsBits 2:0 Scan orientation: 0 = Left–right, top–bottom (default) 1 = Right–left, top–bottom 2 = Top–bottom, right–left 3 = Bottom–top, right–left 4 = Right–left, bottom–top 5 = Left–right, bottom–top 6 = Bottom–top, left–right 7 = Top–bottom, left–rightBits 4:3 Max luminance information: 0 = non-zero values are a guaranteed minimum 1 = non-zero values are a guidance for the source deviceBit 6 Color-space information: 0 = uses CIE 1931 (x,y) coordinates (default) 1 = uses CIE 1976 (u',v') coordinatesBit 7 Audio speakers information: 0 = integrated (default) 1 = external jack12–14 Primary Color 1 Chromaticity Bits 7:0 x/u' value, 8-bit LSBBits 11:8 x/u' value, 4-bit MSBBits 15:12 y/v' value, 4-bit LSBBits 23:16 y/v' value, 8-bit MSB 15–17 Primary color 2 chromaticity 18–20 Primary color 3 chromaticity 21–23 White point chromaticity 24–25 Max luminance (full coverage), cd/m2 26–27 Max luminance (10% coverage), cd/m2 28–29 Min luminance, cd/m230 Color-depth, display-technology flagsBits 2:0 Color Depth: 0 = not defined 1 = 6 bpc 2 = 8 bpc 3 = 10 bpc 4 = 12 bpc 5 = 16 bpcBits 6:4 Display technology: 0 = not specified 1 = AMLCD 2 = AMOLED 31 Gamma EOTF (1.00–3.54), stored value = (Gamma × 100) – 100 = (Gamma – 1) × 100 (255=unspecified)Notes: Chromaticity values use 12-bit fractional integer numbers (bit12 × 2−1 + ... + bit0 × 2−12) Luminance values use 16-bit IEEE 754-2008 half-precision floating-point format (−0 = not used)

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.

+ Type VII – Detailed timing block header Byte offset Bit/value Description/format 0 0x22 Detailed timing block tag 1 Bits 2:0 Revision: 0, 1 Bit 2 DSC support 0 = Standard descriptor 1 = Descriptors with DSC pass-through (block revision 1) 2 20–240 Number of payload bytes (N × 20, 1 ≤ N ≤ 12)

+ Type VII Detailed timing descriptor Byte offset Bit/value Description/format0–2 Pixel Clock, kHz (0.001–16,777.216 MPix/s)Bits 7:0 8-bit LSBBits 15:8 8-bit middle bitsBits 23:16 8-bit MSB 3 Timing optionsBits 3:0 Aspect ratio: 0 = 1:1 1 = 5:4 2 = 4:3 3 = 15:9 4 = 16:9 5 = 16:10 6 = 64:27 7 = 256:135 8 = Calculate using horizontal/vertical active image pixels/lines (bytes 4-5 and 12–13) Bit 4 Frame scanning type: 0 = progressive 1 = interlacedBits 6:5 Stereoscopic 3D: 0 = mono timing 1 = 3D stereo timing 2 = mono or 3D stereo depending on user actionBit 7 Preferred timing: 1 = preferred detailed timing 4–5 Horizontal active image pixels 6–7 Horizontal blank pixels 8–9 Horizontal offset (front porch)Bits 7:0 8-bit LSBBits 14:8 7-bit MSBBit 15 Horizontal sync polarity: 0 = negative 1 = positive 10–11 Horizontal sync width 12–13 Vertical active image lines 14–15 Vertical blank lines 16–17 Vertical sync offset (front porch)Bits 7:0 8-bit LSBBits 14:8 7-bit MSBBit 15 Vertical sync polarity: 0 = negative 1 = positive 18–19 Vertical Sync Width

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.

+ Type VIII – Enumerated timing code header Byte offset Bit/value Description/format 0 0x23 Enumerated timing code block tag 1 Bits 2:0 = 0 Revision Bit 3 Timing code size: 0 = one-byte descriptor 1 = two-byte descriptor Bits 7:6 Timing code type: 0 = DMT 1 = CTA VIC code 2 = 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.

+ Type IX – Formula-based timing header 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 (N × 6)

+ Type IX Formula-based timing descriptor Byte offset Bit/value Description/format0 Timing optionsBits 2:0 Timing Formula/Algorithm 0 = CVT 1 = CVT-RB 2 = CVT-R2 Bit 3 NTSC Video optimized refresh rate × (1000/1001): 0 = not supported 1 = supportedBits 6:5 Stereoscopic 3D: 0 = Mono timing 1 = 3D stereo timing 2 = Mono or 3D stereo depending on user action 1–2 Horizontal active image pixels 3–4 Vertical active image lines 5 vertical refresh rate, Hz (1-256)

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.

+ Dynamic video timing range block Byte offset Bit/value Description/format 0 0x25 Dynamic video timing range block tag 1 Bits 2:0 Revision: 0, 1 2 9 Number of payload bytes 3–5 Minimum pixel clock, kHz 6–8 Maximum pixel clock, kHz 9 Minimum vertical refresh rate, Hz 10 Maximum vertical refresh rate LSB, Hz 11 Dynamic video timing range Support Flags Bits 1:0 Maximum vertical refresh rate MSB, Hz (block revision 1) Bit 7 Seamless dynamic video timing change: 0 = not supported 1 = supported with fixed horizontal pixel rate and dynamic vertical blanking

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.

+ Display Interface Features block Byte offset Bit/value Description/format 0 0x26 Display interface features block tag 1 Bits 2:0 = 0 Revision 2 9 Number of payload bytes 3 Color-depth support, RGB encodingBit 0 6 bpcBit 1 8 bpcBit 2 10 bpcBit 3 12 bpcBit 4 14 bpcBit 5 16 bpc0 = no support 1 = supported 4 Color-depth support, YCbCr 4:4:4 encoding 5 Color-depth support, YCbCr 4:2:2 encodingBit 0 8 bpcBit 1 10 bpcBit 2 12 bpcBit 3 14 bpcBit 4 16 bpc0 = no support 1 = supported 6 Color-depth support, YCbCr 4:2:0 encoding 7 Minimum pixel rate for YCbCr 4:2:0 encoding, pixel rate = 74.25 MP/s × Stored Value (0=supported at all modes) 8 Audio capability and feature support flagsBit 5 48 kHz sample rateBit 6 44.1 kHz sample rateBit 7 32 kHz sample rate0 = no support 1 = supported 9 Color space and EOTF combination 1Bit 0 sRGB (IEC 61966-2-1) Color space and EOTFBit 1 ITU-R BT.601 Color space and EOTFBit 2 ITU-R BT.709 Color space and ITU-R BT.1886 EOTFBit 3 Adobe RGB Color space and EOTFBit 4 DCI-P3 (SMPTE RP 431–2) Color space and EOTFBit 5 ITU-R BT.2020 Color space and EOTFBit 6 ITU-R BT.2020 Color space and SMPTE ST 2084 EOTF0 = no support 1 = supported 10 0 Color space and EOTF combination 2: reserved 11 0–7 Number of additional color space and EOTF bytes (N) 11+#N Additional color space and EOTF byte #NBits 3:0 EOTF: 0 = defined by display interface rules 1 = sRGB (IEC 61966-2-1) 2 = ITU-R BT.601 3 = ITU-R BT.1886 for ITU-R BT.709 4 = Adobe RGB 5 = DCI-P3 (SMPTE RP 431–2) 6 = ITU-R BT.2020 7 = Gamma function (value stored in Display Parameters byte 31) 8 = SMPTE ST 2084 9 = Hybrid log–gamma 10 = Custom (details defined in another block)Bits 3:0 Color space: 0 = Undefined – follow display interface rules 1 = sRGB (IEC 61966-2-1) 2 = ITU-R BT.601 3 = ITU-R BT.709 4 = Adobe RGB 5 = DCI-P3 (SMPTE RP 431–2)