Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Ouverte
#199 9 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@ReenigneArcher y travaille déjà.

Depuis le 21/10/2026.

  • #200 par @ReenigneArcher — ouverte

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
43/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
cpp

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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

Langage dominant
C++
Étoiles
93
Forks
25
Merge moyen
15 h 16 min
PR mergées (30 j)
30

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de LizardByte/libvirtualhid

Toutes les issues de LizardByte/libvirtualhid

Issues similaires

Plus d'issues C++

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.