Skip to main content
The Virtual Display Driver uses vdd_settings.xml as its primary configuration file. This file controls all aspects of the driver’s behavior, from basic monitor settings to advanced HDR and color management.

File Location

The configuration file is located at:
C:\VirtualDisplayDriver\vdd_settings.xml
Always backup vdd_settings.xml before making changes. Invalid XML syntax or incorrect values can prevent the driver from loading.

Configuration File Structure

The vdd_settings.xml file is organized into logical sections:
<?xml version='1.0' encoding='utf-8'?>
<vdd_settings>
    <!-- Basic driver configuration -->
    <monitors>
        <count>1</count>
    </monitors>
    
    <gpu>
        <friendlyname>default</friendlyname>
    </gpu>
    
    <!-- Resolution configuration -->
    <global>
        <g_refresh_rate>60</g_refresh_rate>
        <g_refresh_rate>120</g_refresh_rate>
    </global>
    
    <resolutions>
        <!-- Resolution definitions -->
    </resolutions>
    
    <!-- Additional sections... -->
</vdd_settings>

Core Configuration Sections

Basic Driver Configuration

monitors.count
integer
default:"1"
Number of virtual monitors to create. Valid range: 1-16.
gpu.friendlyname
string
default:"default"
Target GPU adapter name. Set to default to auto-select the best GPU, or specify a GPU name for multi-GPU systems.See Multi-GPU Configuration for details.

Logging Configuration

<logging>
    <SendLogsThroughPipe>true</SendLogsThroughPipe>
    <logging>false</logging>
    <debuglogging>false</debuglogging>
</logging>
logging.SendLogsThroughPipe
boolean
default:"true"
Enable log output through named pipe for real-time monitoring.
logging.logging
boolean
default:"false"
Enable basic logging to file.
logging.debuglogging
boolean
default:"false"
Enable verbose debug logging.
Debug logging creates very large log files and may impact performance.

Color Format Configuration

<colour>
    <SDR10bit>false</SDR10bit>
    <HDRPlus>false</HDRPlus>
    <ColourFormat>RGB</ColourFormat>
</colour>
colour.SDR10bit
boolean
default:"false"
Enable 10-bit color depth for SDR content.
colour.HDRPlus
boolean
default:"false"
Enable HDR+ support. Requires HDR10 static metadata to be enabled.
colour.ColourFormat
string
default:"RGB"
Color format for video output.Valid values:
  • RGB - Full RGB (recommended)
  • YCbCr444 - 4:4:4 chroma subsampling
  • YCbCr422 - 4:2:2 chroma subsampling
  • YCbCr420 - 4:2:0 chroma subsampling

Configuration Categories

The settings are organized into functional groups:

Resolutions

Configure display resolutions and refresh rates

HDR Setup

HDR10 metadata and color depth settings

EDID Integration

EDID profile system configuration

Cursor Settings

Hardware cursor configuration

Multi-GPU

LUID-based adapter selection

Minimal vs. Full Configuration

The driver includes a minimal configuration with 52 functional settings. The original configuration contained 63 settings, but 11 were removed because they are loaded but never used by the driver code.

Removed Settings (Non-Functional)

The following sections were present in older versions but have been removed:
  1. monitor_emulation (8 settings) - All loaded but unused:
    • enabled, emulate_physical_dimensions
    • physical_width_mm, physical_height_mm
    • manufacturer_emulation/enabled, manufacturer_name
    • model_name, serial_number
  2. color_format_extended partial (2 settings):
    • wide_color_gamut - Loaded but unused
    • hdr_tone_mapping - Loaded but unused
  3. cursor.XorCursorSupportLevel - Has implementation bug (loaded but not used)
The driver uses hardcoded values instead of these XML settings. Removing them from vdd_settings.xml has no effect on functionality.

Applying Configuration Changes

After modifying vdd_settings.xml:
1

Save the file

Ensure the XML is well-formed and all tags are properly closed.
2

Restart the driver

# Uninstall current driver
pnputil /delete-driver oem##.inf /uninstall

# Reinstall driver
pnputil /add-driver MttVDD.inf /install
3

Verify settings

Check the logs to confirm settings were loaded correctly.

Validation

The driver performs validation on startup:
  • XML syntax - File must be valid XML
  • Value ranges - Numeric values checked against valid ranges
  • Dependencies - Some settings require others to be enabled
If validation fails, the driver will use safe default values and log errors. Check logs if settings don’t take effect.

Best Practices

Begin with the provided vdd_settings.xml and modify only what you need. The defaults are safe for most use cases.
Enable advanced features (HDR, EDID integration) one at a time to isolate any issues.
XML comments (<!-- comment -->) help document why specific settings were chosen.
After changes, verify the virtual display works correctly before relying on it.

Installation

Install the driver

Troubleshooting

Common configuration issues

PowerShell Scripts

Automate configuration with scripts

Build docs developers (and LLMs) love