This article will walk you through a guide to using “GameMode”, a free and open source command line utility that you can use to improve gaming performance on Linux. This tool comes with some predefined settings that can boost your frame rate / frames per second / frames per second for games running on your Linux system. It also provides a mechanism to tweak the default settings so that you can apply your own settings to further improve gaming performance. GameMode works with native Linux games, as well as Windows games that run on Linux using Wine or Steam Proton compatibility levels.
Key features of GameMode
GameMode is developed and supported by Feral Interactive, a Linux-friendly game development and publishing company that specializes in porting Windows-based games to Linux, Android, iOS, macOS and game consoles. You can use GameMode to optimize game performance on a case-by-case basis without applying it system-wide. This allows for better control over gaming performance. GameMode optimizes gaming performance by adjusting the priority order of processes, putting CPU and GPU governors in performance mode, optimizing I / O bandwidth, changing kernel scheduler settings, and blocking splash mode. Since GameMode is launched for every game, the settings applied are temporary and disabled when the user exits the game on the desktop.
Installing GameMode on Linux
You can install GameMode on Ubuntu with the following command:
$ sudo apt install gamemode
GameMode is available in the standard repositories of many Linux distributions, so you can find it in the package manager and install from there. You can also compile it from the complete source code available here …
Verifying that GameMode is installed successfully and is working correctly
The GameMode package comes with a utility command that you can use to simulate the effects of various settings applied by the main GameMode command. This command can be used to check if GameMode is successfully installed on your Linux system and works as expected. To simulate GameMode, run the following command:
If GameMode is working properly on your Linux PC, this command will exit with no output or error after being executed for about 10 seconds.
In case of any problem, the simulation command will give an error message in the terminal and you can use it to diagnose / debug the problem.
Using GameMode with Native Linux Games
To run Linux games optimized for GameMode, run the command in the following format:
$ gamemoderun "game_command or path_to_game_executable"
Replace the quoted text with either the game command or the full path to the game executable binary.
Here is a small test I ran using the “glxgears” application available for Linux (the command is run with vsync disabled). It shows the GameMode effect and how it boosts FPS in GPU intensive games and applications.
Frame rate before using GameMode:
Frame rate after using GameMode (second output block):
As you can see from the results, the FPS has increased by over 15%. However, depending on the game you are running and the CPU / GPU configuration of your Linux system, this gain may be higher or lower, and the results may vary.
Note that GameMode may increase the power consumption of your Linux system, and if you use GameMode on battery power without being connected to AC power, you may experience increased battery drain.
Using GameMode with Wine Games
Wine is a compatibility layer that allows you to run Windows applications and games on Linux. To use GameMode with Wine games, add the gamemoderun command just before the main Wine command. Here’s an example:
$ gamemoderun wine "exe_file or path_to_game_executable"
Using GameMode with native and proton games launched from the Steam client on Linux
Proton is based on Wine and is developed by Valve, the creators of the Steam game store and Half-Life games. Proton comes with many additional features and optimizations over the vanilla Wine implementation and is specifically designed to further improve the performance and compatibility of Windows based games on Linux. Proton, also called SteamPlay, is built into the official Steam client for Linux.
To run GameMode with both native games and Windows based games installed on Steam using Proton, go to your Game Library in the Steam client, right click on the game entry and select the Properties menu item as shown in the screenshot screen below:
You will get a new configuration window. On the GENERAL tab, enter the following command in the START OPTIONS input box and then start the game.
$ gamemoderun %command%
Here is a screenshot showing the final result:
Configuring Game Mode Settings
To configure GameMode settings, you need to download and modify its “ini” configuration file. You can download the official config file from here … Once downloaded, copy it to the “$ HOME / .config /” folder. The next time you launch GameMode, it will automatically pick up the various configuration options present in this file. The configuration file speaks for itself, with detailed comments and descriptions left by the developers themselves.
More information on GameMode config files can be found here …
GameMode can be used to dramatically increase the performance of both native and non-native games on Linux. It is also designed to run for every game and will automatically remove optimization when the game is closed. This allows you to resume working on the desktop and use other applications without completely logging out or rebooting.