How to Enable GameMode for Performance on Arch Linux
Categories:
5 minute read
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:
- Daemon (
gamemoded
) – Runs in the background and applies performance tweaks. - 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.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.