Repository navigation
Description
Which OS?
Win11 Pro
Which release?
24H2
Driver Version
NVIDIA driver version: 616.56
Device Specifications
- VDC/VDD version: 25.7.23 (latest as of writing)
- OS: Windows 11 Pro 24H2, OS build 26100.9168
- GPU: NVIDIA GeForce RTX 5070
- NVIDIA driver version: 616.56 (Game Ready)
What issue are you experiencing or what do you need help with?
Every time VDC tries to enable the Virtual Display Driver, it fails with a PowerShell ParameterBindingValidationException because the script calls Get-PnpDevice -Class Display -Status 'Error','Disabled'. 'Disabled' has never been a valid value for the -Status parameter of Get-PnpDevice — the accepted ValidateSet is only OK, Error, Degraded, Unknown. A genuinely disabled device is reported as Status: Error with ConfigManagerErrorCode 22, not Status: Disabled.
Because the command throws immediately, VDC's "search for disabled devices" step always returns zero results, so the enable action fails even when the Virtual Display Driver device is already present and healthy (see the debug dump below — it shows Status: OK).
Steps to Reproduce
- Install/reinstall VDD via VDC 25.7.23.
- Click "Enable Virtual Display Driver" (or let VDC trigger it automatically after an install/reload).
- Observe the PowerShell error in the VDC log.
Actual log output
[ACTION] Enabling Virtual Display Driver...
[INFO] Searching for disabled Virtual Display Driver...
[ERROR] PowerShell error: Get-PnpDevice : Cannot validate argument on parameter 'Status'. The argument "Disabled" does not belong to the set "OK;ERROR;DEGRADED;UNKNOWN" specified by the ValidateSet attribute. Supply an argument that belongs to the set and then try the command again.
At line:15 char:77
+ ... edDevices = Get-PnpDevice -Class Display -Status 'Error','Disabled' |
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Get-PnpDevice], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Get-PnpDevice
[DEBUG] PowerShell output:
------
All Display Devices
------
Device: Virtual Display Driver
ROOT\DISPLAY\0000
Status: OK
Device: NVIDIA GeForce RTX 5070
PCI\VEN_10DE&DEV_2F04...
Status: OK
-------------------------------
------
Disabled Display Devices
------
No disabled display devices found
------------------------------------
NOT_FOUND: No suitable disabled display device found to enable
[ERROR] No disabled display device found that could be enabled.
[INFO] Trying alternative approach to enable display device...
[ERROR] Alternative approach failed to enable the driver.
[ERROR] Failed to enable Virtual Display Driver.
Expected behavior
- The "Enable Virtual Display Driver" action should correctly detect whether the device is actually disabled and enable it, or recognize it's already
OKand simply report success/no-op instead of failing.
Troubleshooting steps taken
No response
Expected outcome
No response
Additional information
This reproduces reliably regardless of GPU vendor/model — it's a static bug in the script's parameter usage, not something specific to my RTX 5070. I hit this consistently across multiple clean reinstalls of VDC 25.7.23.
Activity
DjoleDzele commentedon Aug 31, 2026
Same here, reverting nvidia to 610.88 fixes it for now
manueltux-sudo commentedon Sep 25, 2026
I did this workaround, you can test it:
Create a .bat file, and paste this code, only replace the Devcon and Device paths:
`@echo off
:: Auto-elevate rights to admin
net session >nul 2>&1
if %errorlevel% neq 0 (
powershell -NoProfile -Command "Start-Process '%~f0' -Verb RunAs"
exit /b
)
:: Devcon and Device Paths (Devcon is inside the folder of VDD, and the Device Path is in Device Manager -> Virtual Display Driver -> Device Instance Path
set DEVCON="C:\VDD.Control.25.7.23\Dependencies\devcon.exe"
set DEVICE="@root\DISPLAY\0000"
:: Check state and alternate
%DEVCON% status %DEVICE% | findstr /i "disabled" >nul
if %errorlevel% == 0 (
echo Turning on virtual screen...
%DEVCON% enable %DEVICE%
) else (
echo Turning Off virtual screen...
%DEVCON% disable %DEVICE%
)
:: Wait 2 seconds and exit the script
timeout /t 2 >nul`