Commit Graph

91 Commits

Author SHA1 Message Date
f5fbdcf014 Take advanted of imminent EOL of Ubuntu 20 to update GH runner config. Also make a pass over the development section of the README to reflect current reality. Update inih to r60. Update meson settings to eliminate deprecated functions. Set minimum Meson version to 1.3.1 to match Ubuntu 24 and OpenSUSE Leap 15.6. 2025-04-30 19:11:59 +01:00
e75f2c3942 Support setting the platform profile
The platform profile lives in /sys/firmware/acpi/platform_profile. The
desiredprof and defaultprof options correspond to the values for the
platform profile set when gamescope begins and ends, respectively.

HACK: The platform profile may restrict what values the governor can
take, so we choose to set the governor before the platform profile in
order to store the correct default governor, and restore the platform
profile before the governor. This is done to maximize correctness after
restoration, but it can cause issues if the previous platform profile
restricts the governor.

TODO: Save all the state we care about before any of it is changed. In
thsi case, we should set (and restore) the platform profile before the
governor.
2025-02-24 15:43:15 +00:00
5b3b4ae638 Add "GameMode contributors" to copyright notice
Attribute the contributions made by members of the community, but avoid
unweildy and inconsistent copyright notices at the top of each file.

Existing contributor copyright notices have been left as-is.
2025-02-24 15:14:21 +00:00
7d55ef856b add homepage url to metainfo 2024-03-27 10:22:58 +00:00
9646f2bd93 gamemodelist: Fix unreadable process maps
Systemd commit [bf1b9ae487b65b1cb1639b222724fab95e508cf5](bf1b9ae487) (present in Systemd v254 and later) effectively broke gamemodelist as the process map for the `systemd --user` process became unreadable. After this change gamemodelist would exit with an error like the following:

```
awk: fatal: cannot open file `/proc/2281/maps' for reading: Permission denied
```

To work around this let's add a hook to the awk statement to skip any files that can't be read.

Closes FeralInteractive/gamemode#456
2024-03-27 10:16:28 +00:00
e82e9dafd0 [fix] polkit parse error caused by an extra ) 2023-12-11 09:14:05 +00:00
7381d93c13 Update gamemode.rules.in
added policykit rules for a new helper to modify values in /proc/sys
2023-12-05 11:31:16 +00:00
97e588a5ad Update com.feralinteractive.GameMode.policy.in
added plociykit support for a new helper to write to /proc/sys
2023-12-05 11:31:16 +00:00
dc2f7bbcd0 added polkit rules for cpucorectl
added polkit rules so we can run the cpucorectl utility without being root
2023-12-04 14:18:38 +00:00
437a129900 added polkit policy for cpucorectl
added the polkit policy for the cpucorectl utility so we can call it without being root
2023-12-04 14:18:38 +00:00
06f01938a9 Fix typo in gamemodelist man page 2022-10-04 15:44:23 +01:00
71f4b875ce Only install gamemoderun if shared libgamemodeauto is built
Otherwise emit a warning.
2022-10-04 15:44:23 +01:00
55b799e3df Add option to specific PAM limits.d directory 2022-08-05 11:35:24 +01:00
337f1b8a8e Scope polkit actions to require the privileged group 2022-08-05 11:35:24 +01:00
898ab01924 Organize data files that hook into other packages 2022-08-05 11:35:24 +01:00
1e24067430 Add option to specify privileged gamemode group 2022-08-05 11:35:24 +01:00
e34e9c5a43 Add options to disable installing systemd specific files 2022-08-05 11:35:24 +01:00
aee9703872 Add option to set systemd sysuser dir 2022-08-05 11:35:24 +01:00
b58b32072a meson: fix warning in run_command
Fixes this warning:
```
WARNING: You should add the boolean check kwarg to the run_command call.
         It currently defaults to false,
         but it will default to true in future releases of meson.
         See also: https://github.com/mesonbuild/meson/issues/9300
```

Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org>
2022-07-15 14:16:09 +01:00
c96f7379b4 New utility: gamemodelist (#346)
* New utility: gamemodelist

While trying out gamemode on Ubuntu 18.04 I had trouble figuring out
whether or not my games were running with gamemode enabled.  I wrote this
utility which prints all processes loaded with the gamemode shared
library.

- [x] Added utility to `data/` folder.
- [x] Update meson installer.
- [x] Included section 1 manual.
- [x] Updated README for Ubuntu 18.04 build instructions.  Steam supports
  Ubuntu 18.04.

I'm open to feedback and generally this should work for any distrobution
since it makes use of the Linux `/proc` filesystem.  [Learn more about
`/proc`][1].

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/filesystems/proc.rst?h=v5.15.12
2022-02-21 09:50:57 +00:00
898feb9c52 data: add and install sysusers.d gamemode.conf
Add a trivial gamemode.conf file, which creates the gamemode group.

v2: git add gamemode.conf (d'oh)

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2022-02-03 16:50:29 +00:00
5e366bd55d Fix loading shipped config when using a prefix other than /usr
Also remove recommendation to modify `/usr/share/gamemode/gamemode.ini`.
`/usr/share` is intended to contain read-only data files.

See https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s11.html.
2022-02-03 16:02:18 +00:00
49a0ef8c0b minor metainfo improvements
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-11-18 12:33:38 +00:00
832f9ab7e0 Fix installation of man pages in proper man dirs
See https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s11.html#usrsharemanManualPages
2020-09-14 10:18:53 +01:00
5163c01d24 Allow LD_PRELOAD overrides from GAMEMODERUNEXEC commands 2020-09-01 16:21:05 +01:00
7a68a178ac simplify libgamemodeauto preloading
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-07-09 08:13:17 +01:00
3033867fc9 add man page for example game
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-27 10:49:36 +01:00
a48272ae61 fix incorrect name in gamemoderun man page
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-27 10:49:36 +01:00
d27f8caecc improve path names for man pages and metainfo
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-26 12:53:21 +01:00
3d49f87308 configure version in man pages
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-26 12:53:21 +01:00
ce6485ef97 combine no-daemon, elogind and systemd option
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-19 16:27:51 +01:00
1e8312f7e3 Add option to change lib dir in gamemoderun
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-13 10:27:15 +01:00
6453a123ab add metainfo test
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-12 19:25:57 +01:00
c755f7e539 fix wrong prefix variable in data
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-12 19:25:57 +01:00
329f7b4cee give gamemoderun an own man page
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-11 09:41:17 +01:00
e3c24f34f1 provide metainfo
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-05-06 12:34:06 +01:00
40702d3fed Update version back to 1.6 post-release 2020-03-03 16:35:37 +00:00
616dca659a Update version to 1.5.1 2020-03-03 16:18:48 +00:00
1a598f53d2 Don't default to syslog logging
Let the preferred/configured logging system to be used instead
2020-02-26 18:26:09 +00:00
065454bb4e Update version to 1.6 post-release 2020-01-22 14:51:00 +00:00
d58c59c183 Update version to 1.5 2020-01-22 14:19:26 +00:00
24687f960b Update version to 1.5-dev post-release 2019-07-21 10:39:11 +01:00
acb57735fc Update version to 1.4 2019-07-21 10:24:18 +01:00
ffea085396 Follow up improvements to documentation for GAMEMODERUNEXEC 2019-07-16 08:17:35 +01:00
47db83e509 Add hybrid GPU support
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2019-07-14 16:45:33 +02:00
c6d1b45bfb Use the appropriate library path for whether the app is 32- or 64-bit in gamemoderun (#156) 2019-07-13 09:50:25 +01:00
717777e6c2 Implement PID support for --request and --status 2019-05-11 12:08:29 +01:00
baff9c0363 Allow for long options using getopt_long 2019-05-11 12:08:29 +01:00
85d75c303c Use path_bindir for installing gamemoderun
Honor prefix for installing gamemoderun to properly work in cross
environment so it can be installed in e.g. /usr/x86_64-pc-linux-gnu/bin
instead of /usr/bin like it's already done for gamemoded.
2019-03-29 18:18:23 +01:00
959c48978b Update version to 1.4-dev post-release 2019-03-29 15:39:08 +00:00