Gaming on Linux has seen a significant boom in the past two years, thanks to the Proton compatibility layer developed by Valve software. With daily game ratings on ProtonDB and regular updates from Valve, Linux gaming is growing rapidly. This guide will show you how to enhance your Linux gaming experience with various controllers.
Moreover, gaming is incomplete without some good old retro games. And of course you can play them using your Keyboard and mouse, but that’s not the way they’re meant to be played. There are many controllers which you can use in order to play games on Linux, such as the Steam Controller, Xbox controller, Dual sense controller for PS5, Dual Shock controller for PS4 and Google’s Stadia controller (after updating the firmware).
In this tutorial, I will show you how can you add drivers for the Xbox controller and add its support to your Steam client, but the steps will entirely same for all the controllers (yes, including the driver package). So follow along!
Step-by-Step Guide: Adding Controller Drivers on Linux
Xboxdrv is the driver package which, upon installing, will make our controller/game pad automatically supported on the Linux platform. To install the driver package, open a Terminal window and type the following commands based on your Linux distribution:
# On Debian and Ubuntu based distributions sudo apt update && sudo apt install xboxdrv # On Arch Linux based distribution sudo pacman -S xboxdrv
On a Fedora workstation, you do not have to install any package on your system, as the drivers for your controller are already built into the OS since Fedora 32.
If you’re using a wireless controller, ensure Bluetooth is enabled on your PC or laptop. Then, connect your device if the controller has a Bluetooth interface. And if the controller connects via the 2.4GHz interface, then make sure that you have plugged in the USB dongle that came with it to your PC and turned on your Controller.
How to Add Controller Support on Steam for Linux
Open your Linux Steam Client and then go to the settings from the toolbar menu.
Now, go to the ‘Controller’ tab and let’s begin adding support for our Game Pad.
Now, in this dialog box, you will see your Device’s name on the bottom of all the configurations. Just select the appropriate layout for your Game Pad. Steam even supports Nintendo’s button layout if you are into playing Nintendo Games.
Highlight your device so that you customize additional settings, such as renaming the device and appropriating the dead zones.
When you click on ‘Identify’, your handheld will vibrate if it has Rumble support. If you want to disable that, then you can do so from the ‘Preferences’ Menu. Open the ‘Define layout’ menu if you want to customize how the buttons will work.
From the ‘Calibrate’ menu, you can configure different types of options for your Game pad, such as Dead Zones etc which often become a problem with every Joystick device over time.
Not just Retro games, many of the modern games also support Game Pad layout when it detects them. Just check the Game’s store page on steam whether ‘Full Controller Support’ or ‘Partial Controller Support’ is mentioned or not. The seamless integration of third-party controllers on Linux, without any need for user tinkering, is truly impressive. It’s a testament to the strides Linux gaming has made in recent years.
I was a bit skeptical about my new third party Xbox Game pad working on Linux, but it ran as it would work on Windows. I have not tried the controller on any platform other than Steam, but if you have installed any games from other launchers such as Lutris or Heroic on your Linux Desktop, try adding those games to steam (Can be done with the press of a button on both apps) if your Controller is not detected instantly. What’s your favorite game to play with a controller on Linux?