# feralinteractive/gamemode

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/feralinteractive-gamemode).**

5,700 stars · 209 forks · C · bsd-3-clause

## Links

- GitHub: https://github.com/FeralInteractive/gamemode
- awesome-repositories: https://awesome-repositories.com/repository/feralinteractive-gamemode.md

## Topics

`linux` `videogames`

## Description

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.

## Tags

### Operating Systems & Systems Programming

- [Game Launch Presets](https://awesome-repositories.com/f/operating-systems-systems-programming/game-launch-presets.md) — Requests system optimizations from the daemon automatically when starting a game. ([source](https://github.com/FeralInteractive/gamemode#readme))
- [Gaming Mode Boot Sequences](https://awesome-repositories.com/f/operating-systems-systems-programming/gaming-mode-boot-sequences.md) — A system service that coordinates performance optimizations across CPU, GPU, and I/O subsystems for gaming workloads.
- [Hybrid GPU Launchers](https://awesome-repositories.com/f/operating-systems-systems-programming/gpu-switching-automations/hybrid-gpu-launchers.md) — Wraps game executables with GPU switching commands for seamless operation on hybrid graphics laptops.

### Development Tools & Productivity

- [Game Performance Optimizers](https://awesome-repositories.com/f/development-tools-productivity/gaming-utilities/performance-optimization-tools/game-performance-optimizers.md) — Automatically applies CPU governor, I/O priority, and GPU performance tweaks when launching games and reverts them on exit.
- [Linux Compatibility Optimizations](https://awesome-repositories.com/f/development-tools-productivity/gaming-utilities/performance-optimization-tools/game-performance-optimizers/linux-compatibility-optimizations.md) — A daemon that automatically applies CPU governor, I/O priority, and GPU performance tweaks when launching games and reverts them on exit.
- [Configuration Profiles](https://awesome-repositories.com/f/development-tools-productivity/configuration-profiles.md) — Adjusts CPU governor, I/O priority, and GPU performance mode through a configuration file. ([source](https://github.com/FeralInteractive/gamemode#readme))
- [Per-Game Profile Managers](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/performance-resource-profilers/cpu-profilers/per-game-profile-managers.md) — A configuration-driven system that applies and reverts CPU and I/O scheduler settings per-game to maximize responsiveness.

### DevOps & Infrastructure

- [Unix Domain Socket IPC](https://awesome-repositories.com/f/devops-infrastructure/container-daemons/client-server-daemon-architectures/unix-domain-socket-ipc.md) — Communicates between game launcher and system daemon using Unix domain sockets for requesting and releasing optimizations.
- [Hybrid Graphics Wrappers](https://awesome-repositories.com/f/devops-infrastructure/container-runtime-wrappers/gpu-runtime-wrappers/hybrid-graphics-wrappers.md) — Prepends a GPU selection command to game launches to ensure optimizations target the correct graphics adapter.

### Hardware & IoT

- [Performance Mode Switchers](https://awesome-repositories.com/f/hardware-iot/integration-performance/gpu-performance/performance-mode-switchers.md) — Sets the graphics card to a high-performance power state through direct sysfs or driver interface writes.

### Software Engineering & Architecture

- [Process Exit Hooks](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/hook-event-orchestration/hook-resolution-lifecycles/lifecycle-hooks/process-exit-hooks.md) — Monitors the game process PID to detect exit and automatically trigger cleanup of all applied system tweaks.

### System Administration & Monitoring

- [CPU Performance Tuners](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/performance-tuning/cpu-performance-tuners.md) — Switches the Linux CPU frequency scaling governor to performance mode when a game starts and reverts it on exit.
- [On-Demand System Tuners](https://awesome-repositories.com/f/system-administration-monitoring/on-demand-system-tuners.md) — Applies and reverts CPU and I/O scheduler adjustments on demand to improve system responsiveness during gameplay.

### Artificial Intelligence & ML

- [Hybrid Graphics Launchers](https://awesome-repositories.com/f/artificial-intelligence-ml/local-model-execution/hybrid-execution-engines/cpu-gpu-hybrid-runtimes/hybrid-graphics-launchers.md) — Prepends a GPU wrapper command to game launches so optimizations work with hybrid graphics solutions. ([source](https://github.com/FeralInteractive/gamemode#readme))
- [Hybrid Graphics Workflows](https://awesome-repositories.com/f/artificial-intelligence-ml/local-model-execution/hybrid-execution-engines/cpu-gpu-hybrid-runtimes/hybrid-graphics-workflows.md) — Runs games on hybrid graphics setups with automatic GPU wrapper commands to ensure optimizations apply correctly.

### Data & Databases

- [Latency-Tuned Schedulers](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-persistence-management/persistence-i-o-schedulers/latency-tuned-schedulers.md) — Adjusts the block device I/O scheduler to a low-latency setting during gameplay and restores the original on exit.
