Games

Useful Tools for Linux Gamers

If you like to play games on Linux, chances are that you may have used apps and utilities like Wine, Lutris and OBS Studio to improve the gaming experience. Apart from these projects, there are some other handy tools that provide useful features mostly to complement and enhance Linux gaming on your system. This article will list some of these apps.

Feral’s Game Mode

Feral Interactive is a game studio that specializes in porting Windows and console games to Linux, macOs and Android. They have brought many popular games to Linux, Tomb Raider and DiRT series are some of them.

Game Mode is being developed by Feral to provide Linux users a way to speedup and optimize games running on their system. Some of the features of game mode include the ability to change CPU governor, increasing the priority of a running game process, increasing the priority of I/O events and a high performance mode for dedicated GPUs.

Game mode can be installed in Ubuntu using a PPA. Run commands below to add the required PPA and install game mode on Ubuntu:

$ sudo add-apt-repository ppa:samoilov-lex/gamemode
$ sudo apt update
$ sudo apt install gamemode

If the PPA above doesn’t provide packages for your Ubuntu version, you can try directly installing deb packages available here. You can also compile the source code to get executable binaries for game mode. Instructions to compile game mode are available here.

To run a game in game mode, execute a command in the following format:

$ gamemoderun /path/to/game/executable

To enable game mode for a Steam game, add following launch option in the game properties window (right click on a game title in the Steam library):

$ gamemoderun %command%

A sample configuration file for game mode is available here. It can be used as a starting point for your own customizations. Store your customized .ini file in “$HOME/.config/” directory.

Mesa Vulkan Drivers

Many native Linux games have been using Vulkan renderer to deliver improved performance and better graphics. This is also true for Wine and Proton games using DXVK and D9VK to run games on a Vulkan backend. Unfortunately, Vulkan drivers are not installed by default in Ubuntu as of today. This may change in the future but as of now, all native games that support Vulkan API end up using fallback OpenGL renderer as Vulkan drivers are simply not present in the system by default.

If you are using open source graphics drivers, you can fix this problem by running the command below:

$ sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386

Now all games and emulators using Vulkan API will automatically pick it up or will give you an option to switch to it.

Wine AppDB / ProtonDB / SteamDB

Using some nicely curated databases, Linux gamers can do some research about compatibility and game popularity. These databases are community driven projects and are updated regularly.

Wine AppDB is probably the oldest of all these. It provides a large database of apps and games tested using Wine’s Windows compatibility layer for Linux. This database can be filtered using various advanced options and a platinum rating indicates good compatibility with Linux.

Proton is Steam’s adaptation of Wine and it comes with some additional features, bug fixes and quality of life updates. ProtonDB, as the name suggests, is a database for Proton games tested on Linux. Games playable on Linux using Proton are assigned various ratings with platinum rating indicating best compatibility.

SteamDB is another database that can be used to browse information about Linux games. It provides a comprehensive list of Steam games with many advanced filters not available in the official steam website. Unlike other lists mentioned above, this database does not provide any compatibility notes. However, it does include a Linux only filter and can help you in taking a purchase decision by narrowing down results with its deep search options.

FPS Counter Scripts

I have written a comprehensive guide about displaying FPS counter as an overlay on Linux games. It covers various methods that can be used to show FPS on OpenGL and Vulkan games running on different GPU drivers. You can try these methods and I am sure one of them will work for you depending on your hardware configuration.

Built-in GNOME Shell Screen Recorder

GNOME Shell comes with a built-in screen capturing utility that can be used to make small screencasts having a maximum limit of 30 seconds by default. This tool doesn’t capture sound and FPS is capped at 30, so it is not ideal for users who want to record high quality streams. However for casual use or for making GIFs, this is an excellent tool that just works and doesn’t require you to install any third party apps.

To start and stop video recording using GNOME Shell recorder, you have to use the following key combination:

< CTRL + ALT + SHIFT+ R >

It is possible to increase the 30 second recording limit to infinite by using the command below:

$ gsettings set org.gnome.settings-daemon.plugins.media-keys max-screencast-length 0

DualShock Battery Percentage GNOME Shell Extension

As the name suggests, DualShock (DS) battery percentage GNOME Shell extension shows remaining battery levels for your bluetooth connected DS4 and DS3 game controllers. It comes without any configuration options but gets the job done by displaying a small indicator on top panel. If you are running a fullscreen or borderless game, you can use <ALT + TAB> or <SUPER> key to quickly have a look at remaining battery percentage.

You can download the extension from here. Latest versions of KDE has built-in support to show battery percentage of DS4 controller. To check the battery levels, you have to click on system tray and navigate to the battery icon tab.

That’s it about this article. Some of these are not full fledged apps and may not have many use cases, but overall they help improve and grow the Linux gaming ecosystem.

About the author

Nitesh Kumar

Nitesh Kumar

I am a freelancer software developer and content writer who loves Linux, open source software and the free software community.