Describe the bug
Every time I restart my PC, DS4Windows fails to initialize the virtual controller and throws a "VIIPER verification failed - usbip-win2 driver integrity could not be verified: Timed out" error. Clicking the "Install / Repair" button fixes the issue temporarily for the current session.
Interestingly, if I click "Continue without virtual output" on the prompt, navigate to the Settings tab, and simply click the "Refresh" button under VIIPER Virtual Controller Support, the status immediately changes to "VIIPER ready. VIIPER helper: installed; usbip-win2: installed; server: running" without actually needing a full reinstall/repair. However, the exact same timeout error will return on the next system reboot.
To Reproduce
Steps to reproduce the behavior:
- Install DS4Windows v5.0.5.2 (which bundles VIIPER 0.1.9-rc4.6.6).
- Enable "Run at Startup" in DS4Windows settings so it runs via Task Scheduler.
- Restart the PC.
- DS4Windows launches automatically upon login.
- See the "VIIPER verification failed: Timed out" prompt.
- Click "Continue without virtual output".
- Go to the Settings tab, scroll down to 'VIIPER Virtual Controller Support'.
- Click the "Refresh" button.
- See the status immediately change to "VIIPER ready" and the server starts running.
Expected behavior
DS4Windows should successfully verify the VIIPER/usbip-win2 backend automatically during Windows boot without requiring manual "Install/Repair" or manual "Refresh" intervention every time the PC restarts.
Screenshots and Logs
https://drive.google.com/drive/folders/1RIIfQhGPIQjPj6nsB7vb_SYBVMUOFl3p?usp=drive_link
Desktop (please complete the following information):
- Controller Make and Model: GameSir G8 Plus (Connected via Bluetooth in DS4 Mode)
- OS: Windows 11 Pro for Workstations 25H2 26200.9550
- DS4Windows Version: 5.0.5.2 (VIIPER backend v0.1.9-rc4.6.6)
Additional context
I have done extensive troubleshooting and narrowed down the OS-level behavior causing this:
- Not a simple startup race condition: Adding a 15 to 30-second delay to the
RunDS4Windows task in Task Scheduler does not fix the issue.
- Security settings: Fast Startup is disabled. Windows Defender exclusion is added. Core Isolation (Memory Integrity) is completely OFF.
- Event Viewer Findings (The Root Cause): Checking the System logs reveals why the timeout happens:
- Event ID 7045: Shows
USBip Upper Filter for USBHUB3 (usbip2_filter.sys) installs successfully with a demand start type.
- Event ID 7040: Immediately after, the Service Control Manager forcefully changes the start type of
usbip2_filter from demand start to disabled. Because Windows disables the driver during boot, DS4Windows times out waiting for it.
- Potential Conflict: I also have Sunshine/Moonlight installed on this system, which utilizes
libvirtualhid (VIBESHINEVIRTUALGAMEPAD). I noticed Kernel-PnP warnings (Event ID 219) for the Vibeshine driver during boot as well. It is possible that Windows 11 is disabling the USBip filter driver due to a conflict with another virtual gamepad driver trying to initialize at the same time.
- The Refresh Workaround: Because a simple click on the "Refresh" button bypasses the issue and makes VIIPER ready, it confirms the driver package itself is intact. Windows just aggressively disables the filter driver early in the boot sequence.
Any guidance on how to prevent Windows Service Control Manager from disabling usbip2_filter on boot, or how DS4Windows can better handle this specific OS-level block, would be greatly appreciated.
Describe the bug
Every time I restart my PC, DS4Windows fails to initialize the virtual controller and throws a "VIIPER verification failed - usbip-win2 driver integrity could not be verified: Timed out" error. Clicking the "Install / Repair" button fixes the issue temporarily for the current session.
Interestingly, if I click "Continue without virtual output" on the prompt, navigate to the Settings tab, and simply click the "Refresh" button under VIIPER Virtual Controller Support, the status immediately changes to "VIIPER ready. VIIPER helper: installed; usbip-win2: installed; server: running" without actually needing a full reinstall/repair. However, the exact same timeout error will return on the next system reboot.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
DS4Windows should successfully verify the VIIPER/usbip-win2 backend automatically during Windows boot without requiring manual "Install/Repair" or manual "Refresh" intervention every time the PC restarts.
Screenshots and Logs
https://drive.google.com/drive/folders/1RIIfQhGPIQjPj6nsB7vb_SYBVMUOFl3p?usp=drive_link
Desktop (please complete the following information):
Additional context
I have done extensive troubleshooting and narrowed down the OS-level behavior causing this:
RunDS4Windowstask in Task Scheduler does not fix the issue.USBip Upper Filter for USBHUB3(usbip2_filter.sys) installs successfully with ademand starttype.usbip2_filterfromdemand starttodisabled. Because Windows disables the driver during boot, DS4Windows times out waiting for it.libvirtualhid(VIBESHINEVIRTUALGAMEPAD). I noticed Kernel-PnP warnings (Event ID 219) for the Vibeshine driver during boot as well. It is possible that Windows 11 is disabling the USBip filter driver due to a conflict with another virtual gamepad driver trying to initialize at the same time.Any guidance on how to prevent Windows Service Control Manager from disabling
usbip2_filteron boot, or how DS4Windows can better handle this specific OS-level block, would be greatly appreciated.