EDID Binary Files Reference
EDID (Extended Display Identification Data) is a binary data structure that describes a display’s capabilities. The Virtual Display Driver can use custom EDID files to precisely control how it appears to Windows and applications.Purpose: Custom EDID files allow you to make your virtual display appear as a specific monitor model, with exact capabilities matching real hardware.
EDID File Format
Basic Structure
An EDID file is a binary file with a specific structure:- Minimum Size: 128 bytes (base EDID block)
- Extended Size: 256 bytes (base EDID + one extension block)
- Maximum Size: 512 bytes (base EDID + up to 3 extension blocks)
Common Configuration: 256 bytes (128-byte base + 128-byte CEA extension)The CEA extension block is required for HDMI features like HDR support.
EDID Block Structure
Using Custom EDID Files
File Location
Place your custom EDID file in the driver installation directory:Enable Custom EDID
Configurevdd_settings.xml to use the custom EDID:
Configuration Options
Enable loading of
user_edid.bin.When false, the driver uses its hardcoded EDID.Prevent modification of the manufacturer ID.
false- Driver may modify manufacturer ID (default behavior)true- Preserve original manufacturer ID from the EDID file
Replace CEA extension block with driver’s hardcoded HDR-capable CEA block.Use Cases:
- Adding HDR support to a 128-byte EDID
- Fixing broken CEA extensions
- Ensuring HDR metadata is present
Creating Custom EDID Files
Method 1: Extract from Real Monitor
The most reliable method is extracting EDID from a real monitor.Extract EDID in Windows
Option A: Device Manager
- Open Device Manager
- Expand “Monitors”
- Right-click your monitor → Properties
- Go to “Details” tab
- Select “Device Instance Path”
- Note the path (e.g.,
DISPLAY\DEL1234\...)
Save EDID to File
Use a third-party tool like:
- MonitorInfoView (NirSoft)
- EDID Reader (Analog Way)
- Custom Resolution Utility (CRU)
Validate EDID
Verify the EDID is valid:
- Check file size (128, 256, 384, or 512 bytes)
- Verify header:
00 FF FF FF FF FF FF 00 - Confirm checksum is correct
Method 2: Use Included Sample EDIDs
The driver includes sample EDID files in theEDID/ directory:
Method 3: Create from Scratch
For advanced users, create custom EDID using specialized tools. Recommended Tools:- Custom Resolution Utility (CRU) - Windows EDID editor
- wxEDID - Cross-platform EDID editor
- EDID Designer - Professional EDID creation tool
- Start with a template EDID from a similar monitor
- Modify manufacturer, model, and serial information
- Add/remove supported resolutions
- Configure HDR metadata in CEA extension
- Update checksums (critical!)
- Test thoroughly
EDID Validation and Checksum
EDID blocks include checksums to ensure data integrity.Checksum Calculation
For each 128-byte block:Driver Validation
The driver validates custom EDID files:- Size Check: File must be 128, 256, 384, or 512 bytes
- Header Check: First 8 bytes must be
00 FF FF FF FF FF FF 00 - Checksum Validation: Each block’s checksum must be correct
- Structure Validation: Extension count must match actual extensions
Automatic Checksum: The driver automatically recalculates and updates the checksum after loading, so minor checksum errors may be corrected.
HDR Support in EDID
For HDR support, the CEA extension must include specific data blocks.Required CEA Data Blocks for HDR
HDR-Capable EDID Example Structure
A minimal HDR-capable EDID (256 bytes) includes:-
Base EDID Block (128 bytes):
- Standard monitor information
- Color characteristics (chromaticity)
- Extension count = 1
-
CEA Extension Block (128 bytes):
- Video Data Block (supported resolutions)
- HDR Static Metadata Data Block (tag 0x06)
- Colorimetry Data Block (tag 0x05)
- Detailed timing descriptors
Troubleshooting Custom EDID
EDID Not Loading
Symptoms: Driver uses default EDID despiteCustomEdid set to true
Solutions:
Check File Location and Name
Check File Location and Name
- File must be named exactly
user_edid.bin - File must be in driver installation directory (usually
C:\VirtualDisplayDriver\) - Check file permissions (driver must have read access)
Verify File Size
Verify File Size
Valid sizes are 128, 256, 384, or 512 bytes only.Check file size:
Validate EDID Structure
Validate EDID Structure
- First 8 bytes must be:
00 FF FF FF FF FF FF 00 - Check with hex editor
- Verify checksum is correct
Check Driver Logs
Check Driver Logs
Enable logging in Look for EDID-related error messages in the log file.
vdd_settings.xml:Checksum Errors
Symptoms: Driver reports “Custom edid failed due to invalid checksum” Solution: Recalculate and update checksumsHDR Not Working
Symptoms: Custom EDID loads but HDR is not available in Windows Checklist:- CEA extension block present (256-byte EDID minimum)
- HDR Static Metadata Data Block included (Extended Tag 0x06)
- EOTF byte includes bit 2 (SMPTE ST 2084 / PQ)
- Static Metadata Type 1 supported (bit 0 of metadata byte)
- Colorimetry Data Block present (Extended Tag 0x05)
-
hdr10_static_metadata.enabled = trueinvdd_settings.xml
EDID Analysis Tools
Included Parser Utility
The driver includes an EDID parser for analysis:- Detected video modes
- HDR capabilities (HDR10, Dolby Vision, HDR10+)
- Color profile information
- Generated
monitor_profile.xml
Online EDID Decoders
- EDID Decoder (edid.tv) - Web-based EDID analyzer
- Analog Way EDID Editor - Professional EDID tool
- Phoenix EDID Designer - Commercial EDID editor
Hex Editors
For manual EDID editing:- HxD (Windows) - Free hex editor
- 010 Editor (Cross-platform) - Advanced hex editor with EDID template
- Hex Fiend (macOS) - Fast hex editor
Best Practices
Start with Real EDID
Always start with an EDID extracted from a real monitor. This ensures proper structure and valid data.
Test Incrementally
Make small changes and test after each modification. This helps identify problematic changes.
Validate Checksums
Always recalculate checksums after editing. Invalid checksums cause the driver to reject the EDID.
Keep Backups
Maintain backups of working EDID files before making changes.
Use CEA Override
For HDR support, consider using
EdidCeaOverride instead of manually creating CEA extensions.Document Changes
Keep notes on modifications made to custom EDIDs for troubleshooting.
Related Documentation
vdd_settings.xml
Main configuration file reference
Monitor Profile XML
XML EDID profile format
EDID Parser Utility
Parse and analyze EDID files
Custom EDID Guide
Step-by-step custom EDID creation