How to use Xbox One controller in Fedora 31 and not die trying?

Xbox One Controller Fedora 31

A few days ago I decided to install the new version of Fedora 31 on my laptop, rather than because of the new features that this new version incorporates, I simply decided to install it to see the progress that has been made with Wayland, since Fedora 28 I have not tested the system more thoroughly.

Besides that I want to test the performance in terms of games and especially the performance offered by Gnome to the system, because before having Fedora 31 I had installed Ubuntu 19.10, but being frank I taste the transition versions of Ubuntu and I prefer the LTS. Although the launch caught my attention because it boasts a great improvement in terms of system performance and for games.

Moving on to the main topic, after having installed Fedora 31 on my computer and perform some customization tasks to the system (which I will share little by little here on the blog, since the Fedora 31 desktop in clean was not to my liking) go install Steam on my computer and download some of my favorite titles To hang out (when I have time)

This is where I go on the odyssey of being able to use my Xbox One controller on Fedora 31 alongside Steam. Well, the main requirement to be able to use this command in Linux is that you have the support enabled and especially if it is used wirelessly is that the equipment has Bluetooth 4.0 so that the equipment recognizes and synchronizes it.

So far I have not tried using the USB control because the cables I have are short and they are annoying. But if you use the USB control, you shouldn't have a major problem, since the Linux Kernel from several versions already has the added support so you don't have to do more.

But to use it wirelessly we must activate Bluetooth on the equipment, wait for it to recognize it and synchronize it, if everything went well (which I doubt, because you're here for a reason) you can start using it.

On the contrary you will have to install some extra things to the system to be able to use the remote. Since even if the remote recognizes you when trying to synchronize it, it will appear to you as disconnected or it will appear connected but not with an established connection (a headache).

Requirements for using the Xbox One controller in Fedora 31

Searching the net I found various "solutions”Ranging from the simplest to having to edit some lines of the grub (I will not place the latter, as it causes various problems for many).

The first method is installing the linux-headers on the system as they are needed to define the interfaces between the kernel components.

For this in a terminal we are going to type the following command:

sudo dnf install kernel-modules-extra
sudo dnf install joystick-support

Once the installation is done, you can test to see if the connection is achieved, in which case we are not going to install these other packages:

sudo yum install kernel-devel
sudo yum install kernel

We try again. And well yesi haven't succeeded up to this point it may be due to the system's bluetooth driver, as may have "Enhanced Relay Mode" which causes issues on Linux with Xbox One controller.

Esto it can be disabled by typing the following:

sudo bash -c 'echo 1 > /sys/module/bluetooth/parameters/disable_ertm'

This will only work during the current session since when you restart the computer that mode is activated again, to deactivate it permanently you have to do the following:

sudo gedit /etc/modprobe.d/bluetooth.conf

We look for the following line and change it so that it looks like this:
options bluetooth disable_ertm=1

We save the changes and close the file.

And we try again. Finally reached this point and the solution that helped me is to add the Steam OS drivers to Fedora 31 (I found them by chance, trying to fix my problem).

These can be downloaded from the following link.

Or from the terminal with:

wget https://blog.desdelinux.net/wp-content/uploads/2019/11/dkms-xpad.tar.gz

Now we just have to unzip the file with:

tar -xzvf dkms-xpad.tar.gz

We enter the folder:

cd dkms-xpad
cd steamos-xpad

And we are going to execute the file:

run 'sudo sh install.sh'

By doing this, immediately Steam detected the controllers and opened the window for me to enable Xbox control and when I synchronize the remote now if it appeared with the active connection.

Although it is recommended to restart the system so that the drivers are loaded at the beginning of this. If you know of any other solution that has served you, feel free to share it.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   Michael Mayol said

    Using a game controller with a laptop is rare.

    But I think that programmers think that lignux users should be very smart - which we are now, and for that reason there are few of us - and not that I can enjoy it, also less smart people.

    Steam and / or Fedora should receive a suggestion for this xpad installation to be offered by connecting one, either by the Steam client or by a Fedora pop-up window.

    Because operating systems and applications must be for normal human beings, even those who are below normal and not just for the clever.