mach/libs/gamemode
Stephen Gutekanst f5481ec557 gamemode: add README
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-04-05 03:08:59 -07:00
..
.github all: update pull request template to reflect new libs/ dir 2022-08-26 15:12:04 -07:00
src gamemode: fix compilation after build change 2023-01-02 12:49:58 -07:00
upstream gamemode: use zig build 2022-09-18 17:09:54 -07:00
.gitattributes all: move standalone libraries to libs/ subdirectory 2022-08-26 15:12:04 -07:00
.gitignore all: move standalone libraries to libs/ subdirectory 2022-08-26 15:12:04 -07:00
build.zig all: cache module() returns to avoid duplicate modules 2023-03-15 21:20:28 -07:00
fetch_upstream.sh all: move standalone libraries to libs/ subdirectory 2022-08-26 15:12:04 -07:00
LICENSE all: move standalone libraries to libs/ subdirectory 2022-08-26 15:12:04 -07:00
LICENSE-APACHE all: move standalone libraries to libs/ subdirectory 2022-08-26 15:12:04 -07:00
LICENSE-MIT all: move standalone libraries to libs/ subdirectory 2022-08-26 15:12:04 -07:00
README.md gamemode: add README 2023-04-05 03:08:59 -07:00

mach/gamemode - leverage Linux gamemode from Zig

mach/gamemode allows Linux games written in Zig to request gamemode be enabled if the user's machine already has it installed/present. Otherwise, it simply does nothing (there are no dependencies and your game will still run on all Linux machines that do not have gamemode installed.)

This is preferred as it means your game will automatically invoke gamemode for the user when running, rather than them having to manually enable it.

This repository is a separate copy of the same library in the main Mach repository, and is automatically kept in sync, so that anyone can use this library in their own project if they like!

What is Linux GameMode?

Used by titles such as DiRT 4, and many Tomb Raider and Total War games, GameMode is a daemon/lib combo for Linux that allows games to request a set of optimisations be temporarily applied to the host OS and/or a game process, including:

CPU governor
I/O priority
Process niceness
Kernel scheduler (SCHED_ISO)
Screensaver inhibiting
GPU performance mode (NVIDIA and AMD), GPU overclocking (NVIDIA)
Custom scripts

GameMode packages are available for Ubuntu, Debian, Solus, Arch, Gentoo, Fedora, OpenSUSE, Mageia and possibly more.

Join the community

Join the Mach community on Discord to discuss this project, ask questions, get help, etc.

Issues

Issues are tracked in the main Mach repository.

Contributing

Contributions are very welcome. Pull requests must be sent to the main repository to avoid some complex merge conflicts we'd get by accepting contributions in both repositories. Once the changes are merged there, they'll get sync'd to this repository automatically.