Controllers
This guide explains how to connect PlayStation, Xbox, and Nintendo Switch controllers to Fedora for gaming. You’ll learn to pair controllers via USB and Bluetooth, and troubleshoot common issues.
What are Controllers?
Controllers are input devices that interact with games on your computer. They can be wired (connected via USB) or wireless (connected via Bluetooth). Controllers provide a more tactile and immersive gaming experience compared to keyboard and mouse, especially for console-style games.
Playstation Controllers
DualSense 5 Controller
Via Bluetooth
There were identified issues with Bluetooth connection stability and input lag. |
The guide below recommends connecting your controller using the bluetoothctrl
tool in the terminal. While you can still try to connect using the graphical Bluetooth manager, the method described below is suggested, as it is generally more stable.
-
Open your terminal
-
Run the
bluetoothctrl
command and confirm that you see[bluetoothctrl]>
at the beginning of the new line. This means you are now using the bluetoothctrl application. -
Type
scan on
and press Enter to search for new devices. -
Put your DualSense 5 controller into pairing mode:
-
Press and hold the PlayStation button and the Share button (the smaller button on the top left side of the touchpad) simultaneously for a few seconds.
-
The sides of the touchpad will blink quickly with a blue light, indicating that pairing mode is enabled.
-
-
Wait for the terminal to display your DualSense controller with its MAC address, for example:
[NEW] Device [MAC-ADDRESS] DualSense Wireless Controller
-
Start pairing by providing [MAC-ADDRESS] to the
pair
command:[bluetoothctl]> pair [MAC-ADDRESS]
-
After pairing has been completed, enter the following command to connect to the DualSense 5 controller:
[bluetoothctl]> connect [MAC-ADDRESS]
Troubleshooting
Problem 1: I am unable to use the controller with the method described above.
Solution: Before pairing the DualSense 5 controller via Bluetooth, you may need to adjust the human interface device(HID ) protocol handling in the /etc/bluetooth/input.conf
file.
Steps:
-
Find following line:
#UserspaceHID=true
-
Change it to::
UserspaceHID=false
-
Now you can start pairing process.
Xbox Controllers
Xbox Series S Wireless Controller
This section describes how to connect a controller prepared for Xbox Series X|S to your machine.
Via Bluetooth
-
Turn on your Xbox Wireless Controller.
-
Press the Pair button located at the back of the controller. The Xbox logo on the controller should start blinking rapidly, which implies that pairing mode has been enabled.
-
Go to the Bluetooth settings on your operating system.
-
Select Xbox Wireless Controller from the list. If you don’t see it, ensure pairing mode is enabled and use the "Search" option to refresh the list of available Bluetooth devices.
-
Accept the pairing request to connect your controller via Bluetooth.
Troubleshooting
Problem 1: I am unable to pair my controller via Bluetooth.
Solution
-
Install Xbox Controller Driver You need to install additional Xbox Controller driver, available at repository xpadneo. WARNING: The software mentioned below is maintained by a third party and is not related to Fedora. You are installing it at your own risk.
-
Use the Copr repository to install the driver:
dnf copr enable atim/xpadneo dnf install xpadneo
-
-
Edit Bluetooth Configuration
-
Open the Bluetooth configuration file (elevated access required):
sudo nano /etc/bluetooth/main.conf
-
Find the following line:
#FastConnectable = false
Uncomment this line and replace
false
withtrue
:FastConnectable = true
-
-
Reboot and Test
-
Reboot your machine after installation.
-
Try to pair your controller again.
-
Problem 2: My controller disconnects after several seconds.
Solution:
-
Install the xpadneo driver from the previous section may resolve this issue.
-
You need to update your controller’s firmware version. You can do this either:
-
Via Xbox console, or
-
Through the Microsoft Windows Xbox Accessories application
-
Currently, there is no way to update Xbox Controller firmware from Linux. |
Nintendo Switch controllers
Nintendo Switch Pro Controller
Via Bluetooth
There were identified issues with Bluetooth connection stability and input lag. |
The guide below recommends connecting your controller via bluetoothctrl
. While you can still try to connect via a dedicated GUI Bluetooth manager, the method described below is recommended because it is more stable.
-
Open your terminal
-
Run the bluetoothctrl command and confirm that you see
[bluetoothctrl]>
at the beginning of the new line. This means you are using the bluetoothctrl application. -
Put your Nintendo Switch Pro controller into pairing mode:
-
Press and hold the PlayStation button and the Share button (the smaller button on the top left side of the touchpad) simultaneously for a few seconds.
-
The sides of the touchpad will blink quickly with a blue light, indicating that pairing mode is enabled.
-
-
Type
scan on
and press Enter to search for new devices. -
Wait for the terminal to display your Nintendo Pro controller with its MAC address, for example:
[NEW] Device [MAC-ADDRESS] Pro Controller
-
Start pairing by providing `[MAC-ADDRESS]`to the pair command:
[bluetoothctl]> pair [MAC-ADDRESS]
-
After pairing has been completed, enter the following command to connect to the Nintendo Switch Pro controller:
[bluetoothctl]> connect [MAC-ADDRESS]
Troubleshooting
Problem 1: I am unable to use the controller using the method described above
Solution: Configure HID Protocol Handling
Before trying to pair your Nintendo Switch Pro controller via Bluetooth, you need to change the HID protocol handling in the /etc/bluetooth/input.conf file.
Steps:
-
Edit the configuration file (elevated access required):
bashsudo nano /etc/bluetooth/input.conf
-
Find the following line:
#UserspaceHID=true
-
Change it to:
UserspaceHID=false
-
Start the pairing process using the method described above
Want to help? Learn how to contribute to Fedora Docs ›