Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Linux Switch Pro UHID device repeatedly dropped by Steam due to "hid_read failure"

Abierto
#176 1 comentario 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@ReenigneArcher ya está trabajando en esto.

Desde el 3/10/2026.

  • #180 de @ReenigneArcher — abierto

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Activo
Stack tecnológico
cpp, linux

Línea de trabajo

Start by reproducing the issue on Fedora Linux with Sunshine's Nintendo Switch Pro emulation and compare it with the working Xbox 360 mode. Investigate the libvirtualhid UHID behavior associated with Steam's HIDAPI read failure while evdev continues receiving input. Done means the virtual Pro Controller remains available throughout a Moonlight session without repeated disconnects.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Describe the Bug

When Sunshine emulates a Nintendo Switch Pro Controller via libvirtualhid on Fedora Linux, Steam and KDE repeatedly lose and rediscover the controller after a few seconds.

The virtual input device itself does not disappear from the kernel, and evdev input continues working.

Steam logs:

Controller using HIDAPI driver, vid=0x057e, pid=0x2009
Nintendo Controller subtype 3
Controller device closed after hid_read failure
Controller PollState Changed from 2 to 0

"/proc/bus/input/devices" remains unchanged during the disconnect:

N: Name="Sunshine (libvirtualhid) Nintendo Pro Controller"
P: Phys=libvirtualhid/uhid/057e:2009/7
H: Handlers=event28 js1

N: Name="Sunshine (libvirtualhid) Nintendo Pro Controller (IMU)"
P: Phys=libvirtualhid/uhid/057e:2009/7
H: Handlers=event27

"udevadm monitor --kernel --subsystem-match=input" and:

udevadm monitor --kernel --subsystem-match=hidraw

produce no add/remove events while Steam/KDE report the controller disconnecting.

Expected Behavior

The virtual Nintendo Switch Pro Controller should remain continuously available to Steam/KDE for the duration of the Moonlight session, without HIDAPI read failures or repeated disconnect/reconnect cycles.

Additional Context

"evtest /dev/input/event28" continues receiving input immediately even while Steam and KDE consider the controller disconnected.

Example:

Event: type 3 (EV_ABS), code 0 (ABS_X), value 1104
Event: type 3 (EV_ABS), code 1 (ABS_Y), value 4321
-------------- SYN_REPORT ------------

Sunshine logs creation normally:

Gamepad will be Nintendo Switch Pro controller (auto-selected by client-reported type)
Gamepad 0 will be Sunshine (libvirtualhid) Nintendo Pro Controller

Switching Sunshine's emulated controller type from Nintendo Switch Pro to Xbox 360 completely fixes the issue. Steam remains connected and input works normally.

Lenguaje dominante
C++
Estrellas
66
Forks
18
Merge medio
14 h 20 min
PR fusionados (30 d)
40

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de LizardByte/libvirtualhid

Todos los issues de LizardByte/libvirtualhid

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.