Attaching USB gamepad (Xbox One S) to qube (gaming qube Debian 12 HVM with GPU passthrough, USB qube Debian 12 Minimal) does not work.
Attaching other USB devices (like a USB mouse) does work.
Steps to reproduce
Plug gamepad into PC using USB cable
Try to attach USB gamepad to gaming qube using qvm-usb attach gaming sys-usb:id
:(
Expected behavior
Gamepad is successfuly attached to qube.
Actual behavior
Gamepad is not attached to qube, as seen from lsusb output inside qube. No games or software detect it.
Additional information
Attaching the gammepad through the gui (tray) breaks the tray, it shows the device as "attached" (qvm-usb does not) but detaching it is impossible ("device not attached to qube gaming"). Attaching it with the --persistent flag also did not work (though in that case qvm-usb in dom shows it as attached).
Logs (journalctl -f)
sys-usb
dom0
(Nothing useful in the journal)
Gaming:
Nov 06 19:29:40 gaming sudo[2009]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=1000)
Nov 06 19:30:15 gaming qrexec-agent[2012]: 2024-11-06 19:30:15.839 qrexec-agent[2012]: qrexec-agent-data.c:256:handle_new_process_common: executed: root:QUBESRPC qubes.USBAttach dom0 (pid 2014)
Nov 06 19:30:15 gaming qrexec-agent[2014]: pam_unix(qrexec:session): session opened for user root(uid=0) by (uid=0)
Nov 06 19:30:15 gaming systemd[1]: Created slice user-0.slice - User Slice of UID 0.
Nov 06 19:30:15 gaming systemd[1]: Starting user-runtime-dir@0.service - User Runtime Directory /run/user/0...
Nov 06 19:30:15 gaming systemd[1]: Finished user-runtime-dir@0.service - User Runtime Directory /run/user/0.
Nov 06 19:30:15 gaming systemd[1]: Starting user@0.service - User Manager for UID 0...
Nov 06 19:30:15 gaming (systemd)[2016]: pam_unix(systemd-user:session): session opened for user root(uid=0) by (uid=0)
Nov 06 19:30:15 gaming systemd[2016]: Queued start job for default target default.target.
Nov 06 19:30:16 gaming systemd[2016]: Created slice app.slice - User Application Slice.
Nov 06 19:30:16 gaming systemd[2016]: Created slice session.slice - User Core Session Slice.
Nov 06 19:30:16 gaming systemd[2016]: Created slice background.slice - User Background Tasks Slice.
Nov 06 19:30:16 gaming systemd[2016]: Reached target paths.target - Paths.
Nov 06 19:30:16 gaming systemd[2016]: Reached target timers.target - Timers.
Nov 06 19:30:16 gaming systemd[2016]: Starting dbus.socket - D-Bus User Message Bus Socket...
Nov 06 19:30:16 gaming systemd[2016]: Listening on dirmngr.socket - GnuPG network certificate management daemon.
Nov 06 19:30:16 gaming systemd[2016]: Listening on gcr-ssh-agent.socket - GCR ssh-agent wrapper.
Nov 06 19:30:16 gaming systemd[2016]: Listening on gnome-keyring-daemon.socket - GNOME Keyring daemon.
Nov 06 19:30:16 gaming systemd[2016]: Listening on gpg-agent-browser.socket - GnuPG cryptographic agent and passphrase cache (access for web browsers).
Nov 06 19:30:16 gaming systemd[2016]: Listening on gpg-agent-extra.socket - GnuPG cryptographic agent and passphrase cache (restricted).
Nov 06 19:30:16 gaming systemd[2016]: Listening on gpg-agent-ssh.socket - GnuPG cryptographic agent (ssh-agent emulation).
Nov 06 19:30:16 gaming systemd[2016]: Listening on gpg-agent.socket - GnuPG cryptographic agent and passphrase cache.
Nov 06 19:30:16 gaming systemd[2016]: pipewire-pulse.socket - PipeWire PulseAudio was skipped because of an unmet condition check (ConditionUser=!root).
Nov 06 19:30:16 gaming systemd[2016]: pipewire.socket - PipeWire Multimedia System Socket was skipped because of an unmet condition check (ConditionUser=!root).
Nov 06 19:30:16 gaming systemd[2016]: Listening on pk-debconf-helper.socket - debconf communication socket.
Nov 06 19:30:16 gaming systemd[2016]: Listening on dbus.socket - D-Bus User Message Bus Socket.
Nov 06 19:30:16 gaming systemd[2016]: Reached target sockets.target - Sockets.
Nov 06 19:30:16 gaming systemd[2016]: Reached target basic.target - Basic System.
Nov 06 19:30:16 gaming systemd[2016]: pipewire.service - PipeWire Multimedia Service was skipped because of an unmet condition check (ConditionUser=!root).
Nov 06 19:30:16 gaming systemd[1]: Started user@0.service - User Manager for UID 0.
Nov 06 19:30:16 gaming systemd[2016]: tracker-extract-3.service - Tracker metadata extractor was skipped because of an unmet condition check (ConditionUser=!root).
Nov 06 19:30:16 gaming systemd[2016]: wireplumber.service: Bound to unit pipewire.service, but unit isn't active.
Nov 06 19:30:16 gaming systemd[2016]: Dependency failed for wireplumber.service - Multimedia Service Session Manager.
Nov 06 19:30:16 gaming systemd[2016]: wireplumber.service: Job wireplumber.service/start failed with result 'dependency'.
Nov 06 19:30:16 gaming systemd[2016]: pipewire-pulse.service - PipeWire PulseAudio was skipped because of an unmet condition check (ConditionUser=!root).
Nov 06 19:30:16 gaming systemd[2016]: Reached target default.target - Main User Target.
Nov 06 19:30:16 gaming systemd[2016]: Startup finished in 134ms.
Nov 06 19:30:16 gaming systemd[1]: Started session-c5.scope - Session c5 of User root.
Nov 06 19:30:16 gaming kernel: vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(0)
Nov 06 19:30:16 gaming kernel: vhci_hcd vhci_hcd.0: devid(131101) speed(2) speed_str(full-speed)
Nov 06 19:30:16 gaming kernel: vhci_hcd vhci_hcd.0: Device attached
Nov 06 19:30:16 gaming kernel: vhci_hcd: vhci_device speed not set
Nov 06 19:30:16 gaming kernel: usb 2-1: new full-speed USB device number 3 using vhci_hcd
Nov 06 19:30:16 gaming kernel: vhci_hcd: vhci_device speed not set
Nov 06 19:30:16 gaming kernel: usb 2-1: SetAddress Request (3) to port 0
Nov 06 19:30:16 gaming kernel: usb 2-1: New USB device found, idVendor=045e, idProduct=02ea, bcdDevice= 3.01
Nov 06 19:30:16 gaming kernel: usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov 06 19:30:16 gaming kernel: usb 2-1: Product: Controller
Nov 06 19:30:16 gaming kernel: usb 2-1: Manufacturer: Microsoft
Nov 06 19:30:16 gaming kernel: usb 2-1: SerialNumber: 3032363030303334383332393531
Nov 06 19:30:16 gaming kernel: input: Microsoft X-Box One S pad as /devices/platform/vhci_hcd.0/usb2/2-1/2-1:1.0/input/input12
Nov 06 19:30:16 gaming mtp-probe[2054]: checking bus 2, device 3: "/sys/devices/platform/vhci_hcd.0/usb2/2-1"
Nov 06 19:30:16 gaming mtp-probe[2054]: bus: 2, device: 3 was not an MTP device
Nov 06 19:30:16 gaming kernel: vhci_hcd: unlink->seqnum 49
Nov 06 19:30:16 gaming kernel: vhci_hcd: urb->status -104
Nov 06 19:30:16 gaming mtp-probe[2096]: checking bus 2, device 3: "/sys/devices/platform/vhci_hcd.0/usb2/2-1"
Nov 06 19:30:16 gaming mtp-probe[2096]: bus: 2, device: 3 was not an MTP device
Nov 06 19:30:16 gaming qrexec-agent[2014]: pam_unix(qrexec:session): session closed for user root
Nov 06 19:30:16 gaming qrexec-agent[2012]: 2024-11-06 19:30:16.892 qrexec-agent[2012]: qrexec-agent-data.c:288:handle_new_process_common: pid 2014 exited with 0
Nov 06 19:30:17 gaming kernel: vhci_hcd: connection closed
Nov 06 19:30:17 gaming kernel: vhci_hcd: stop threads
Nov 06 19:30:17 gaming kernel: vhci_hcd: release socket
Nov 06 19:30:17 gaming kernel: vhci_hcd: disconnect device
Nov 06 19:30:17 gaming kernel: usb 2-1: USB disconnect, device number 3
Nov 06 19:30:18 gaming systemd[1]: session-c5.scope: Deactivated successfully.
Nov 06 19:30:28 gaming systemd[1]: Stopping user@0.service - User Manager for UID 0...
Nov 06 19:30:28 gaming systemd[2016]: Activating special unit exit.target...
Nov 06 19:30:28 gaming systemd[2016]: Removed slice session.slice - User Core Session Slice.
Nov 06 19:30:28 gaming systemd[2016]: Removed slice background.slice - User Background Tasks Slice.
Nov 06 19:30:28 gaming systemd[2016]: Stopped target default.target - Main User Target.
Nov 06 19:30:28 gaming systemd[2016]: Stopped target basic.target - Basic System.
Nov 06 19:30:28 gaming systemd[2016]: Stopped target paths.target - Paths.
Nov 06 19:30:28 gaming systemd[2016]: Stopped target sockets.target - Sockets.
Nov 06 19:30:28 gaming systemd[2016]: Stopped target timers.target - Timers.
Nov 06 19:30:28 gaming systemd[2016]: Closed dbus.socket - D-Bus User Message Bus Socket.
Nov 06 19:30:28 gaming systemd[2016]: Closed dirmngr.socket - GnuPG network certificate management daemon.
Nov 06 19:30:28 gaming systemd[2016]: Closed gcr-ssh-agent.socket - GCR ssh-agent wrapper.
Nov 06 19:30:28 gaming systemd[2016]: Closed gnome-keyring-daemon.socket - GNOME Keyring daemon.
Nov 06 19:30:28 gaming systemd[2016]: Closed gpg-agent-browser.socket - GnuPG cryptographic agent and passphrase cache (access for web browsers).
Nov 06 19:30:28 gaming systemd[2016]: Closed gpg-agent-extra.socket - GnuPG cryptographic agent and passphrase cache (restricted).
Nov 06 19:30:28 gaming systemd[2016]: Closed gpg-agent-ssh.socket - GnuPG cryptographic agent (ssh-agent emulation).
Nov 06 19:30:28 gaming systemd[2016]: Closed gpg-agent.socket - GnuPG cryptographic agent and passphrase cache.
Nov 06 19:30:28 gaming systemd[2016]: Closed pk-debconf-helper.socket - debconf communication socket.
Nov 06 19:30:28 gaming systemd[2016]: Removed slice app.slice - User Application Slice.
Nov 06 19:30:28 gaming systemd[2016]: Reached target shutdown.target - Shutdown.
Nov 06 19:30:28 gaming systemd[2016]: Finished systemd-exit.service - Exit the Session.
Nov 06 19:30:28 gaming systemd[2016]: Reached target exit.target - Exit the Session.
Nov 06 19:30:28 gaming systemd[1]: user@0.service: Deactivated successfully.
Nov 06 19:30:28 gaming systemd[1]: Stopped user@0.service - User Manager for UID 0.
Nov 06 19:30:28 gaming systemd[1]: Stopping user-runtime-dir@0.service - User Runtime Directory /run/user/0...
Nov 06 19:30:28 gaming systemd[1]: run-user-0.mount: Deactivated successfully.
Nov 06 19:30:28 gaming systemd[1]: user-runtime-dir@0.service: Deactivated successfully.
Nov 06 19:30:28 gaming systemd[1]: Stopped user-runtime-dir@0.service - User Runtime Directory /run/user/0.
Nov 06 19:30:28 gaming systemd[1]: Removed slice user-0.slice - User Slice of UID 0.
How to file a helpful issue
Qubes OS release
4.2.3
Brief summary
Attaching USB gamepad (Xbox One S) to qube (gaming qube Debian 12 HVM with GPU passthrough, USB qube Debian 12 Minimal) does not work.
Attaching other USB devices (like a USB mouse) does work.
Steps to reproduce
qvm-usb attach gaming sys-usb:id
Expected behavior
Gamepad is successfuly attached to qube.
Actual behavior
Gamepad is not attached to qube, as seen from
lsusb
output inside qube. No games or software detect it.Additional information
Attaching the gammepad through the gui (tray) breaks the tray, it shows the device as "attached" (qvm-usb does not) but detaching it is impossible ("device not attached to qube gaming"). Attaching it with the
--persistent
flag also did not work (though in that caseqvm-usb
indom
shows it as attached).Logs (
journalctl -f
)sys-usb
dom0
(Nothing useful in the journal)
Gaming: