Skip to content

Linux Game Controllers

Mattscreative edited this page Dec 5, 2025 · 2 revisions

Linux Game Controllers Guide

Complete beginner-friendly guide to game controllers on Linux, covering Arch Linux, CachyOS, and other distributions including Xbox, PlayStation, and generic controllers.


Table of Contents

  1. Xbox Controllers
  2. PlayStation Controllers
  3. Generic Controllers
  4. Controller Configuration
  5. Troubleshooting

Xbox Controllers

Xbox One/Series Controllers

Wired connection:

# Usually works automatically
# Plug in via USB

Wireless (Bluetooth):

# Pair controller
bluetoothctl
scan on
pair XX:XX:XX:XX:XX:XX
connect XX:XX:XX:XX:XX:XX

Install drivers:

# Arch/CachyOS
sudo pacman -S xpadneo-dkms  # For newer controllers

# Or xpad (older)
sudo pacman -S xpad

Xbox 360 Controllers

Wired:

# Install drivers
sudo pacman -S xboxdrv

# Or use xpad
sudo pacman -S xpad

PlayStation Controllers

PlayStation 4/5 Controllers

Wired connection:

# Usually works automatically
# Plug in via USB

Wireless (Bluetooth):

# Pair controller
bluetoothctl
scan on
pair XX:XX:XX:XX:XX:XX
connect XX:XX:XX:XX:XX:XX

Install drivers:

# Arch/CachyOS
sudo pacman -S bluez-utils

# DS4 support
sudo pacman -S ds4drv

Generic Controllers

USB Controllers

Most USB controllers work automatically:

# Check if detected
lsusb

# Test with jstest
sudo pacman -S joystick
jstest /dev/input/js0

Configure with jstest-gtk

GUI configuration:

# Install
sudo pacman -S jstest-gtk

# Launch
jstest-gtk

Controller Configuration

Steam Controller Support

Enable in Steam:

  1. SteamSettingsController
  2. Enable controller support
  3. Configure per-game

SDL2 Configuration

Configure SDL:

# Set environment variable
export SDL_GAMECONTROLLERCONFIG="..."

# Or use antimicrox
sudo pacman -S antimicrox

Troubleshooting

Controller Not Detected

Check connection:

# List input devices
ls /dev/input/

# Check USB devices
lsusb

# Check kernel modules
lsmod | grep -i xpad

Controller Not Working in Games

Check permissions:

# Add user to input group
sudo usermod -aG input username

# Log out and back in

Summary

This guide covered game controller setup for Xbox, PlayStation, and generic controllers on Arch Linux, CachyOS, and other distributions.


Next Steps


This guide covers Arch Linux, CachyOS, and other Linux distributions. For distribution-specific details, refer to your distribution's documentation.

Clone this wiki locally