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).
gamemode
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.
libgamemode
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
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:
libgamemodeauto
LD_PRELOAD
Type=dbus
$ 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)
Commit 35d36cf9 relates to this ticket
Fixed commit link (a bug in pagure): https://pagure.io/fedora-comps/c/35d36cf9
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)?
As I understand it, it activates automatically over dbus. You can try it yourself using gamemoderun glxgears and then systemctl status --user gamemoded.
gamemoderun glxgears
systemctl status --user gamemoded
This is installed by default on Fedora? I'm not seeing it. $ systemctl list-unit-files | grep game
$ systemctl list-unit-files | grep game
Try: systemctl --user list-unit-files | grep game
systemctl --user list-unit-files | grep game
DOH! Yes, it's there and disabled.
Metadata Update from @catanzaro: - Issue untagged with: meeting
Reopening. We should have a Recommends or Supplements somewhere to pull this in for upgrades.
Metadata Update from @catanzaro: - Issue tagged with: meeting-request
Metadata Update from @catanzaro: - Issue status updated to: Open (was: Closed)
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
Metadata Update from @chrismurphy: - Issue marked as depending on: #138 - Issue set to the milestone: Fedora 34
Metadata Update from @catanzaro: - Issue unmarked as depending on: #138
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)
Login to comment on this ticket.