-
-
Notifications
You must be signed in to change notification settings - Fork 158
How to configure the driver
This guide explains how to configure the driver using the provided vdd_settings
XML file. Follow the steps below to ensure proper configuration for your setup. Or just for an overview on how the xml works
The vdd_settings
XML file is used to define the settings for monitors, GPUs, global refresh rates, resolutions, and other driver-specific options.
<?xml version='1.0' encoding='utf-8'?>
<vdd_settings>
<monitors>...</monitors>
<gpu>...</gpu>
<global>...</global>
<resolutions>...</resolutions>
<options>...</options>
</vdd_settings>
- Monitors: Defines the number of monitors.
- GPU: Specifies the GPU to be used.
- Global: Configures refresh rates applicable across all resolutions.
- Resolutions: Lists specific resolutions and refresh rates.
- Options: Contains advanced configuration settings.
Defines the total number of monitors to configure.
<monitors>
<count>1</count>
</monitors>
-
count
: Set the number of monitors to use (e.g.,1
will create 1 monitor, likewise with 2 for two monitors).
Specifies the GPU by its friendly name.
<gpu>
<friendlyname>default</friendlyname>
</gpu>
-
friendlyname
: Set the GPU name (default is"default"
).
-
Windows 10/11:
- Press the Windows key on your keyboard or click on the Start menu.
- Type
Device Manager
in the search bar and press Enter. Alternatively, right-click on the Start button and select Device Manager from the context menu.
- In the Device Manager window, you'll see a list of categories such as Display adapters, Sound, video and game controllers, Network adapters, etc.
- Expand Display adapters
- Now look for the GPU you want the driver to use.
- Right-click on the device for which you want to find the Friendly Name.
- From the context menu, select Properties.
- In the Properties window, navigate to the Details tab.
- In the Property dropdown menu, select Device Description or Friendly Name (depending on your version of Windows).
- The Friendly Name will now be displayed in the Value field.
- Right-click on the Value field and select Copy.
- Once you have noted the Friendly Name, you can close the Device Manager and place the friendly name into the gpu configuration.
e.g., of xml configuration:
<gpu>
<friendlyname>NVIDIA GeForce RTX 2060</friendlyname>
</gpu>
Defines global refresh rates that apply to all resolutions.
<global>
<g_refresh_rate>60</g_refresh_rate>
<g_refresh_rate>90</g_refresh_rate>
<g_refresh_rate>120</g_refresh_rate>
</global>
- Add or modify
<g_refresh_rate>
tags to configure supported refresh rates.
Lists specific resolutions with their corresponding width, height, and refresh rates.
<resolutions>
<resolution>
<width>1920</width>
<height>1080</height>
<refresh_rate>30</refresh_rate>
</resolution>
...
</resolutions>
-
Parameters:
-
width
: Horizontal resolution (e.g.,1920
). -
height
: Vertical resolution (e.g.,1080
). -
refresh_rate
: Refresh rate for the resolution (e.g.,30
Hz).
-
Contains advanced configuration settings for driver behavior.
<options>
<CustomEdid>false</CustomEdid>
<PreventSpoof>false</PreventSpoof>
<EdidCeaOverride>false</EdidCeaOverride>
<HardwareCursor>true</HardwareCursor>
<SDR10bit>false</SDR10bit>
<HDRPlus>false</HDRPlus>
<logging>false</logging>
<debuglogging>false</debuglogging>
</options>
Key Options:
-
CustomEdid
: Enables custom EDID. Requires auser_edid.bin
file to work, this can be useful for needing exact display features like a real monitor, for example matching hdr to your real monitor. -
PreventSpoof
: Prevents manufacturer spoofing with custom EDID, this can be helpful if you need to download a colour profile from windows optional updates for the emulated display. IF YOU DO NOT NEED THIS, PLEASE DO NOT ENABLE IT -
EdidCeaOverride
: Adds/overrides EDID for HDR support on unsupported HDR edid's. Please be aware if an edid has a cea extension, this will override every item in the extension. -
HardwareCursor
: Enables hardware cursor for streaming. When a cursor is streamed this will allow the streaming software to be the main cursor instead of the built in windows cursor, Keep this enabled to not see double cursor. -
SDR10bit
: Enables 10-bit SDR support. If for whatever reason you need to stream to a sdr10 compatible display, please enable this. This will disable HDRPlus! If you need to stream sdr 10 bit, most streaming softwares dont support this, however most you can get away with just enabling HDR streaming on even if you're not streaming HDR content (This is because by default HDR uses 10 bit). -
HDRPlus
: Enables HDR10+ mode (cannot be enabled in conjunction withSDR10bit
). Most streaming platforms don't support streaming 12 bit colour for HDR, if that is the case just keep this disabled. -
logging
: Enables basic logging for troubleshooting. This can be helpful to monitor basic driver activity, from the tasks its performing to what GPU it uses or what IDDCX version your windows supports. -
debuglogging
: Enables detailed logging for advanced debugging. These logs will log everything in the driver. If you don't know what you're doing, please do not enable this!
Warning: Using debug logging can produce very large log files. Use it only for troubleshooting.
- Open the XML file in a text editor (e.g., Notepad++, VS Code) The default directory is
C:/VirtualDisplayDriver
. - Modify the parameters as needed for your setup.
- Save the file.
- Place the updated
vdd_settings.xml
in the driver's configuration directory (refer to the driver's documentation for the exact path). - Restart your system or reload the driver to apply the changes. Reloading can be done multiple ways, such as disabling and re-enabling the driver or if using the New companion app, by clicking restart driver.
Below is a sample configuration for a dual-monitor setup with specific resolutions, refresh rates and configuration:
<?xml version='1.0' encoding='utf-8'?>
<vdd_settings>
<monitors>
<count>2</count>
</monitors>
<gpu>
<friendlyname>NVIDIA RTX 3060</friendlyname>
</gpu>
<global>
<g_refresh_rate>60</g_refresh_rate>
<g_refresh_rate>120</g_refresh_rate>
</global>
<resolutions>
<resolution>
<width>1920</width>
<height>1080</height>
<refresh_rate>60</refresh_rate>
</resolution>
<resolution>
<width>2560</width>
<height>1440</height>
<refresh_rate>120</refresh_rate>
</resolution>
</resolutions>
<options>
<CustomEdid>false</CustomEdid>
<PreventSpoof>true</PreventSpoof>
<EdidCeaOverride>true</EdidCeaOverride>
<HardwareCursor>true</HardwareCursor>
<SDR10bit>true</SDR10bit>
<HDRPlus>false</HDRPlus>
<logging>true</logging>
<debuglogging>false</debuglogging>
</options>
</vdd_settings>
- Configuration Not Applying: Ensure the XML file is placed in the correct directory and follows the proper structure.
-
Unexpected Behavior: Enable
logging
ordebuglogging
to investigate issues. - Resolution Issues: Refer to Configuration Not Applying. Otherwise open an issue
If you encounter issues, submit a GitHub Issue with your configuration file and logs (To get logs please enable logs in xml and restart device or the driver.
This guide should help you configure the driver effectively for your needs.