libvirtualhid exposes generic HID VHF absolute pointer causing frontends to detect an active lightgun
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
The issue is in libvirtualhid driver code that creates a VHF absolute pointer device. Look for the HID descriptor definitions and device instantiation logic in the Sunshine source, likely under src or a platform-specific windows directory. Understand how the virtual HID device is exposed and how its properties (like usage page) cause frontends to detect it as a lightgun. Testing requires building Sunshine on Windows and checking the created HID device with tools like HIDView.
Written by the indexing model from the issue text.
Description
Is there an existing issue for this?
- I have searched the existing issues
Is your issue described in the documentation?
- I have read the documentation
Is your issue present in the latest beta/pre-release?
This issue is present in the latest pre-release
Describe the Bug
When connecting via VoidLink with Sunshine configured to use libvirtualhid, the driver instantiates a Virtual HID Framework (VHF) absolute pointing / touch / digitizer device on the host system. Emulation frontends like RetroBat / EmulationStation read this generic raw input pointer ID as an active physical Lightgun (hid vhf), even when no pointer/touch inputs are actively being sent by the client.
Expected Behavior
libvirtualhid should either expose virtual gamepads without forcing a persistent absolute pointing/digitizer HID device node when touch passthrough is unused, or expose HID IDs that identify strictly as standard gamepads/mice rather than triggering generic lightgun/digitizer auto-detection.
Additional Context
This issue occurs if Sunshine is running, even if no client is connected.
Host Operating System
Windows
Operating System Version
11 22H2
Architecture
amd64/x86_64
Package
Windows - exe installer
GPU Type
NVIDIA
GPU Model
RTX 4070 Super
GPU Driver/Mesa Version
617.14
Capture Method
None
Apps
Log output
Online logs
No response
- Dominant language
- C++
- Stars
- 41.4k
- Forks
- 2.1k
- Avg merge
- 20h 19m
- Merged PRs (30d)
- 125
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from LizardByte/Sunshine
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
LizardByte/Sunshine#5795 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
LizardByte/Sunshine#5467 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
LizardByte/Sunshine#5812 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
LizardByte/Sunshine#5810 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
LizardByte/Sunshine#5803 · 6 comments ·
Maintainers usually reply within 1 day
All issues in LizardByte/Sunshine
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
Maintainers usually reply within 1 day
-
type: bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
RobotLocomotion/drake#25023 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
mamedev/mame#16263 · 4 comments ·
Maintainers usually reply within 1 day