Gamemode

来自 Arch Linux 中文维基

Gamemode 是 Linux 的守护进程和库组合,允许游戏请求将一组优化临时应用于主机操作系统和/或游戏进程。

安装[编辑 | 编辑源代码]

安装 gamemodelib32-gamemode

将你所在的用户添加到 gamemode 用户组,否则gamemode用户守护进程将无法调节CPU调度以及游戏的进程优先度。

配置[编辑 | 编辑源代码]

Gamemode 通过以下文件进行配置,这些文件按以下顺序读取并合并:

  1. /etc/gamemode.ini 用于系统范围的配置;
  2. $XDG_CONFIG_HOME/gamemode.ini 用于用户本地配置;
  3. ./gamemode.ini 用于目录本地配置。
提示:在 FeralInteractive 的 GitHub 上可以找到带有注释的示例配置文件。
注意: /usr/share/gamemode/gamemode.ini 不应由用户创建,因为它是为包维护人员手动配置保留的。详细信息请见 file-hierarchy(7.zh_CN)

调整优先级[编辑 | 编辑源代码]

Gamemode 可以选择性地调整游戏进程的优先级(见 renice(1)),使其超过常规用户的下限 0

这由以下配置选项控制:

[general]
renice=0

与使用 renice 命令调整进程优先级不同,Gamemode 使用正值并在将其应用于进程之前对其进行取负,即,值为 10 将使游戏进程优先级重新调整为 -10

此功能要求用户处于 gamemode 用户组中才能工作。

超频[编辑 | 编辑源代码]

游戏模式可以选择在 GPU 运行时超频,但需要用户进行特殊配置。

使用的 GPU 无关,必须适当设置 apply_gpu_optimizationsgpu_device 配置项。

AMD[编辑 | 编辑源代码]

若要更改 AMD GPU 的性能级别,必须手动启用超频,并且必须设置 amd_performance_level 配置项。

NVIDIA[编辑 | 编辑源代码]

若要更改 NVIDIA GPU 的性能级别,必须手动启用超频英语NVIDIA/提示和技巧#启用超频,并且必须设置 nv_powermizer_mode, nv_core_clock_mhz_offset, 和 nv_mem_clock_mhz_offset 配置项。

使用[编辑 | 编辑源代码]

测试配置[编辑 | 编辑源代码]

验证配置文件中的设置是否正常工作:

$ gamemoded -t

运行一个游戏[编辑 | 编辑源代码]

要使用游戏模式运行一个游戏,应该这样开始:

$ gamemoderun ./game

与 MangoHud 一同使用[编辑 | 编辑源代码]

MangoHud#Use with Gamemode英语MangoHud#Use with Gamemode

验证游戏模式是否正在运行[编辑 | 编辑源代码]

当您已开始游戏时,您可以使用以下命令验证游戏模式是否正在运行:

$ gamemoded -s
注意: gamemoded.service 用户单元由 dbus 按需启动 [1]

运行一个 Steam 游戏[编辑 | 编辑源代码]

要使 Steam 以游戏模式启动游戏,右击“库”中的游戏,选择“属性...”,然后在“启动选项”文本框中输入:

gamemoderun %command%

使用游戏模式运行 Steam[编辑 | 编辑源代码]

要是不想更改所有 Steam 游戏的启动选项,你可以直接使用游戏模式启动 Steam

$ gamemoderun steam-runtime

这种方法的缺点是,只要 Steam 进程打开,游戏模式就会一直运行,而不是只在游戏打开时运行。