From 1bf7b88be5357e57f04b8e95e5c7d77ccfbdc50c Mon Sep 17 00:00:00 2001 From: John Ogle Date: Mon, 11 May 2026 19:33:22 -0700 Subject: [PATCH] feat(gaming): add xone driver and YARG udev rules for controller support Enable hardware.xone for Xbox wireless protocol support (PDP RiffMaster Xbox) and add udev rules for HID controller access (Wii/PS3 instruments) and Xbox 360 Wireless Adapter. Without these, YARG requires Steam as a workaround which causes connectivity conflicts. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- roles/desktop/gaming.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/roles/desktop/gaming.nix b/roles/desktop/gaming.nix index a2cde54..57b81d7 100644 --- a/roles/desktop/gaming.nix +++ b/roles/desktop/gaming.nix @@ -32,6 +32,24 @@ in dedicatedServer.openFirewall = true; localNetworkGameTransfers.openFirewall = true; }; + + # Xbox wireless protocol support (PDP RiffMaster Xbox, Xbox controllers, etc.) + hardware.xone.enable = true; + + # YARG (rhythm game) needs udev rules for HID controller access. + # Without these, instruments (Wii, PS3, etc.) can't be read without + # sudo, and Steam's input layer must be used as a workaround (which + # causes connectivity conflicts). + # Note: Xbox peripherals (PDP RiffMaster Xbox) use xone instead of hidraw. + services.udev.extraRules = '' + # Allow user access to hidraw devices (Wii/PS3/PS4 instruments, etc.) + KERNEL=="hidraw*", TAG+="uaccess" + + # Xbox 360 Wireless Adapter + SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="0291", MODE="0666" + SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02a9", MODE="0666" + SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="0719", MODE="0666" + ''; }) ]; }