protonscr

Repeated QMK keyboard reconnects crash winedevice in ntoskrnl and stop winebus

protonopen
ValveSoftware/Proton#10245 · opened 2026-10-11 by evertonstz · updated 2026-10-11 · 0 comments · github
Eevertonstz 2026-10-11 github

Summary

Repeated USB disconnects and reconnections of my Akko 5075 QMK keyboard crash Wine's driver-host process on official Proton Experimental. After the crash, winebus reports STOPPED with exit code 1067.

I reproduced this with official Proton Experimental through Lutris and umu. I understand that outside-Steam launches are unsupported, but I’m reporting the captured driver-host crash in case the trace is useful for investigating USB hotplug handling.

Cyberpunk 2077 was running through Lutris and umu, streamed with Moonshine to Moonlight on an Apple TV. Controller input worked before the test. The controller remained connected to the Apple TV while I disconnected only the host keyboard.

A single clean keyboard reconnect did not crash the service. Repeated reconnects reproduced the crash in the logged test.

Environment

Component Version or setup
Proton Official experimental-11.0-20261001-x86_64
OS and kernel Bazzite 44.20261006, kernel 7.2.8-ogc5.1.fc44.x86_64
GPU and driver NVIDIA GeForce RTX 4060, NVIDIA 615.71.09
Launchers Lutris 0.5.22, umu-launcher 1.4.4, Steam Runtime 4
Streaming and input Moonshine 0.16.1, Moonlight on Apple TV, Akko 5075 USB fffe:000b

The game runs outside the Steam client. The Proton path is steamapps/common/Proton - Experimental, and the log header confirms the official build above.

The host has an AMD Ryzen 5 5600G and an MSI MAG B550M MORTAR WIFI motherboard. Moonshine exposes the streamed gamepad as a virtual Xbox One controller, USB identity 045e:02dd.

Steps used to reproduce

  1. Launch Cyberpunk 2077 with official Proton Experimental through Lutris and umu.
  2. Start the Moonlight stream and confirm that controller input works in the game.
  3. Disconnect only the Akko keyboard from the Linux host.
  4. Reconnect it after approximately two seconds. Wait approximately two seconds before the next disconnect.
  5. Repeat for up to five cycles, stopping if controller input fails.

The crash occurred during this sequence. I captured one failing repeated-reconnect test, so I cannot claim it happens every time.

Actual result

The kernel recorded repeated keyboard removals and re-enumeration. One reconnection also produced can't set config #1, error -32. Wine was enumerating the keyboard's HID interfaces immediately before the access violation.

The winedevice.exe process hosting winebus disappeared at approximately 12:53:18 UTC-3 on October 11, 2026. Cyberpunk remained running. A subsequent service query returned:

SERVICE_NAME: winebus
STATE: 1 STOPPED
WIN32_EXIT_CODE: 1067 (0x42b)

The crash log contains:

Unhandled exception: page fault on read access to 0x0000000000000168
in 64-bit code (0x006fffff757926).

Backtrace:
=>0 0x006fffff757926 in ntoskrnl (+0x17926)
  1 0x006fffff7667db in ntoskrnl (+0x267db)
  2 0x006fffff76460e in ntoskrnl (+0x2460e)

0x006fffff757926 ntoskrnl+0x17926:
movq 0x70(%rdx, %rax, 8), %r12

The preceding device-enumeration traces identify the keyboard as VID_FFFE&PID_000B, including interfaces MI_01 and MI_02.

Expected result

USB keyboard removal and reconnection should not crash the Wine driver-host process or terminate the controller bus. USB configuration errors should not cause an unhandled access violation.

Logs and comparison

Logging used PROTON_LOG=1 and WINEDEBUG=-all,+timestamp,+pid,+tid,+seh,+plugplay,+hid.

Sanitized official Experimental crash excerpts include the Proton/runtime header, selected keyboard/PnP events preceding the crash, and the crash report with registers, backtrace, modules, and threads.

These are selected excerpts, not the full log. User/install paths and device-instance suffixes are redacted, and raw HID input reports are excluded. The original failing-run log (approximately 5.7 MB) and single-reconnect comparison log (approximately 3.8 MB) are retained privately.

In the single-reconnect comparison, winebus remained running for five minutes and controller input continued working in Cyberpunk.

Limits of the reproduction

I have not reproduced this through the Steam client or isolated it from streaming. In the failing official Experimental run, the driver-host crash and stopped winebus service were verified. Post-crash in-game controller behavior was not separately confirmed.

The cause of the USB configuration error is unknown. The captured Wine crash is the failure being reported here.

Related report

Controller hot-reconnection report includes QMK and HID-handling discussion. I have not confirmed that this driver-host crash shares its cause.