OS: CachyOS Handheld Edition (fresh install) — issue present in both gamescope session and KDE desktop
Hardware: B550, 3900x, RX 9060 XT, NZXT Kraken X AIO (USB 1e71:170e), ITE RGB LED controller (USB 048d:5702)
Controllers tested: Xbox One S (via Xbox Wireless Adapter, xpad), 8BitDo Ultimate 2 Wireless (2.4GHz dongle, tested in both XInput 2dc8:310b and DInput 2dc8:6012 modes)
Controllers are fully functional everywhere except inside Proton games:
Kernel level (evtest on real pads): works
Native Linux games (Half-Life 2): works
Steam Big Picture UI navigation: works
Steam controller test / calibration: works
Steam Input virtual pad (28de:11ff) created and emits events in evtest: works
Any Proton game: zero input, keyboard prompts shown
Additional notes:
Affects all controllers and all Proton versions identically
Occurs with Steam Input enabled, disabled, and with PROTON_NO_STEAMINPUT=1
Persisted across a full OS reinstall
Diagnostics performed (all normal)
Virtual "Microsoft X-Box 360 pad" (28de:11ff) present in /proc/<gamepid>/root/dev/input/ inside the pressure-vessel container
/run/udev/data inside the container matches the host, including all c13:* input entries
udevadm info on the virtual pad: ID_INPUT_JOYSTICK=1, tags uaccess:seat, no ID_INPUT_IGNORE
SDL_GAMECONTROLLER_IGNORE_DEVICES in the game environment correctly masks the physical pads and does not include the virtual pad (28de:11ff)
User is in the input group; steam-devices package installed
Root cause (found via PROTON_LOG=1 WINEDEBUG=+plugplay)
During winebus/winehid device enumeration, Wine errors on the NZXT Kraken's HID interface:
00bc:err:hid:get_container_id_for_usb_udev_device Failed to get parent device.
00bc:trace:plugplay:get_device_instance_id Returning ID L"HID\\VID_1E71&PID_170E&MI_00\\512&57884173394&0&0&0"
00bc:trace:plugplay:enumerate_new_device Creating new device L"HID\\VID_1E71&PID_170E&MI_00\\512&57884173394&0&0&0"
Enumeration continues through the ITE RGB controller (048d:5702) and the Steam virtual pad (28de:11ff), after which hidclass.sys crashes:
With the HID stack dead, games enumerate zero gamepads — explaining why every controller and every Proton version fails while native titles and the Steam client itself (which do not use Wine's HID stack) work perfectly.
Confirmed workaround
Hiding the Kraken and ITE hidraw nodes from user access immediately restores controller input in all Proton games:
A HID device that fails enumeration (Failed to get parent device) should be skipped gracefully rather than crashing hidclass.sys and disabling all game controller support.
Full PROTON_LOG output available — happy to attach.
System Information
1e71:170e), ITE RGB LED controller (USB048d:5702)2dc8:310band DInput2dc8:6012modes)Symptoms
Controllers are fully functional everywhere except inside Proton games:
Additional notes:
PROTON_NO_STEAMINPUT=1Diagnostics performed (all normal)
/proc/<gamepid>/root/dev/input/inside the pressure-vessel container/run/udev/datainside the container matches the host, including allc13:*input entriesudevadm infoon the virtual pad:ID_INPUT_JOYSTICK=1, tagsuaccess:seat, noID_INPUT_IGNORESDL_GAMECONTROLLER_IGNORE_DEVICESin the game environment correctly masks the physical pads and does not include the virtual pad (28de:11ff)inputgroup; steam-devices package installedRoot cause (found via PROTON_LOG=1 WINEDEBUG=+plugplay)
During winebus/winehid device enumeration, Wine errors on the NZXT Kraken's HID interface:
Enumeration continues through the ITE RGB controller (048d:5702) and the Steam virtual pad (28de:11ff), after which hidclass.sys crashes:
With the HID stack dead, games enumerate zero gamepads — explaining why every controller and every Proton version fails while native titles and the Steam client itself (which do not use Wine's HID stack) work perfectly.
Confirmed workaround
Hiding the Kraken and ITE hidraw nodes from user access immediately restores controller input in all Proton games:
Expected behaviour
A HID device that fails enumeration (
Failed to get parent device) should be skipped gracefully rather than crashing hidclass.sys and disabling all game controller support.Full
PROTON_LOGoutput available — happy to attach.