Skip to content
Bud edited this page Dec 19, 2024 · 1 revision

Registry Overrides for VirtualDisplayDriver

Overview

This page outlines the registry overrides that are used in the VirtualDisplayDriver. These settings can be modified to enable or disable specific features in the driver. The settings can be retrieved from either the registry or an XML configuration file (vdd_settings.xml).



Registry Keys and Settings

The following settings are mapped to registry keys within the Computer\HKEY_LOCAL_MACHINE\SOFTWARE\MikeTheTech\VirtualDisplayDriver location. If the registry keys do not already exist, you will need to create them manually.


Settings Query Map

Setting Name Registry Key (Uppercase) Description
LoggingEnabled LOGS Enables logging
DebugLoggingEnabled DEBUGLOGS Enables debug logging
HDRPlusEnabled HDRPLUS Enables HDR Plus feature
SDR10Enabled SDR10BIT Enables SDR10 bit depth
CustomEdidEnabled CUSTOMEDID Enables custom EDID feature
HardwareCursorEnabled HARDWARECURSOR Enables hardware cursor
PreventMonitorSpoof PREVENTMONITORSPOOF Prevents monitor spoofing
EdidCeaOverride EDIDCEAOVERRIDE Enables EDID CEA override
VDDPath VDDPATH Custom directory for driver configuration


Registry Location

The registry keys are stored under:

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\MikeTheTech\VirtualDisplayDriver

Each of the settings above corresponds to a registry key under this path. For example, to enable logging, the registry key LOGS should be set to DWORD 1.



Checking Enabled Settings

The settings are checked through a function called EnabledQuery, which first checks the registry for the specified setting and then falls back to checking an XML file (vdd_settings.xml) if the registry key is not found or is incorrectly set.

Registry Check Logic

  1. Registry Value:
    The function first looks for the registry key corresponding to the setting. If the value is DWORD 1, it is considered enabled.

    • If the value is DWORD 0, it proceeds to check the XML configuration file.
    • If the registry key contains a string value ("true"), it is also considered enabled.
    • If the registry value cannot be read, it falls back to the XML check.

XML Check Logic

If the registry check fails, the function checks the vdd_settings.xml file located in the same directory as the application. The function looks for a specific XML element, with the name corresponding to the setting. The value of this element determines whether the setting is enabled or not.

For example:

  • If the XML element value is "true", the setting is considered enabled.
  • If the value is "false", the setting is considered disabled.

The XML settings file is located at:

<path_to_config>\vdd_settings.xml



Example of Registry and XML Lookup

Here’s an example of how the query works:

  1. Registry Query:
    The function checks the registry for the key LOGS under the path:

    HKEY_LOCAL_MACHINE\SOFTWARE\MikeTheTech\VirtualDisplayDriver

    If the value is DWORD 1, logging is enabled.

  2. Fallback to XML:
    If the registry value is not found or has an invalid value, it will check the vdd_settings.xml file for an element with the name logging. If the element contains the value "true", logging is enabled.



Creating Missing Registry Keys

If the MikeTheTech\VirtualDisplayDriver registry path does not exist, users will need to create it manually. To do this:

  1. Open the Registry Editor (regedit).
  2. Navigate to Computer\HKEY_LOCAL_MACHINE\SOFTWARE.
  3. Right-click on SOFTWARE, select New > Key, and name it MikeTheTech.
  4. Right-click on MikeTheTech, select New > Key, and name it VirtualDisplayDriver.
  5. Now, under VirtualDisplayDriver, you can create the required keys as listed in the table above.


Example: Creating a Registry Key for LoggingEnabled

  1. Navigate to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\MikeTheTech\VirtualDisplayDriver.
  2. Right-click on VirtualDisplayDriver and select New > DWORD (32-bit) Value.
  3. Name the new value LOGS.
  4. Set the value of LOGS to DWORD 1 to enable logging.

Repeat this process for each setting you want to configure.



Adding a Custom Path for Driver Configuration (VDDPATH)

The VDDPATH registry key allows you to specify a custom directory for the VirtualDisplayDriver configuration files. By default, the driver looks for configuration files in a predefined location. However, you can override this path by setting the VDDPATH registry key to point to a custom directory where your driver configuration files are stored.

How to Configure a Custom Path

  1. Create the Registry Key:
    Navigate to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\MikeTheTech\VirtualDisplayDriver and create a new String value named VDDPATH.

  2. Set the Path:
    Set the value of the VDDPATH registry key to the full directory path where your configuration files are located. For example, if your configuration files are in D:\DriverConfig, the value of VDDPATH should be:

    D:\DriverConfig

  3. Restart the Driver:
    After modifying the registry, restart the VirtualDisplayDriver for the changes to take effect. The driver will now load configuration files from the custom directory you specified.

Example: Setting a Custom Path for Driver Configuration

  1. Open Registry Editor (regedit).
  2. Navigate to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\MikeTheTech\VirtualDisplayDriver.
  3. Right-click on VirtualDisplayDriver and select New > String Value.
  4. Name the new value VDDPATH.
  5. Set the value to your desired directory path, e.g., D:\DriverConfig.

This will configure the driver to load settings from the specified directory rather than the default location.



Notes

  • Ensure that you have Administrator privileges when modifying the registry.
  • Always back up your registry before making any changes.
  • Incorrect changes to the registry can cause system instability, so proceed with caution.