Skip to content

How to configure the driver

Bud edited this page Dec 19, 2024 · 3 revisions

Configuring 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


Overview of the Configuration XML

The vdd_settings XML file is used to define the settings for monitors, GPUs, global refresh rates, resolutions, and other driver-specific options.

Example XML Structure:

<?xml version='1.0' encoding='utf-8'?>
<vdd_settings>
    <monitors>...</monitors>
    <gpu>...</gpu>
    <global>...</global>
    <resolutions>...</resolutions>
    <options>...</options>
</vdd_settings>

Key Sections:

  • 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.

Configuration Details

Monitors Section

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).

GPU Section

Specifies the GPU by its friendly name.

<gpu>
    <friendlyname>default</friendlyname>
</gpu>
  • friendlyname: Set the GPU name (default is "default").

1. Open Device Manager

  • Windows 10/11:
    1. Press the Windows key on your keyboard or click on the Start menu.
    2. 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.

2. Locate the Device

  • 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.

3. Open Device Properties

  • Right-click on the device for which you want to find the Friendly Name.
  • From the context menu, select Properties.

    image

4. Navigate to the Details Tab

  • In the Properties window, navigate to the Details tab.

5. Select the Friendly Name

  • 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.

    image

6. Optional: Copy the Friendly Name

  • Right-click on the Value field and select Copy.

7. Close Device Manager

  • 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>

Global Section

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.

Resolutions Section

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).

Options Section

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 a user_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 with SDR10bit). 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.


Modifying the XML

  1. Open the XML file in a text editor (e.g., Notepad++, VS Code) The default directory is C:/VirtualDisplayDriver.
  2. Modify the parameters as needed for your setup.
  3. Save the file.

Applying the Configuration

  1. Place the updated vdd_settings.xml in the driver's configuration directory (refer to the driver's documentation for the exact path).
  2. 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.

Example Configuration

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>

Troubleshooting

  • Configuration Not Applying: Ensure the XML file is placed in the correct directory and follows the proper structure.
  • Unexpected Behavior: Enable logging or debuglogging 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.