Accepting request 625131 from home:theMarix:branches:games:tools

- Update to version 1.2:
  + Store the initial governor state on mode enter
  + Config now supports defaultgov and desiredgov
  + Add support for renice-ing games to a higher priority (renice
    config option)
  + Make libraries properly versioned.
- Gamemoded is now run as a Systemd service in the user session
  but still activated via D-Bus.

OBS-URL: https://build.opensuse.org/request/show/625131
OBS-URL: https://build.opensuse.org/package/show/games:tools/gamemode?expand=0&rev=3
This commit is contained in:
Matthias Bach 2018-07-24 21:19:54 +00:00 committed by Git OBS Bridge
parent 3619aa0ba4
commit a6fc60a1b2
8 changed files with 52 additions and 35 deletions

View File

@ -1,20 +1,13 @@
Launching the GameMode Daemon Launching the GameMode Daemon
============================= =============================
The GameMode daemon is configured as a D-Bus daemon and will launch The GameMode daemon is activated via D-Bus launch automatically on access by
automatically on access by the first client. This is different from the set-up the first client.
documented in the source repository which requires the user to enable and start
a Systemd unit shipped with the daemon.
Reloading the GameMode configuration file Reloading the GameMode configuration file
========================================= =========================================
As the daemon is started as a D-Bus service no explicit reload command is Although activated via D-Bus. The daemon is run using Systemd and can easily
available. To force the daemon to reload the configuration it must be stopped be restarted via systemctl.
for which there are two main options.
1. Logout of your current session. systemctl --user restart gamemoded
2. Request the daemon to exit by running `killall gamemoded`.
On next use the daemon will be restarted by D-Bus and read any updated
configuration.

View File

@ -2,7 +2,7 @@
<service name="obs_scm" mode="disabled"> <service name="obs_scm" mode="disabled">
<param name="url">https://github.com/FeralInteractive/gamemode.git</param> <param name="url">https://github.com/FeralInteractive/gamemode.git</param>
<param name="scm">git</param> <param name="scm">git</param>
<param name="revision">1.1</param> <param name="revision">1.2</param>
<param name="versionformat">@PARENT_TAG@</param> <param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param> <param name="changesgenerate">enable</param>
</service> </service>

View File

@ -1,4 +1,4 @@
<servicedata> <servicedata>
<service name="tar_scm"> <service name="tar_scm">
<param name="url">https://github.com/FeralInteractive/gamemode.git</param> <param name="url">https://github.com/FeralInteractive/gamemode.git</param>
<param name="changesrevision">8b9f4b9ac8bb1ac97c2f4e769da17315c4658503</param></service></servicedata> <param name="changesrevision">ceb476052d10b945d16bc4bcf5381e69c6722c96</param></service></servicedata>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:df5d3b214dea66f5260f3d86049227857c6622b1ee23969463c0ece4b35e67a1
size 35160

3
gamemode-1.2.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6ea1f7709ab8a7a1c8d0a4e6dfa7858e3a530c4bde1edd4728bec5b617f03bbb
size 38336

View File

@ -2,8 +2,5 @@
addFilter('gamemoded.* polkit-unauthorized-privilege.*') addFilter('gamemoded.* polkit-unauthorized-privilege.*')
setBadness('polkit-unauthorized-privilege', 0) setBadness('polkit-unauthorized-privilege', 0)
# We have a Systemd macro in postun which is currently empty, but might not be forever.
addFilter('gamemoded.* empty-%postun')
# Libgamemodeauto loads the dependency via dlopen, so it cannot be picked up automatically. # Libgamemodeauto loads the dependency via dlopen, so it cannot be picked up automatically.
addFilter('libgamemodeauto.* explicit-lib-dependency libgamemode') addFilter('libgamemodeauto.* explicit-lib-dependency libgamemode')

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Tue Jul 24 21:11:08 UTC 2018 - marix@marix.org
- Update to version 1.2:
+ Store the initial governor state on mode enter
+ Config now supports defaultgov and desiredgov
+ Add support for renice-ing games to a higher priority (renice
config option)
+ Make libraries properly versioned.
- Gamemoded is now run as a Systemd service in the user session
but still activated via D-Bus.
------------------------------------------------------------------- -------------------------------------------------------------------
Sat May 19 11:25:26 UTC 2018 - marix@marix.org Sat May 19 11:25:26 UTC 2018 - marix@marix.org

View File

@ -16,7 +16,7 @@
# #
Name: gamemode Name: gamemode
Version:1.1 Version:1.2
Release: 0 Release: 0
Summary: Optimise Linux system performance on demand Summary: Optimise Linux system performance on demand
License: BSD-3-Clause License: BSD-3-Clause
@ -50,36 +50,37 @@ GameMode is a daemon/lib combo for Linux that allows games to request a set of o
The GameMode daemon is installed as a D-Bus Service and will start automatically on first access by a client. The GameMode daemon is installed as a D-Bus Service and will start automatically on first access by a client.
%package -n libgamemode %package -n libgamemode0
Summary: GameMode client library Summary: GameMode client library
Requires: gamemoded Requires: gamemoded
%systemd_requires
%description -n libgamemode %description -n libgamemode0
GameMode is a daemon/lib combo for Linux that allows games to request a set of optimisations be temporarily applied to the host OS. GameMode is a daemon/lib combo for Linux that allows games to request a set of optimisations be temporarily applied to the host OS.
Libgamemode is the client library used by games or libgamemodeauto to talk to the GameMode daemon. Libgamemode is the client library used by games or libgamemodeauto to talk to the GameMode daemon.
%package -n libgamemodeauto0
%package -n libgamemodeauto
Summary: Helper library allowing to equip any game with GameMode support Summary: Helper library allowing to equip any game with GameMode support
Requires: libgamemode Requires: libgamemode0
%description -n libgamemodeauto %description -n libgamemodeauto0
GameMode is a daemon/lib combo for Linux that allows games to request a set of optimisations be temporarily applied to the host OS. GameMode is a daemon/lib combo for Linux that allows games to request a set of optimisations be temporarily applied to the host OS.
Libgamemodeauto allows you to use GameMode with any Game by preloading it into the game. Libgamemodeauto allows you to use GameMode with any Game by preloading it into the game.
LD_PRELOAD=%{_libdir}/libgamemodeauto.so ./game LD_PRELOAD=%{_libdir}/libgamemodeauto.so.0 ./game
For Steam games this can be done by editing the launch options: For Steam games this can be done by editing the launch options:
LD_PRELOAD=$LD_PRELOAD:%{_libdir}/libgamemodeauto.so %%command%% LD_PRELOAD=$LD_PRELOAD:%{_libdir}/libgamemodeauto.so.0 %%command%%
%package -n libgamemode-devel %package -n libgamemode-devel
Summary: Headers for compiling games using GameMode Summary: Headers for compiling games using GameMode
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: libgamemode Requires: libgamemode0 = %{version}
Requires: libgamemodeauto0 = %{version}
%description -n libgamemode-devel %description -n libgamemode-devel
GameMode is a daemon/lib combo for Linux that allows games to request a set of optimisations be temporarily applied to the host OS. GameMode is a daemon/lib combo for Linux that allows games to request a set of optimisations be temporarily applied to the host OS.
@ -94,7 +95,7 @@ cp %{SOURCE2} .
%if 0%{?sle_version} == 120300 && 0%{?is_opensuse} %if 0%{?sle_version} == 120300 && 0%{?is_opensuse}
export CC=gcc-7 # gcc4.8 does not work because of https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58016 export CC=gcc-7 # gcc4.8 does not work because of https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58016
%endif %endif
%meson -Dwith-systemd=false %meson
%meson_build %meson_build
%check %check
@ -103,27 +104,41 @@ export CC=gcc-7 # gcc4.8 does not work because of https://gcc.gnu.org/bugzilla/
%install %install
%meson_install %meson_install
%post -n libgamemode0 -p /sbin/ldconfig
%postun -n libgamemode0 -p /sbin/ldconfig
%post -n libgamemodeauto0 -p /sbin/ldconfig
%postun -n libgamemodeauto0 -p /sbin/ldconfig
%files -n gamemoded %files -n gamemoded
%defattr(-,root,root) %defattr(-,root,root)
%{_bindir}/gamemoded %{_bindir}/gamemoded
%{_libexecdir}/cpugovctl %{_libexecdir}/cpugovctl
%{_userunitdir}/gamemoded.service
%{_datadir}/polkit-1/actions/com.feralinteractive.GameMode.policy %{_datadir}/polkit-1/actions/com.feralinteractive.GameMode.policy
%{_datadir}/dbus-1/services/com.feralinteractive.GameMode.service %{_datadir}/dbus-1/services/com.feralinteractive.GameMode.service
%{_mandir}/*/* %{_mandir}/*/*
%doc example/gamemode.ini README.openSUSE %doc example/gamemode.ini README.openSUSE
%license LICENSE.txt %license LICENSE.txt
%files -n libgamemode %files -n libgamemode0
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libgamemode.so %{_libdir}/libgamemode.so.0*
%license LICENSE.txt
%files -n libgamemodeauto %files -n libgamemodeauto0
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libgamemodeauto.so %{_libdir}/libgamemodeauto.so.0*
%license LICENSE.txt
%files -n libgamemode-devel %files -n libgamemode-devel
%defattr(-,root,root) %defattr(-,root,root)
%{_includedir}/gamemode_client.h %{_includedir}/gamemode_client.h
%{_libdir}/libgamemode.so
%{_libdir}/libgamemodeauto.so
%{_libdir}/pkgconfig/gamemode*
%license LICENSE.txt %license LICENSE.txt
%changelog %changelog