Controllers

Below you can find information about different controllers that you could utilize for your day-to-day gaming.

In case some additional steps would be required to make them work properly within Fedora ecosystem - here you can find guidance on how to install them.

Playstation Controllers

DualSense 5 Controller

Via cable

Controller should work as soon as you plug it to your machine via USB cable.

Via Bluetooth

Please note that there were identified issues with Bluetooth connection stability and input lag.
Gude below recommends connecting controller via bluetoothctrl. While you can still try to connect via dedicated GUI Bluetooth manager, method described below is suggested, as it is more stable.
  1. Run bluetoothctrl command from terminal. You should see [bluetoothctrl]> at the beginning of the new line, which implies that you are now working within the context of bluetoothctrl application.

  2. Start searching for new devices by typing scan on command.

  3. Start pairing process on your DualSense 5 controller, by pressing Playstation button and Share button (smaller button on the top left side of touchpad) simultaneously for few second. Sides of touchpad should start to blink fast with blue light, which means that pairing process has been enabled.

  4. After few moments, terminal should display DualSense controller with it’s dedicated MAC address (placeholder on the example below): `

    [NEW] Device [MAC-ADDRESS] DualSense Wireless Controller
  5. Start pairing by providing [MAC-ADDRESS] to the pair command:

    [bluetoothctl]> pair [MAC-ADDRESS]
  6. After pairing has been completed, use following command to connect to the DualSense 5 controller:

    [bluetoothctl]> connect [MAC-ADDRESS]
Troubleshooting

I am not able to use the controller using method described above.

Before trying to pair DualSense 5 controller via Bluetooth, you may need to change HID (Human-Interface Device) protocool handling in /etc/bluetooth/input.conf file

Find following line:

#UserspaceHID=true

And change it to following one:

UserspaceHID=false

Now you can start pairing process.

Xbox Controllers

Xbox Series S Wireless Controller

This section describes how to connect controller prepared for Xbox Series X|S to your machine.

Via cable

Controller should work as soon as you plug it to your machine via USB cable.

Via Bluetooth

  1. Turn on your Xbox Wireless Controller.

  2. Press "Pair" button located at the back of the controller. Xbox logo on the controller should start blinking rapidly, which implies that pairing mode has been enabled.

  3. Navigate to Bluetooth settings on your operating system.

  4. Select "Xbox Wireles Controller" on the list. If you don’t see it, make sure pairing mode is enabled and use "Search" option to refresh the list of identified Bluetooth devices.

  5. Accept the pairing request to connect your controller via Bluetooth.

Troubleshooting

I am not able to pair my controller via Bluetooth

Repository mentioned below is maintained by third party, not related to Fedora. You are installing this software at your own risk.

You may need to install additional Xbox Controller driver, available at repository xpadneo.

One of the ways would be to use Copr repository to install the driver:

dnf copr enable atim/xpadneo
dnf install xpadneo

Afterwards, please edit /etc/bluetooth/main.conf file (elevated access required). Find the following line:

#FastConnectable = false

Uncomment this line, and replace false value with true:

FastConnectable = true

Please reboot your machine after installation and try to pair your controller again.

My controller disconnects after several seconds

Installing xpadneo driver from previous section may resolve this issue. As an alternative, you may need to update your controller software version. You would need to do it either via Xbox console or through Microsoft Windows Xbox Accessories application. Currently there is no way to update Xbox Controller software from Linux.

Nintendo Switch controllers

Nintendo Switch Pro Controller

Via cable

Controller should work as soon as you plug it to your machine via USB cable.

Via Bluetooth

Please note that there were identified issues with Bluetooth connection stability and input lag.
Gude below recommends connecting controller via bluetoothctrl. While you can still try to connect via dedicated GUI Bluetooth manager, method described below is suggested, as it is more stable.
  1. Run bluetoothctrl command from terminal. You should see [bluetoothctrl]> at the beginning of the new line, which implies that you are now working within the context of bluetoothctrl application.

  2. Start pairing process on your DualSense 5 controller, by pressing Playstation button and Share button (smaller button on the top left side of touchpad) simultaneously for few second. Sides of touchpad should start to blink fast with blue light, which means that pairing process has been enabled.

  3. Start searching for new devices by typing scan on command.

  4. After few moments, terminal should display Nintendo Pro controller with it’s dedicated MAC address (placeholder on the example below):

    [NEW] Device [MAC-ADDRESS] Pro Controller
  5. Start pairing by providing [MAC-ADDRESS] to the pair command:

    [bluetoothctl]> pair [MAC-ADDRESS]
  6. After pairing has been completed, use following command to connect to the Nintendo Switch Pro controller:

    [bluetoothctl]> connect [MAC-ADDRESS]
Troubleshooting

I am not able to use the controller using method described above.

Before trying to pair Nintendo Switch Pro controller via Bluetooth, you may need to change HID (Human-Interface Device) protocool handling in /etc/bluetooth/input.conf file

Find following line:

#UserspaceHID=true

And change it to following one:

UserspaceHID=false

Now you can start pairing process.

Other controllers

Support may vary based on controller - please look into community boards for information, if your controller will be supported.