Why Your Gamepad Isn't Working on Linux Mint
Linux Mint has excellent hardware compatibility, but gamepads and controllers still catch users off guard. The kernel recognises most USB and Bluetooth controllers automatically, but getting them to work in Steam, Proton, or native Linux games often needs a few extra steps. Whether your Xbox, PlayStation, or generic USB gamepad isn't being detected at all, maps wrong buttons, or works in one game but not another — this guide covers every confirmed fix for 2026.
Step 1: Confirm the Controller Is Detected by Linux
Before changing any settings, verify that Linux Mint can see the controller at the hardware level.
For USB controllers:
ls /dev/input/js*
You should see /dev/input/js0 (or js1, js2 for multiple controllers). If nothing appears, the kernel is not detecting the device at all — see Method 2.
Alternative detection check:
cat /proc/bus/input/devices | grep -A5 -i "joystick\|gamepad\|controller"
You can also open Joystick from the Linux Mint application menu (install with sudo apt install joystick) and run:
jstest /dev/input/js0
If this shows axis/button values when you move the controller, it's working at the system level — the issue is game-specific. If nothing shows, continue to Method 2.
Method 1: Test With a Different USB Port or Cable
Before any software troubleshooting, try a different USB port (preferably USB 2.0 for older controllers, USB 3.0 for modern ones). Also try a different cable if the gamepad uses a detachable cable. USB hubs can cause detection failures — plug directly into the motherboard ports.
Method 2: Install the Correct Kernel Module (Xbox Controllers)
Xbox One and Xbox Series controllers require the xpad kernel module. While most kernels ship it, it sometimes needs manual loading or replacement with the community xone driver for newer controllers.
Load the default xpad driver:
sudo modprobe xpad
Reconnect the controller and run ls /dev/input/js* again.
For Xbox Series X/S and Xbox One wireless via USB-C (xone driver):
sudo apt install dkms git
git clone https://github.com/medusalix/xone.git
cd xone
sudo ./install.sh --release
Reboot and reconnect the controller. The xone driver supports wired and the Xbox Wireless Adapter.
Method 3: Fix PlayStation (DualShock/DualSense) Controllers
PlayStation 4 (DualShock 4) and PlayStation 5 (DualSense) controllers work natively on Linux Mint via USB. Over Bluetooth, they may need an extra step.
USB connection: Plug in and test with jstest — should work immediately.
Bluetooth connection:
- Put the controller in pairing mode: hold PS + Share (DS4) or PS + Create (DualSense) for 3 seconds until the light pulses.
- Open Bluetooth manager in Linux Mint and pair as usual.
- If the controller pairs but inputs are not recognised:
sudo apt install joystick joystick-support - For DualSense on older kernels, install the hid-playstation module:
sudo modprobe hid_playstation
Method 4: Fix Generic USB Gamepad Not Detected
Generic or no-name gamepads sometimes need the usbhid and joydev modules to be loaded manually:
sudo modprobe usbhid
sudo modprobe joydev
To make these load on every boot:
echo "usbhid" | sudo tee -a /etc/modules
echo "joydev" | sudo tee -a /etc/modules
Reconnect the controller after running the modprobe commands.
Method 5: Fix Controller Not Working in Steam Games
Even if the controller works at the system level, Steam may not pass inputs to games correctly.
- Open Steam and go to Settings > Controller > General Controller Settings.
- Enable the checkbox for your controller type: Xbox Configuration Support, PlayStation Configuration Support, or Generic Gamepad Configuration Support.
- If using Proton (Windows games), also enable Steam Input per-game: right-click the game > Properties > Controller > set to Enable Steam Input.
- Calibrate the controller: in General Controller Settings, click on your controller and choose Calibrate.
Method 6: Fix Button Mapping With AntiMicroX
If the controller works but buttons are mapped wrong, AntiMicroX lets you remap any button or axis to a keyboard key, mouse click, or custom macro.
sudo apt install antimicrox
Open AntiMicroX, move/press each button on the controller to map it, then save the profile. Load the profile automatically on startup via File > Export > Add to Autostart.
Method 7: Fix Bluetooth Gamepad Lag or Disconnects
Bluetooth controllers on Linux Mint sometimes suffer from input lag or random disconnects, especially near 2.4GHz WiFi interference.
- Disable Bluetooth power saving:
sudo sed -i 's/#AutoEnable=false/AutoEnable=true/' /etc/bluetooth/main.conf - Disable USB autosuspend for the Bluetooth adapter: add
usbcore.autosuspend=-1to GRUB_CMDLINE_LINUX_DEFAULT in/etc/default/grub, then runsudo update-grub. - Move the Bluetooth dongle/adapter away from the WiFi router and other 2.4GHz devices.
Getting Help for Persistent Controller Issues
If your controller is detected but inputs don't register in any game, or if the device creates a /dev/input entry but jstest shows no movement, the issue is likely driver-level and benefits from specialist diagnosis. Our team at CloudHouse Technologies Pay-Per-Ticket Support provides remote Linux Mint support for hardware, gaming, and driver issues.
FAQ
Why does my Xbox controller work on Windows but not on Linux Mint?
Windows ships with Microsoft's proprietary Xbox driver. Linux uses the open-source xpad or xone driver. Load xpad with 'sudo modprobe xpad' first. For Xbox Series X/S controllers, install the xone driver from GitHub which adds support for the newer USB protocol.
How do I test if my gamepad is working on Linux Mint?
Run 'jstest /dev/input/js0' from Terminal. Press buttons and move sticks — you should see axis values and button state change in real time. If the file doesn't exist, the controller isn't detected at the kernel level.
My controller shows in jstest but doesn't work in games — why?
Games use either evdev or the older js API. Steam games use Steam Input which maps controller signals to game inputs. Enable the correct configuration support in Steam Settings > Controller > General Controller Settings for your controller type.
Does DualSense (PS5 controller) work on Linux Mint?
Yes — via USB natively, via Bluetooth with the hid_playstation kernel module. Load it with 'sudo modprobe hid_playstation'. On Linux Mint 21.3+ and 22.x, kernel 6.x includes full DualSense support including haptic feedback and adaptive triggers in supported games.
Why does my Bluetooth controller keep disconnecting on Linux Mint?
Usually Bluetooth power management is putting the adapter to sleep. Disable it by editing /etc/bluetooth/main.conf and setting AutoEnable=true. For persistent issues, adding 'usbcore.autosuspend=-1' to your GRUB kernel parameters stops USB-connected adapters from sleeping.
