Jump to content

Gamemode: Difference between revisions

imported from old wiki
imported>MetaDark
mNo edit summary
(imported from old wiki)
 
(11 intermediate revisions by 5 users not shown)
Line 7: Line 7:
programs.gamemode.enable = true;
programs.gamemode.enable = true;
</syntaxhighlight>
</syntaxhighlight>
It's also possible to use GameMode without the NixOS module, but process renicing will not work:
<syntaxhighlight lang="nix">
environment.systemPackages = with pkgs; [
  gamemode
];
</syntaxhighlight>
{{Note|CPU & GPU optimisations require root-level access. GameMode defines Polkit actions under <code>share/polkit-1/actions</code> to allow any user to perform the optimisations, but Polkit will only load these actions when installed in the system profile. If you install GameMode into a user profile, the optimisations will fail to apply.}}


== Running ==  
== Running ==  
To run games with gamemode start it like this:
To run games with GameMode start it like this:


<syntaxhighlight>
<syntaxhighlight lang=console>
$ gamemoderun ./game
$ gamemoderun ./game
</syntaxhighlight>
</syntaxhighlight>


When you have started your game you can verify that gamemode is running with the command:
When you have started your game you can verify that GameMode is running with the command:
<syntaxhighlight>
<syntaxhighlight lang=console>
$ gamemoded -s
$ gamemoded -s
</syntaxhighlight>
</syntaxhighlight>


=== Steam ===
=== Steam ===
To make sure Steam starts a game with gamemode, right click the game, select Properties..., then Launch Options and enter:
To make sure Steam starts a game with GameMode, right click the game, select Properties..., then Launch Options and enter:


<syntaxhighlight>
<syntaxhighlight lang=text>
gamemoderun %command%
gamemoderun %command%
</syntaxhighlight>
</syntaxhighlight>
Line 39: Line 29:
== Verifying Optimisations ==
== Verifying Optimisations ==
<code>gamemoded -t</code> can be used to verify that the optimisations for your configuration get applied:
<code>gamemoded -t</code> can be used to verify that the optimisations for your configuration get applied:
<syntaxhighlight>
<syntaxhighlight lang = console>
$ gamemoded -t
: Loading config
: Loading config
Loading config file [/nix/store/p8dbmpdak57psrb5c0mz7crsc95nfzs6-gamemode-1.6.1/share/gamemode/gamemode.ini]
Loading config file [/nix/store/p8dbmpdak57psrb5c0mz7crsc95nfzs6-gamemode-1.6.1/share/gamemode/gamemode.ini]
Line 86: Line 77:
Renice & ioprio optimisations sometimes fail. This is caused by GameMode trying to apply optimisations on processes that exit before the optimisations can be applied. See [https://github.com/FeralInteractive/gamemode/issues/167#issuecomment-524277666 FeralInteractive/gamemode#167 (comment)].
Renice & ioprio optimisations sometimes fail. This is caused by GameMode trying to apply optimisations on processes that exit before the optimisations can be applied. See [https://github.com/FeralInteractive/gamemode/issues/167#issuecomment-524277666 FeralInteractive/gamemode#167 (comment)].


<syntaxhighlight>
<syntaxhighlight lang=text>
ERROR: Could not inspect tasks for client [329118]! Skipping ioprio optimisation.
ERROR: Could not inspect tasks for client [329118]! Skipping ioprio optimisation.
ERROR: Refused to renice client [31477,31477]: prio was (-10) but we expected (0)
ERROR: Refused to renice client [31477,31477]: prio was (-10) but we expected (0)
Line 93: Line 84:
If you don't have an Intel CPU, you will get errors about failing to read the energy levels. This isn't a real problem. It just means that optimizations for integrated graphics cards won't be enabled:
If you don't have an Intel CPU, you will get errors about failing to read the energy levels. This isn't a real problem. It just means that optimizations for integrated graphics cards won't be enabled:


<syntaxhighlight>
<syntaxhighlight lang=text>
ERROR: Failed to open file for read /sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/energy_uj
ERROR: Failed to open file for read /sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/energy_uj
</syntaxhighlight>
</syntaxhighlight>


If you don't have a screensaver installed, you will get the following error:
If you don't have a screensaver installed, you will get the following error:
<syntaxhighlight>
<syntaxhighlight lang=text>
ERROR: Could not call Inhibit on org.freedesktop.ScreenSaver: No route to host
ERROR: Could not call Inhibit on org.freedesktop.ScreenSaver: No route to host
         org.freedesktop.DBus.Error.ServiceUnknown
         org.freedesktop.DBus.Error.ServiceUnknown
Line 108: Line 99:
programs.gamemode.settings.general.inhibit_screensaver = 0;
programs.gamemode.settings.general.inhibit_screensaver = 0;
</syntaxhighlight>
</syntaxhighlight>
Setting the power scheme might result in the following error:
<syntaxhighlight lang=text>
::: Verifying CPU governor setting
ERROR: Governor was not set to performance (was actually schedutil)!
::: Failed!
</syntaxhighlight>
Adding the the user to the gamemode group resolves this error.
<syntaxhighlight lang="nix">
extraGroups = ["gamemode"];
</syntaxhighlight>
[[Category:Gaming]]