GameMode is a Linux system daemon that automatically applies CPU, GPU, and I/O performance optimizations when a game starts and reverts them when the game exits. It coordinates system-level tweaks by reading a plain-text configuration file, switching the CPU frequency scaling governor to performance mode, adjusting the I/O scheduler for low latency, and setting the graphics card to a high-performance power state through direct sysfs or driver interface writes.
The project includes a daemon that communicates with game launchers via Unix domain sockets, a hybrid GPU launcher that wraps game executables with GPU switching commands for seamless operation on laptops with multiple graphics adapters, and a configuration-driven profile manager that allows per-game or global adjustment of optimization parameters. Process lifecycle hooks monitor the game process PID to automatically trigger cleanup of all applied system tweaks when the game ends.
GameMode supports on-demand system tuning, enabling users to apply and revert CPU and I/O scheduler adjustments to improve system responsiveness during gameplay. The configuration file supports per-game profiles, allowing different optimization settings for different titles.