Controllers
Most controllers work as soon as you plug them in: the drivers for Xbox, PlayStation, Nintendo, Steam and generic USB controllers are part of the RakuOS kernel. The Xbox drivers xone, xpadneo and xpad-noone are not in the images: you install them yourself, like the racing wheel force feedback drivers.
Which driver does what
| Controller | Driver | Comes with RakuOS? |
|---|---|---|
| Xbox 360, Xbox One and Series controllers on a USB cable, and most third-party "Xbox-style" (XInput) controllers | xpad | Yes |
| Xbox Wireless Adapter (the USB dongle), and wired Xbox One / Series controllers | xone | No, you install it |
| Xbox One / Series controllers over Bluetooth | xpadneo | No, you install it |
| Xbox 360 and third-party XInput controllers when xone is installed (see below) | xpad-noone | No, you install it |
| PlayStation 5 DualSense and DualSense Edge, PlayStation 4 DualShock 4 | hid-playstation | Yes |
| PlayStation 3 DualShock 3 and older Sony controllers | hid-sony | Yes |
| Nintendo Switch Pro Controller, Joy-Cons, Switch Online SNES/N64/Genesis controllers | hid-nintendo | Yes |
| Wii Remotes and their attachments | hid-wiimote | Yes |
| Steam Controller, Steam Deck controls | hid-steam | Yes |
| Google Stadia controller (rumble) | hid-google-stadiaff | Yes |
| Generic USB and Bluetooth gamepads (DirectInput) | hid-generic | Yes |
| Racing wheels | see Drivers | Logitech basics yes; force feedback for Fanatec, Thrustmaster and newer Logitech wheels you install yourself |
Install them from RakuOS System › Drivers, or with sudo rum install rakuos-kmod-<name> after turning on Terra. See Drivers for how.
Many third-party controllers (8BitDo, GameSir, Manba and others) have a switch or button combination for their mode. Pick the Xbox / XInput / PC mode for the widest support in games; Switch mode uses hid-nintendo and DirectInput mode uses hid-generic.
If you install xone, also install xpad-noone
xone replaces the kernel's xpad driver and turns it off. xone itself only handles Xbox One and Series controllers, so once it's installed, Xbox 360 controllers and Xbox-style third-party controllers stop working until you also install xpad-noone (the same driver as xpad without the Xbox One part):
sudo rum install rakuos-kmod-xpad-noone
Reboot afterwards. If you don't need xone (no wireless adapter, no Xbox One / Series controller), removing it instead gives the controller back to the built-in xpad:
sudo rum remove rakuos-kmod-xone
xone also turns off the mt76x2u driver, used by some MediaTek USB Wi-Fi adapters, because the Xbox Wireless Adapter is built on the same chip. If such a Wi-Fi adapter stops working after installing xone, that's why.
Steam
Steam's controller support (Steam Input) needs the steam-devices rules, which come with Steam. On the Gamescope image they're built in, along with InputPlumber for handheld controls.
Controllers people have tested
| Controller | Mode / connection | What works |
|---|---|---|
| Manba One | Wired, shows up as an Xbox 360 controller (045e:028e) | Built-in xpad; with xone installed, needs xpad-noone |
Got a controller working (or not)? Tell us on Discord or report it with the output of the commands below, and we'll add it here.
Checking which driver a controller uses
lsusb # the controller's USB ID, e.g. 045e:028e
lsmod | grep -E 'xpad|xone|hid_' # which controller drivers are loaded
rum list | grep rakuos-kmod # the opt-in drivers you installed
ls /usr/lib/modprobe.d/ # 60-xone.conf here means xpad is turned off
If the controller shows up in lsusb but no game sees it, check whether xone is installed without xpad-noone (above). Don't install akmod-* or dkms-* controller drivers: they won't load. See Drivers.