Docs / Use
Gaming
Install Steam and Gaming Mode, check the machine is ready, use rime game and rime mode, set per-game profiles, and run games on the discrete GPU.
On this page 10 sections
What ships, and what you install
The image already carries the parts that must be signed to load under Secure
Boot: the NVIDIA driver (580 series), xone for Xbox One and Series
controllers, and xpadneo for Xbox controllers over Bluetooth. CI builds them
against Rime’s kernel and signs them with the same key as the kernel, so the key
you enrolled at install covers them.
The gaming programs install when you want them:
sudo rime install steam gamescope mangohud gamemode
They go into Rime’s system extension, like any other package, and keep updating
with sudo rime update. See Installing software. Sunshine is
not in any enabled repository; it needs a COPR or a downloaded .rpm.
Is this machine ready?
rime gaming
rime gaming --json
It reports whether Gaming Mode can start and whether it is set up: the login screen’s Gaming Mode entry, the gamescope session, which screen and GPU Gaming Mode will use, and any connected controllers. It changes nothing and exits non-zero when Gaming Mode would not start. Settings, System, Gaming covers Gaming Mode, what it needs and the performance policy.
Rime Gaming Mode
Gaming Mode is Steam’s Big Picture interface running inside gamescope, drawing straight to the display with no desktop compositor in between. The login screen offers Rime Gaming Mode once gamescope is installed.
- To enter it, pick it at the login screen, or open the power menu (the Rime mark at the top left) and choose Gaming, then Enter Gaming Mode. That logs you out and brings back the login screen with Gaming Mode selected.
- To leave it, quit Steam. The session ends and the login screen returns.
- There is no automatic login, so each switch asks for your password once.
Which screen. Gaming Mode runs on the GPU that drives the connected monitor,
and prefers an external monitor over the built-in panel. On a laptop whose
external port is wired to the discrete GPU, that puts the game on the discrete
GPU and on the monitor. rime gaming names the screen it will use.
The MangoHud overlay is off in Gaming Mode. gamescope’s overlay option and its native Wayland option cannot both be on, and Rime keeps native Wayland games working.
On entry, Gaming Mode also switches on game mode, below, and releases it when the session ends.
rime game: the hardware settings
rime game start # enter game mode
rime game start --pid 12345 # and move a process (and its children) onto the game cores
rime game attach 12345 # add another process to a running session
rime game status
rime game stop # restore everything game mode changed
Game mode moves the game onto the performance cores, steers interrupts away from them, locks GPU clocks, selects the highest power tier and requests a sched-ext scheduler (below).
rime mode: named modes
A mode is a named combination of the power tier, the AC/battery auto-switch and game mode. It needs no root and stores no state: the current mode is worked out from what the machine is doing.
rime mode list
rime mode show gaming # what it changes, what it only reports, and why
rime mode status
rime mode set gaming
rime mode set gaming --dry-run
rime mode set --auto # apply what rime workload measured
rime mode set daily # back to normal
| Mode | Power tier | Game mode |
|---|---|---|
daily |
automatic | off |
gaming |
performance | on |
development |
performance | off |
creator |
performance | off |
ai |
balanced | off |
battery |
power-saver | off |
couch |
balanced | off |
server |
performance | off |
gaming is the only mode that turns game mode on. Nothing switches modes by
itself; rime mode set --auto applies a suggestion once, when you run it.
Two read-only companions:
rime workload # what the machine is measured to be doing, and which mode that suggests
rime perf # CPU and GPU clocks, power, temperatures, VRAM, scheduler
rime perf reports frame time as unavailable and says why, rather than printing
a number it did not measure.
Per-game profiles
A profile stores a mode, a power tier and a fan mode for one game, keyed by its
Steam AppID, in ~/.config/rime/games.toml.
rime game profile set 1091500 --title "My game" --mode gaming --fan max
rime game profile list
rime game profile show 1091500 # and the steps applying it would run
rime game profile apply 1091500
rime game profile launch-command 1091500
rime game profile remove 1091500
rime game profile path
set takes --title, --mode, --tier (performance, balanced,
power-saver), --fan (auto, max, curve, manual, manual:<0-255>) and
--note. Only the options you give change.
Profiles do not apply themselves when a game starts. launch-command prints a
line for the game’s Launch Options in Steam:
rime game profile apply 1091500 && %command%
That applies the profile, then starts the game. Nothing is restored when the
game exits: run rime mode set daily or rime game stop afterwards.
Laptops with two GPUs
Applications that ask for the discrete GPU in their launcher entry
(PrefersNonDefaultGPU=true; Steam does) are started by Rime Shell’s launcher
through switcherooctl launch, so they and the games Steam starts run on the
discrete GPU. switcheroo-control is installed and enabled.
Controllers
- Wired Xbox One and Series controllers work as shipped, through
xone. - The Xbox wireless dongle also uses
xone, but it needs a firmware file from a Microsoft driver package that Rime cannot redistribute, so the image does not include it. Run xone’sxone-get-firmware.shonce to fetch it (get the script from the xone project if it is not on your machine). - Xbox controllers over Bluetooth use
xpadneo, for rumble, battery level and correct stick mapping.
The scheduler and the kernel
Rime builds its own kernel from CachyOS’s sources, with the BORE scheduler and
sched-ext support. Game mode asks for scx_lavd, a sched-ext scheduler; no
sched-ext scheduler loads at boot, only during game mode.
The scx_lavd 1.1.3 in the upstream packages can stall a game thread until the
kernel’s watchdog removes the scheduler. Rime builds 1.1.3 with the upstream fix
and installs it in place of the packaged one while the packages are still at
1.1.3. /usr/lib/rime-scx-versions records which build shipped.
Two known limits remain: after a watchdog stop, the scheduler loader restarts
scx_lavd, and Rime checks that the scheduler loaded only once, when game mode
starts.
gamescope’s realtime priority option needs a capability that no Rime machine
grants today, so Gaming Mode does not pass it. rime gaming shows this as its
own row.
On a machine installed from the v2.1.0 ISO
This page describes current Rime images. A machine installed from the v2.1.0
ISO runs an older APEX-OS image, with the apex command, until its first
update. See Install Rime.