Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Windows: driver host process crashes ~1s after DualSense virtual gamepad creation; all libvirtualhid devices become invalid until reboot

Aperta
#199 9 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@ReenigneArcher ci sta già lavorando.

Dal 21/10/2026.

  • #200 di @ReenigneArcher — aperta

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
43/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
cpp

Direzione di ricerca

Start by examining the attached sunshine.log.5 and sunshine.log.4, especially the Windows virtual HID input report failures and the later unavailable or unlicensed driver message. Trace the DualSense device creation, state submission, and removal paths in the Windows implementation; the issue does not name source files or tests. Done means reproducing or isolating the driver host termination and confirming devices recover without a reboot.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Describe the Bug
Environment
  • OS: Windows 10 Pro 22H2 (build 19045.6466)
  • Sunshine: 2026.914.233613 (commit 63d35f702ee9e362e43263742981836ec0710384)
  • libvirtualhid Windows driver: 2026.914.1218.10 (active license)
  • GPU: NVIDIA GeForce RTX 5060
  • gamepad_driver: all (first occurrence), then virtualhid
  • Virtual gamepad: DualSense, auto-selected by client-reported type
  • Client: Moonlight for Windows 6.2.0
  • Physical controller: Sony DualSense (CFI-ZCT1W)
Description

About 1 second after Sunshine creates the virtual DualSense gamepad, the device driver host process terminates. From that moment every libvirtualhid device (gamepad, mouse, keyboard) fails with "invalid handle", the virtual controller disconnects from the session and Sunshine becomes unstable / crashes. It also happens when the controller is disconnected on the client side.

Log excerpt (Italian Windows, translated):
[16:44:21.951] Info: Gamepad 0 will be Sunshine (libvirtualhid) PS5 Controller
[16:44:22.861] Warning: submit libvirtualhid gamepad state: submit Windows input report: The process hosting the driver for this device has been terminated.
[16:44:22.861] Warning: submit libvirtualhid gamepad gyroscope: submit Windows input report: Invalid handle.
[16:44:22.861] Warning: submit libvirtualhid gamepad acceleration: submit Windows input report: Invalid handle.
(~48,000 similar warnings in 6 minutes, mostly gyroscope/acceleration, then mouse/keyboard/scroll)
[16:48:54.166] Warning: create libvirtualhid gamepad: create Windows virtual HID device: Invalid handle.
[16:48:54.167] Info: Gamepad 0 will be DualShock 4 controller (fallback to ViGEmBus)

After restarting Sunshine with gamepad_driver = virtualhid, the driver is reported as "Virtual HID Driver is selected but is unavailable or unlicensed" and all gamepad types are disabled, even though the license is active. Only a reboot restores the driver. The following Sunshine start reports "nvprefs: Opened undo file from previous improper termination".

Steps to reproduce
  1. Windows host with libvirtualhid 2026.914.1218.10, gamepad_driver = all or virtualhid
  2. Connect from Moonlight (Windows 6.2.0) with a DualSense, so the DualSense type is auto-selected
  3. Use the controller, or disconnect it during the session
  4. The driver host process terminates shortly after
Attachments

sunshine.log.5 (crash at 16:44), sunshine.log.4 (driver unavailable after restart)

Expected Behavior

The virtual gamepad is created and removed without crashing the driver host. If the host does crash, the driver recovers without a reboot and is not reported as unlicensed.

sunshine4.log
sunshine5.log

Additional Context

No response

Lingua principale
C++
Stelle
93
Fork
25
Merge medio
14h 20m
PR unite (30g)
32

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di LizardByte/libvirtualhid

Tutte le issue di LizardByte/libvirtualhid

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.