Commit Graph

702 Commits

Author SHA1 Message Date
c54d6d4243 fix project version in meson.build (1.8.1->1.8.2) 1.8.2 2024-09-03 12:53:21 +01:00
715a1389b7 Update version to 1.8.2 2024-08-19 11:18:51 +01:00
c0516059ed Update copyright year 2024-08-09 13:14:27 +01:00
a875008d8e Standardise formatting of "Other Apps" section 2024-08-09 13:12:16 +01:00
ec10c591ff README: Add new gamemode extension link (#484)
* README: Add new gamemode extension link

Since the old extension is no longer maintained by the original author and has stopped working in the latest releases of GNOME, I recommend including my extension in the README.
2024-08-09 11:59:49 +01:00
fef538ba92 Update gamemode.ini (#490)
Clarify that user must be added to the gamemode group in order to make Core Parking work.
2024-08-01 14:22:16 +01:00
a2fe0108b5 Drop duplicate clang-format rule 2024-03-27 16:44:45 +00:00
c854772369 Fix idle inhibitor closing bus connection too early 2024-03-27 16:44:45 +00:00
7d55ef856b add homepage url to metainfo 2024-03-27 10:22:58 +00:00
1c293d7818 use posix basename to fix build on musl
glibc provides a nonstandard basename implementation,
this can be overriden and posix basename can be used
by includeing libgen.h, however musl only has posix
basename, and must always include libgen.h

In this particular case, it doesn't appear that using
the posix version of basename will cause any issues,
as it is simply being used to match a hardcoded config
file name.
2024-03-27 10:17:17 +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
8e0a71a0bc README: Add Vinegar to apps list
Vinegar is a bootstrapper for Roblox Player and Roblox Studio. It uses gamemode for both by default.
2024-02-14 10:37:00 +00:00
3fa41891cf Fixed crash if dbus is not accesible
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-14 10:33:22 +00:00
8cea4c2418 Fix hybrid CPU core pinning
Previously the condition would always evaluate to `false`. With the fix
any core with >=95% of `max_freq` will be added to the set of cores to
keep.
2024-01-03 11:09:13 +00:00
4a82094c98 Fix build with musl
Fixes the following build failure:
In file included from ../common/common-cpu.c:32:
../common/common-cpu.h:44:9: error: unknown type name 'cpu_set_t'
   44 |         cpu_set_t *online;
      |         ^~~~~~~~~
../common/common-cpu.h:45:9: error: unknown type name 'cpu_set_t'
   45 |         cpu_set_t *to_keep;
      |         ^~~~~~~~~

Signed-off-by: Kostadin Shishmanov <kocelfc@tutanota.com>
2024-01-03 10:54:40 +00:00
5180d89e66 Update version to 1.8.1 1.8.1 2023-12-12 16:02:49 +00:00
e82e9dafd0 [fix] polkit parse error caused by an extra ) 2023-12-11 09:14:05 +00:00
bb40374067 Update version number in README.md 1.8 2023-12-06 17:11:07 +00:00
c3b9d4ce8b Update changelog and version for 1.8 2023-12-06 17:06:52 +00:00
070216ad81 Update copyright year 2023-12-06 17:06:51 +00:00
6b03bc9354 Sort list of supported apps 2023-12-06 17:06:51 +00:00
5867058d19 Add packagecache to .gitignore 2023-12-06 17:06:51 +00:00
49dc7ee49b Add --reset flag to meson subprojects update
This prevents us from exiting early, as meson will return non zero.
2023-12-06 17:06:51 +00:00
41191dc607 Update gamemode-context.c
check format wined again, looks like I'm really bad at this
2023-12-05 11:31:16 +00:00
22001c56b1 Update gamemode-config.c
fixed format to match the proper codingstyle
2023-12-05 11:31:16 +00:00
088639e8b2 Update gamemode-context.c
fixed format to match the proper codingstyle
2023-12-05 11:31:16 +00:00
9e21ac3924 Update gamemode-context.c
fixed format to match the proper codingstyle
2023-12-05 11:31:16 +00:00
e2e8e981a2 Update gamemode-config.c
fixed format to match the proper codingstyle
2023-12-05 11:31:16 +00:00
7389d5ed1d Update procsysctl.c
fixed format to match the proper codingstyle
2023-12-05 11:31:16 +00:00
162374c026 Create procsysctl.c
added a new pkexec helper to modify values in /proc/sys, currently only can do writes to /proc/sys/kernel/split_lock_mitigate
2023-12-05 11:31:16 +00:00
4700089325 Update meson.build
added build info for the new helper to modify /proc/sys values
2023-12-05 11:31:16 +00:00
c7a4572d73 Update gamemode.ini
added info about and default value for the setting to enable and disable split lock mitigation
2023-12-05 11:31:16 +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
9a7ee00bbf Update gamemode-context.c
added support for disabling the kernel split lock mitigation when entering game mode
2023-12-05 11:31:16 +00:00
b2bd7e5919 Update gamemode-config.h
added config values for disabling split lock mitigation
2023-12-05 11:31:16 +00:00
97cee92d94 Update gamemode-config.c
added config value for disabling split lock mitigation
2023-12-05 11:31:16 +00:00
b9e8448afe Replace crypto mining reference with folding@home
Based on the change originally made by @joelsgp in PR #417, but there
were issues with the original commit message:
- Used an emoji which may cause rendering issues in CLI tools
- Mentioned Bitcoin mining which is inaccurate and contained
unnecessary censorship
2023-12-04 18:12:22 +00:00
6c197f9b70 Apply clang-format with the new include order 2023-12-04 17:00:20 +00:00
485a7f920a Move includes to the file that actually uses them
This was spotted thanks to clang-format reordering the includes.
Even with the new config, it will include the header file for the
current source file first. Nevertheless, it is best to always include
header files where they are needed.
2023-12-04 16:48:07 +00:00
f48c58f34c Update include order in .clang-format
We generally want system headers included above project ones.
In one case <linux/limits.h> needs to be above other system headers.
2023-12-04 16:42:15 +00:00
fad889db45 Apply clang-format to CPU pinning and parking code
The original PR #416 failed the format check, but this wasn't apparent
until after merging.
2023-12-04 15:33:15 +00:00
775c93001c [gamemode.ini] Add renice information about the user group. 2023-12-04 14:57:22 +00:00
160bf91665 Update README.md
Added game mode support for cemu (1bcdb35e42)
2023-12-04 14:54:05 +00:00
138ad384e3 Set the default GPU device ID to 0
This avoids confusion with the default configuration value being
`gpu_device=0` (as commented out in the `gamemode.ini` example),
but the actual default value being `-1`.

The alternative is to document this behavior and set the commented
out value to `-1`, but this makes the setup procedure more complex.
The new default behavior suits the 90% use case where there's
only one dedicated GPU available.
2023-12-04 14:21:32 +00:00
9614ceca9b pin every thread of the process
walk through /proc/pid/task to make sure that we set the thread affinity for every single thread in the process
2023-12-04 14:18:38 +00:00
865ffb2588 reapply the core pinning from the reaper thread
Reapply the core pinning from the reaper thread to catch cases where the game launches threads after initial start
2023-12-04 14:18:38 +00:00
b83fb8f83e made pinning optionally silent
made core pinning optionally silent, used for when the reaper thread calls us repeatable so we don't create tons of unnecessary logs
2023-12-04 14:18:38 +00:00
e882505881 properly support config reloading 2023-12-04 14:18:38 +00:00
88a15aba86 properly support config reloading 2023-12-04 14:18:38 +00:00