diff --git a/README.openSUSE b/README.openSUSE index 2c92138..a8f48cd 100644 --- a/README.openSUSE +++ b/README.openSUSE @@ -11,3 +11,9 @@ Although activated via D-Bus. The daemon is run using Systemd and can easily be restarted via systemctl. systemctl --user restart gamemoded + +Permissions +=========== + +Some feature, like renicing the process run in GameMode, require elevated priviledges. +To grant these, add your user to the "gamemode" group. diff --git a/gamemode-1.7.tar.xz b/gamemode-1.7.tar.xz deleted file mode 100644 index 4fc4179..0000000 --- a/gamemode-1.7.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c1860f76f1d4c0d6e3965e52de21c824f24791049946da728da50f0c63748389 -size 73264 diff --git a/gamemode-1.7.tar.xz.asc b/gamemode-1.7.tar.xz.asc deleted file mode 100644 index 16c1ab7..0000000 --- a/gamemode-1.7.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEE3jph1YCSt+zQQwmVCPnBx4jMdRUFAmLZbaUACgkQCPnBx4jM -dRXBOg/6Az3aFEQCrhoYLLw2vWaz9aq5nYwtj8nrjqCD/q8CoTrNSHO5+dvo0xtn -jiM9UfZZIety0HO0oCGXP2i5fD7iSsSsd+ojto8dTG2kqRYFjMOh7ts6fQ+v++YX -duCbT2UZ3K5jsV5Arn4wNUYGSByvAWMl0dAUCi7gAlCjZZnFV/K8R+hvHMqH4DvI -aPDvgvqdi5V9P435EqQrr2gO5lH1ut/hr/1tuUCn4vp68MEAScrBRjZTUdu/grs5 -NiSx/o1tTXWkP9BFsdo6j1knnT0pYhsDiV3DeMInFc9dXXcosZ9Uevr3Qm/VD1S0 -gQxQnMUqgaDmzUWN4OKfco1eSm6RbVZUoL3IQM5qYF994+2b23jSSL4zYuroOepO -2/NqJ8pcofo1D41P+cEyoQjfzQjzvPwWW42/5lGX1lZZ9WNQh+q3J2wGRrkGVQcu -zkDVqT2MItSMB/bIvIHbmjEg01YEV96YcJMqitq0M3StP7rColyrEH+JzITqp37G -xRQZy572U1khXpNMVZ21DIvGugi+GGJN7KS99e8qpn8bk05epQRKG7XundAdOl5G -xKYPumMHZJ6qDtp18JDHG4Ti4LTcAu5nFRWcr2QKUapJ6seAjnY/4MIx+aTN4Kmx -9z+9OVv6VqjsgQZB5bnWkxBHsxavU/P5ylS7mISIQNbp1Lfh0l8= -=TGEN ------END PGP SIGNATURE----- diff --git a/gamemode-1.8.tar.xz b/gamemode-1.8.tar.xz new file mode 100644 index 0000000..d85e333 --- /dev/null +++ b/gamemode-1.8.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7182149315544da69371c3cee2525f29d46a877446b6d78d807f839a9b45f75e +size 78308 diff --git a/gamemode-1.8.tar.xz.asc b/gamemode-1.8.tar.xz.asc new file mode 100644 index 0000000..6520b24 --- /dev/null +++ b/gamemode-1.8.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEE3jph1YCSt+zQQwmVCPnBx4jMdRUFAmVwrCoACgkQCPnBx4jM +dRX87A/8D6UwFZfLDlYWLeLPYx8Pvye9jV/ZuOebgyVXk9SDYicScgnsWP8LmKZi +NCg/r+ByHP9mlxuaHSijXGQRY/q09amYtGR9FTakoW4uHRQ6zoHRnUUhzJw7uCO9 +zS1+9mnlTLvdiuoMQpuoiruSBZfgJNL55pCendRpRUFR16AvLp+1WzBIwduWGirl +KeJEfmhu9/GQxYjKXaIevDH2VU8a1/HD7qdFcOJbGlc4KTZmNs8HC7PO32ZEDzal +pdY7Sbo7So4rJ2gRjLJoGS1565X7FtobPlJPZKb/Tg3fDxQyWIIgF3qGOluz+Gkl +6z/Xc4j9jSGIB8F+qtRRsB9T2uamuFN2JrgFMeb8dW/+0wOrlq/ybJbdXE/zPn/+ +ZBlgFqIrp5fC7cru3JLsMbxbHumNDzRokNi1ZEL0CD0QtzkNKUFbQx7ZgDxamovO +WMItRaiTyJXLDQsl5iOp1zH8fW/Jg/1zDVJxXjZ0oLlFamck6tngSd6c1DV6T3uC +RyOfOYmlkNhd9/ngMWlZV46c7wuRCL7S19QSDcrtaxzqvB2RfXXUSYNRqCJbZz3l +Jk9TLoytpeeNz1nhcx3AMScnVarE+abiZyM9dZczBEqR1HX6l5mKzW2ipIrN/HZv +1mvD0pdb0/C7PinC8mERP9SmvwVN743Jeu3uqCZku6liH2EeLrQ= +=Vxa6 +-----END PGP SIGNATURE----- diff --git a/gamemode.changes b/gamemode.changes index 23e9202..efabcf8 100644 --- a/gamemode.changes +++ b/gamemode.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Fri Dec 8 18:07:49 UTC 2023 - Matthias Bach - 1.8 + +- Update to version 1.8 + * Requires users to be a member of the "gamemode" group to + utilise priviledged functionality like modifying the CPU + governor. + * Adds CPU core pinning and parking capability. + * Allows disabling the Linux kernel split lock mitigation. + * Fixes building when pidfd_open is available. + * Unifies privileged group configuration between pam, systemd, + and polkit. + * Various other bugfixes and improved default configuration +- Drop workaround for problematic pidfd_open dection on Tumbleweed + now that compilation with pidfd_open is fixed upstream. +- Drop no longer required only-build-shared-library.patch. + ------------------------------------------------------------------- Wed May 10 20:35:53 UTC 2023 - Matthias Bach - 1.7 diff --git a/gamemode.spec b/gamemode.spec index 47ac35f..a5f9b10 100644 --- a/gamemode.spec +++ b/gamemode.spec @@ -18,7 +18,7 @@ Name: gamemode -Version: 1.7 +Version: 1.8 Release: 0 Summary: Daemon/library combo for changing Linux system performance on demand License: BSD-3-Clause @@ -30,13 +30,13 @@ Source2: gamemode-rpmlintrc Source3: README.openSUSE Source4: baselibs.conf Source5: feral.keyring -Patch0: only-build-shared-library.patch BuildRequires: cmake BuildRequires: libinih-devel BuildRequires: meson BuildRequires: ninja BuildRequires: pkgconfig BuildRequires: polkit-devel +BuildRequires: sysuser-tools BuildRequires: pkgconfig(dbus-1) # Yes, it needs both BuildRequires: pkgconfig(libsystemd) @@ -66,12 +66,16 @@ For Steam games this can be done by editing the launch options: gamemoderun %%command%% +Note that some functionalities, like modifying the CPU governor, require +the user to be in the priviledged "gamemode" group. + %package -n gamemoded Summary: The GameMode daemon required by GameMode enabled games Group: Amusements/Games/Other Recommends: libgamemode Suggests: gamemode Suggests: libgamemodeauto +%sysusers_requires %description -n gamemoded GameMode is a daemon/lib combo for Linux that allows games to request @@ -132,9 +136,6 @@ built-in GameMode support. cp %{SOURCE3} . -# Work around broken pidfd_open detection on Tumbleweed -sed -i 's/pidfd_open = .*/pidfd_open = false/' meson.build - %build %meson -Dwith-examples=false %meson_build @@ -144,15 +145,15 @@ sed -i 's/pidfd_open = .*/pidfd_open = false/' meson.build %install %meson_install -# We don't want to create the gamemode group as without further -# configuration to actually use it, it does not provide any value -rm %{buildroot}/%{_sysusersdir}/gamemode.conf %post -n libgamemode0 -p /sbin/ldconfig %postun -n libgamemode0 -p /sbin/ldconfig %post -n libgamemodeauto0 -p /sbin/ldconfig %postun -n libgamemodeauto0 -p /sbin/ldconfig +%post -n gamemoded +%sysusers_create %{name}.conf + %files %{_bindir}/gamemodelist %{_bindir}/gamemoderun @@ -163,12 +164,17 @@ rm %{buildroot}/%{_sysusersdir}/gamemode.conf %files -n gamemoded %{_bindir}/gamemoded %{_libexecdir}/cpugovctl +%{_libexecdir}/cpucorectl %{_libexecdir}/gpuclockctl +%{_libexecdir}/procsysctl %{_userunitdir}/gamemoded.service %{_datadir}/polkit-1/actions/com.feralinteractive.GameMode.policy +%{_datadir}/polkit-1/rules.d/gamemode.rules %{_datadir}/dbus-1/services/com.feralinteractive.GameMode.service %{_datadir}/metainfo/io.github.feralinteractive.gamemode.metainfo.xml %{_mandir}/*/gamemoded* +%{_sysusersdir}/%{name}.conf +%config(noreplace) %{_sysconfdir}/security/limits.d %doc example/gamemode.ini README.openSUSE %license LICENSE.txt diff --git a/only-build-shared-library.patch b/only-build-shared-library.patch deleted file mode 100644 index e457fe1..0000000 --- a/only-build-shared-library.patch +++ /dev/null @@ -1,27 +0,0 @@ -From: Matthias Bach -Date: Wed, 23 Sep 2020 20:36:08 +0200 -Subject: Build only the dynamic library -Upstream: never - -openSUSE policy asks to only build the dynamic library unless there is a -compelling reason to also package a static one. ---- - lib/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/meson.build b/lib/meson.build -index e810509..e8754e6 100644 ---- a/lib/meson.build -+++ b/lib/meson.build -@@ -25,7 +25,7 @@ gamemode_headers_includes = [ - ] - - # Small library to automatically use gamemode --libgamemodeauto = both_libraries( -+libgamemodeauto = shared_library( - 'gamemodeauto', - sources: [ - 'client_loader.c', --- -2.26.2 -