How to Enable GameMode for Performance on Arch Linux

How to Enable GameMode for Performance on Arch Linux

Gaming on Linux has come a long way, and distributions like Arch Linux provide bleeding-edge support for the latest libraries, graphics drivers, and performance optimization tools. Among these tools, GameMode stands out as a lightweight and effective way to temporarily optimize system performance during gaming sessions.

Originally developed by Feral Interactive, GameMode is a daemon/lib combo that allows games to request a set of performance-enhancing tweaks. These tweaks can include CPU governor changes, I/O priority adjustments, and disabling certain power-saving features.

In this guide, we’ll walk through what GameMode is, how it works, how to install and enable it on Arch Linux, and how to integrate it into your gaming workflow.


What is GameMode?

GameMode is an open-source Linux tool that allows games to request system-level performance optimizations. When enabled, it can:

  • Set the CPU governor to performance
  • Increase the I/O priority of the game process
  • Disable screensaver and sleep while gaming
  • Adjust niceness values (CPU scheduling priority)
  • Inhibit frequency scaling
  • Run custom scripts for extra tweaks

These changes are temporary and are reverted as soon as the game exits. This makes GameMode a great “set it and forget it” tool for performance tuning during gaming sessions.


Why Use GameMode on Arch Linux?

Since Arch is a rolling-release distribution, you’re likely using the latest versions of Mesa, graphics drivers, and the Linux kernel. GameMode complements this by ensuring your system runs in a high-performance state while gaming, without the need for permanent system tweaks that could increase power consumption or wear on your hardware.

If you’re playing games through Steam, Lutris, or other Linux game launchers, GameMode can easily integrate with them.


Prerequisites

Before installing GameMode, ensure that your system meets the following:

  • You’re running a relatively modern Linux kernel (5.x and above).
  • You have sudo/root access to install and configure packages.
  • You have a compatible CPU governor and systemd setup (default on Arch).
  • You have a game launcher that supports GameMode (optional, but useful).

Step 1: Installing GameMode on Arch Linux

Arch makes it easy to install GameMode through the official repositories.

Install via pacman

Open a terminal and run:

sudo pacman -S gamemode

This installs the GameMode daemon (gamemoded), the client library, and the command-line tool gamemoderun.

Verify the Installation

You can verify that GameMode is installed by running:

gamemoderun --version

You should see output like:

GameMode client v1.7
GameMode daemon v1.7

Note: The version numbers may vary based on updates.


Step 2: Understanding How GameMode Works

GameMode consists of two parts:

  1. Daemon (gamemoded) – Runs in the background and applies performance tweaks.
  2. Client (gamemoderun) – Wraps around game executables to request GameMode activation.

When you launch a game with gamemoderun, it sends a DBus request to gamemoded, which then activates the tweaks. When the game exits, the daemon reverts everything.


Step 3: Starting and Enabling the GameMode Daemon

GameMode uses systemd to manage its background service. To ensure it’s running properly, do the following:

Start the service manually

systemctl --user start gamemoded

Enable it to start automatically on login

systemctl --user enable gamemoded

Check its status

systemctl --user status gamemoded

You should see output indicating that it is active and running.

If there are issues, check the logs with:

journalctl --user -u gamemoded

Step 4: Using GameMode with Games

Now that GameMode is installed and running, you can begin using it with your games.

1. Native Linux Games

If you’re launching a game via terminal, just prepend the command with gamemoderun, like so:

gamemoderun ./YourGameBinary

Or if the game is installed system-wide:

gamemoderun /usr/games/game-name

2. Steam Integration

Steam has built-in support for GameMode. You can enable it by adding a launch option:

  • Open Steam.
  • Right-click on a game > Properties.
  • Under the General tab, find the Launch Options field.
  • Add:
gamemoderun %command%

This ensures that every time the game launches, GameMode is automatically enabled.

3. Lutris Integration

Lutris also supports GameMode:

  • Open Lutris and select the game.
  • Click the Configure icon (gear symbol).
  • Go to the System Options tab.
  • Set Enable Feral GameMode to True.
  • Save and launch the game.

4. Wine/Proton Games

GameMode works just as well with Wine or Proton, as long as it’s launched with gamemoderun. For example:

gamemoderun wine your-game.exe

Step 5: Configuring GameMode

The default configuration works for most users, but you can customize it.

Config file location

~/.config/gamemode.ini

If it doesn’t exist, you can create it manually:

cp /usr/share/doc/gamemode/example/gamemode.ini ~/.config/gamemode.ini

Some options you can configure

  • CPU Governor (default: performance)
  • I/O Niceness (default: 0)
  • CPU Niceness (default: -10)
  • Custom start/stop scripts for enabling/disabling GPU overclocking or other tweaks.

Example section of gamemode.ini

[general]
renice=10
iomask=0
softrealtime=true

[custom]
start=~/scripts/gamemode_start.sh
end=~/scripts/gamemode_end.sh

Step 6: Testing GameMode

To verify GameMode is active when running a game, you can use the GAMEMODE_LOG environment variable.

GAMEMODE_LOG=1 gamemoderun ./YourGameBinary

This will output log messages to stderr, confirming that GameMode has been activated.

Sample output:

GameMode started
GameMode: governor set to performance
GameMode: process niceness set
GameMode stopped

Optional: Performance Monitoring Tools

You can use tools like htop, cpufreq-info, or iostat to see the effects of GameMode in real-time.

Check CPU governor

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

You should see performance during GameMode activation.

Monitor I/O priority

Install iotop:

sudo pacman -S iotop

Then watch the I/O priority for your game process.


Troubleshooting

GameMode not activating

  • Ensure gamemoded is running (systemctl --user status gamemoded)
  • Check logs (journalctl --user -u gamemoded)
  • Use GAMEMODE_LOG=1 to debug activation issues.

Permissions error

Ensure the gamemoded user service is enabled for your user and not system-wide. If you installed GameMode as root, don’t enable it via sudo systemctl, but rather with --user.


Conclusion

GameMode is a powerful, lightweight tool for squeezing more performance out of your Linux system during gameplay. On Arch Linux, installing and configuring GameMode is straightforward thanks to its inclusion in the official repositories and seamless integration with gaming platforms like Steam and Lutris.

Whether you’re a casual gamer or a power user, enabling GameMode is a great way to optimize performance without compromising on stability or needing to tweak system settings manually every time you launch a game.

By following the steps in this guide, you should now have GameMode up and running, ready to deliver a smoother, more responsive gaming experience on your Arch Linux system.