Skip to main content

vdd_settings.xml Reference

The vdd_settings.xml file is the primary configuration file for the Virtual Display Driver. It controls all aspects of the driver’s behavior, from basic monitor settings to advanced HDR and color management.
Location: The driver looks for vdd_settings.xml in C:\VirtualDisplayDriver\vdd_settings.xml.

File Structure

<?xml version='1.0' encoding='utf-8'?>
<vdd_settings>
  <monitors>...</monitors>
  <gpu>...</gpu>
  <global>...</global>
  <resolutions>...</resolutions>
  <logging>...</logging>
  <colour>...</colour>
  <cursor>...</cursor>
  <edid>...</edid>
  <edid_integration>...</edid_integration>
  <hdr_advanced>...</hdr_advanced>
  <auto_resolutions>...</auto_resolutions>
  <color_advanced>...</color_advanced>
</vdd_settings>

Basic Driver Configuration

Monitor Count

monitors.count
integer
default:"1"
Number of virtual displays to create. Each virtual display appears as a separate monitor in Windows.Valid Range: 1-16Example:
<monitors>
  <count>2</count>
</monitors>

GPU Assignment

gpu.friendlyname
string
default:"default"
Specifies which GPU the virtual display should be attached to.Options:
  • default - Automatically select the primary GPU
  • GPU name (e.g., NVIDIA GeForce RTX 4090)
Example:
<gpu>
  <friendlyname>NVIDIA GeForce RTX 4090</friendlyname>
</gpu>
Use the Driver Control App or PowerShell scripts to list available GPUs on your system.

Resolution Configuration

Global Refresh Rates

global.g_refresh_rate
integer
Global refresh rates applied to all defined resolutions. You can specify multiple rates.Common Values: 24, 30, 50, 60, 75, 90, 120, 144, 165, 240, 360Example:
<global>
  <g_refresh_rate>60</g_refresh_rate>
  <g_refresh_rate>120</g_refresh_rate>
  <g_refresh_rate>144</g_refresh_rate>
</global>

Resolution Definitions

resolutions.resolution.width
integer
required
Horizontal resolution in pixels.Valid Range: 640-7680
resolutions.resolution.height
integer
required
Vertical resolution in pixels.Valid Range: 480-4320
resolutions.resolution.refresh_rate
integer
required
Refresh rate in Hz for this specific resolution.Valid Range: 24-360
If global refresh rates are defined, this resolution will also be available at those rates.

Logging Configuration

logging.SendLogsThroughPipe
boolean
default:"true"
Enable sending logs through the named pipe for real-time monitoring by the Driver Control App.Recommended: true for easier troubleshooting
logging.logging
boolean
default:"false"
Enable standard logging to file.Log Location: Driver installation directory
logging.debuglogging
boolean
default:"false"
Enable verbose debug logging. Creates large log files.
Debug logging can create very large log files (100+ MB). Only enable when troubleshooting specific issues.

Color Format Configuration

colour.SDR10bit
boolean
default:"false"
Enable 10-bit color depth for SDR (Standard Dynamic Range) content.Requirements: GPU and monitor must support 10-bit output
colour.HDRPlus
boolean
default:"false"
Enable enhanced HDR processing.Note: Requires HDR10 configuration in hdr_advanced section
colour.ColourFormat
string
default:"RGB"
Output color format for the virtual display.Options:
  • RGB - Full RGB (recommended for most use cases)
  • YCbCr444 - YCbCr 4:4:4 (lossless chroma)
  • YCbCr422 - YCbCr 4:2:2 (chroma subsampling)
  • YCbCr420 - YCbCr 4:2:0 (maximum compression)
Example:
<colour>
  <ColourFormat>RGB</ColourFormat>
</colour>

Cursor Configuration

cursor.HardwareCursor
boolean
default:"true"
Enable hardware cursor support for better performance and reduced latency.
cursor.CursorMaxX
integer
default:"128"
Maximum cursor width in pixels.Valid Range: 32-256
cursor.CursorMaxY
integer
default:"128"
Maximum cursor height in pixels.Valid Range: 32-256
cursor.AlphaCursorSupport
boolean
default:"true"
Enable alpha channel (transparency) support for cursors.
cursor.XorCursorSupportLevel
integer
default:"2"
XOR cursor support level (0-2).
This setting is loaded but not currently used by the driver implementation.

Custom EDID Configuration

edid.CustomEdid
boolean
default:"false"
Use a custom EDID binary file (user_edid.bin) instead of the driver’s default EDID.Requirements: Place user_edid.bin in the driver installation directory
See EDID Files Reference for creating custom EDID files.
edid.PreventSpoof
boolean
default:"false"
Prevent modification of manufacturer ID in the EDID.When true, preserves the original manufacturer ID from the EDID without spoofing.
edid.EdidCeaOverride
boolean
default:"false"
Override the CEA extension block with the driver’s hardcoded CEA data.Useful for adding HDR support to custom EDID files that don’t have proper CEA extensions.

EDID Integration System

edid_integration.enabled
boolean
default:"false"
Enable the EDID integration system.Requirements: Valid monitor_profile.xml file must exist at the specified path
edid_integration.auto_configure_from_edid
boolean
default:"false"
Automatically apply all settings from the monitor profile XML.When enabled, resolution and color settings are loaded from the profile.
edid_integration.edid_profile_path
string
default:"EDID/monitor_profile.xml"
Path to the monitor profile XML file, relative to the driver installation directory.Example:
<edid_integration>
  <edid_profile_path>EDID/monitor_profile.xml</edid_profile_path>
</edid_integration>
edid_integration.override_manual_settings
boolean
default:"false"
Determine priority between EDID profile and manual settings.
  • false - Manual settings take priority (recommended)
  • true - EDID profile overrides manual settings
edid_integration.fallback_on_error
boolean
default:"true"
Use manual settings if EDID profile loading fails.Recommended: true for reliability

HDR Advanced Configuration

HDR10 Static Metadata

hdr_advanced.hdr10_static_metadata.enabled
boolean
default:"false"
Enable HDR10 support with static metadata.
HDR10 requires compatible GPU, display capture application, and proper configuration.
hdr_advanced.hdr10_static_metadata.max_display_mastering_luminance
float
default:"1000.0"
Maximum display mastering luminance in nits (cd/m²).Common Values:
  • 400.0 - Entry-level HDR
  • 1000.0 - Standard HDR (recommended)
  • 1600.0 - High-end HDR
  • 4000.0 - Peak HDR monitors
Valid Range: 50.0-10000.0
hdr_advanced.hdr10_static_metadata.min_display_mastering_luminance
float
default:"0.05"
Minimum display mastering luminance in nits.Typical Range: 0.0001-1.0
hdr_advanced.hdr10_static_metadata.max_content_light_level
integer
default:"1000"
Maximum content light level (MaxCLL) in nits.Recommended: Match or slightly exceed max_display_mastering_luminance
hdr_advanced.hdr10_static_metadata.max_frame_avg_light_level
integer
default:"400"
Maximum frame average light level (MaxFALL) in nits.Typical Range: 200-600 (usually 40-60% of MaxCLL)

Color Primaries

hdr_advanced.color_primaries.enabled
boolean
default:"false"
Enable custom color primaries configuration.
hdr_advanced.color_primaries.red_x
float
default:"0.640"
Red primary X chromaticity coordinate.Valid Range: 0.0-1.0
hdr_advanced.color_primaries.red_y
float
default:"0.330"
Red primary Y chromaticity coordinate.Valid Range: 0.0-1.0
hdr_advanced.color_primaries.green_x
float
default:"0.300"
Green primary X chromaticity coordinate.Valid Range: 0.0-1.0
hdr_advanced.color_primaries.green_y
float
default:"0.600"
Green primary Y chromaticity coordinate.Valid Range: 0.0-1.0
hdr_advanced.color_primaries.blue_x
float
default:"0.150"
Blue primary X chromaticity coordinate.Valid Range: 0.0-1.0
hdr_advanced.color_primaries.blue_y
float
default:"0.060"
Blue primary Y chromaticity coordinate.Valid Range: 0.0-1.0
hdr_advanced.color_primaries.white_x
float
default:"0.3127"
White point X chromaticity coordinate (D65 standard).Valid Range: 0.0-1.0
hdr_advanced.color_primaries.white_y
float
default:"0.3290"
White point Y chromaticity coordinate (D65 standard).Valid Range: 0.0-1.0

Color Space Settings

hdr_advanced.color_space.enabled
boolean
default:"false"
Enable advanced color space configuration.
hdr_advanced.color_space.gamma_correction
float
default:"2.2"
Gamma correction value.Common Values:
  • 2.2 - Standard sRGB gamma (recommended)
  • 2.4 - Rec.709 pure power gamma
  • 1.0 - Linear (no gamma correction)
hdr_advanced.color_space.primary_color_space
string
default:"sRGB"
Primary color space identifier.Options:
  • sRGB - Standard RGB (recommended)
  • Rec709 - Rec.709 (same primaries as sRGB)
  • Rec2020 - Rec.2020 wide gamut
  • DCI-P3 - DCI-P3 cinema gamut
hdr_advanced.color_space.enable_matrix_transform
boolean
default:"false"
Enable color matrix transformation.
This is an experimental feature. Leave disabled unless you have specific requirements.

Auto Resolution System

auto_resolutions.enabled
boolean
default:"false"
Enable automatic resolution generation from EDID modes.When enabled, resolutions are generated from the monitor profile instead of manual definitions.
auto_resolutions.source_priority
string
default:"manual"
Resolution source priority.Options:
  • manual - Use only manually defined resolutions
  • edid - Use only EDID-derived resolutions
  • merged - Combine manual and EDID resolutions

EDID Mode Filtering

auto_resolutions.edid_mode_filtering.min_refresh_rate
integer
default:"24"
Minimum refresh rate for EDID modes.Valid Range: 1-500
auto_resolutions.edid_mode_filtering.max_refresh_rate
integer
default:"240"
Maximum refresh rate for EDID modes.Valid Range: 24-500
auto_resolutions.edid_mode_filtering.exclude_fractional_rates
boolean
default:"false"
Exclude fractional refresh rates (e.g., 59.94 Hz, 29.97 Hz).
auto_resolutions.edid_mode_filtering.min_resolution_width
integer
default:"640"
Minimum resolution width in pixels.
auto_resolutions.edid_mode_filtering.min_resolution_height
integer
default:"480"
Minimum resolution height in pixels.
auto_resolutions.edid_mode_filtering.max_resolution_width
integer
default:"7680"
Maximum resolution width in pixels (8K support).
auto_resolutions.edid_mode_filtering.max_resolution_height
integer
default:"4320"
Maximum resolution height in pixels (8K support).

Preferred Mode Settings

auto_resolutions.preferred_mode.use_edid_preferred
boolean
default:"false"
Use the preferred mode from the EDID profile.When false, uses the fallback mode settings.
auto_resolutions.preferred_mode.fallback_width
integer
default:"1920"
Fallback preferred mode width.
auto_resolutions.preferred_mode.fallback_height
integer
default:"1080"
Fallback preferred mode height.
auto_resolutions.preferred_mode.fallback_refresh
integer
default:"60"
Fallback preferred mode refresh rate.

Advanced Color Processing

Bit Depth Management

color_advanced.bit_depth_management.auto_select_from_color_space
boolean
default:"false"
Automatically select bit depth based on color space.When false, uses the forced bit depth setting.
color_advanced.bit_depth_management.force_bit_depth
integer
default:"8"
Force specific bit depth per color channel.Options:
  • 8 - 8-bit (24-bit RGB, recommended)
  • 10 - 10-bit (30-bit RGB, requires hardware support)
  • 16 - 16-bit (48-bit RGB, experimental)
color_advanced.bit_depth_management.fp16_surface_support
boolean
default:"true"
Enable FP16 (half-precision floating point) surface support.Recommended: true for compatibility with modern rendering pipelines

Extended Color Format

color_advanced.color_format_extended.sdr_white_level
float
default:"80.0"
SDR white level in nits.Standard: 80.0 nits (recommended)Valid Range: 40.0-200.0

Complete Example Configuration

Monitor Profile XML

Learn about the monitor_profile.xml format for EDID integration

EDID Files

Create and use custom EDID binary files

HDR Configuration

Comprehensive guide to setting up HDR

Resolution Setup

Configure custom resolutions and refresh rates

Build docs developers (and LLMs) love