bevyengine / bevyengine/bevy

Enable GameMode on linux

Open
#2,906 8 comments 1 reaction 0 assignees View on GitHub
A-Windowing C-Feature C-Performance O-Linux
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 16h
Merged PRs (30d)
171

Description

## What problem does this solve or what need does it fill?

> 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.
>
> GameMode was designed primarily as a stop-gap solution to problems with the Intel and AMD CPU powersave or ondemand governors, but is now host to a range of optimisation features and configurations.

## What solution would you like?

Use the `com.feralinteractive.GameMode` dbus interface (or [org.freedesktop.portal.GameMode](https://flatpak.github.io/xdg-desktop-portal/portal-docs.html#gdbus-org.freedesktop.portal.GameMode) when running inside flatpak) to activate game mode by default when staring the game.

## What alternative(s) have you considered?

Manually run the game using gamemoderun (or edit the launcher settings to use it) to enable game mode without changing the game. This won't help if the user doesn't know about the existence of GameMode in the first place (like me until today), but does have it installed. (I wouldn't be surprised if there is some gaming focuses linux distro that has it installed by default)

## Additional context

https://github.com/FeralInteractive/gamemode

Contributor guide

Open the contributing guide

Research direction

Start by tracing how Bevy starts a game on Linux and where platform-specific startup behavior is selected. Review the com.feralinteractive.GameMode D-Bus interface and the org.freedesktop.portal.GameMode alternative for Flatpak. Done means GameMode is activated by default at game startup without requiring gamemoderun, with existing non-Linux behavior preserved.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, rust
Domain
game-dev, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.