#88 Install gamemode by default?
Closed: Fixed 3 years ago by catanzaro. Opened 5 years ago by kparal.

I'd like to suggest to install gamemode by default in Fedora Workstation. You can see some background about the tool in https://pagure.io/fedora-workstation/issue/61 . It no longer just switches the CPU scheduler to the performance mode, but it also applies some nice and IO priority to the process and inhibits the screensaver. Those are "minor" tweaks, but they can make your games run smoother (the CPU governor improves minimum FPS and stutter, the nice/IO priority helps with any background activity).

Feral Interactive is a high-profile Linux porting company, see their Steam portfolio.
Not all of their past titles support libgamemode, but the recent ones do, and the future ones are expected to use it as well.

gamemode is a very small RPM (100 kB) with virtually no dependencies. Most of our users don't know about it, but could benefit from it. Especially if we're trying to target students, developers and creative people. All those can be expected to play some games, at least from time to time (students especially).


Metadata Update from @catanzaro:
- Issue tagged with: meeting

5 years ago

I read the last meeting log and I can perhaps add some helpful info. The tools consists of two parts, a host daemon and a client loader. The host daemon configures your system when the client asks it to. The game can contain the client loader natively (out of the box functionality, Feral games), or you can use the provided libgamemodeauto library with LD_PRELOAD together with any game.
The tool contains a Type=dbus systemd service:

$ cat /usr/lib/systemd/user/gamemoded.service
[Unit]
Description=gamemoded

[Service]
Type=dbus
BusName=com.feralinteractive.GameMode
NotifyAccess=main
ExecStart=/usr/bin/gamemoded -l

[Install]
WantedBy=default.target

and a dbus service itself:

$ cat /usr/share/dbus-1/services/com.feralinteractive.GameMode.service
[D-BUS Service]
Name=com.feralinteractive.GameMode
Exec=/usr/bin/gamemoded -d
SystemdService=gamemoded.service

I'm a layman, but it looks to me like the host daemon is triggered by the dbus service. Therefore I think it could be possible to make use of this tool even from a flatpak'd game (if it exposes dbus), even without creating additional portals.

I hope this helps.

Since this ticket got approved today, here's a PR for comps (please either merge or approve, thanks):
https://pagure.io/fedora-comps/pull-request/373

From today's meeting:

14:22:56 <kalev> #agreed Workstation WG agrees to install gamemode by default. While we think the design is fundamentally not ideal, the security implications of allowing the current session to adjust cpu governor and gpu clocking are small.

https://meetbot.fedoraproject.org/fedora-meeting-2/2019-02-25/workstation.2019-02-25-14.01.log.html

Metadata Update from @kalev:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

5 years ago

Commit 35d36cf9 relates to this ticket

We have 2 system developers, including one of the founding members of the Games SIG saying that this needs to be reverted.

See:
https://lists.fedoraproject.org/archives/list/desktop@lists.fedoraproject.org/thread/33F4YP7EYNLKKTC57NEQWDHBN4Z5SVCG/

This is just one of many past examples where we decided to install something new for fresh installs, but never provided a way to make upgrades work (@chrismurphy)

This is in the news currently because Ubuntu is following us in installing it by default.

BTW, we have it vendor preset to disabled. Is it expected that games are required to manually start and disable the service? Or that users are required to manually do so (in which case it's not a good default)?

BTW, we have it vendor preset to disabled. Is it expected that games are required to manually start and disable the service? Or that users are required to manually do so (in which case it's not a good default)?

As I understand it, it activates automatically over dbus. You can try it yourself using gamemoderun glxgears and then systemctl status --user gamemoded.

This is installed by default on Fedora? I'm not seeing it.
$ systemctl list-unit-files | grep game

Try: systemctl --user list-unit-files | grep game

DOH! Yes, it's there and disabled.

Metadata Update from @catanzaro:
- Issue untagged with: meeting

4 years ago

Reopening. We should have a Recommends or Supplements somewhere to pull this in for upgrades.

Metadata Update from @catanzaro:
- Issue tagged with: meeting-request

4 years ago

Metadata Update from @catanzaro:
- Issue status updated to: Open (was: Closed)

4 years ago

Maybe this issue, #60 and #66, should set to depend on #138. And discuss #138 at a future meeting?

Metadata Update from @catanzaro:
- Issue untagged with: meeting-request

3 years ago

Metadata Update from @chrismurphy:
- Issue marked as depending on: #138
- Issue set to the milestone: Fedora 34

3 years ago

Metadata Update from @catanzaro:
- Issue unmarked as depending on: #138

3 years ago

Having too many open issues is getting messy. This should be fixed soon in #138.

Metadata Update from @catanzaro:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

3 years ago

Login to comment on this ticket.

Metadata
Related Pull Requests
  • #373 Merged 5 years ago