65 Commits

Author SHA1 Message Date
Stephan Lachnit
47db83e509 Add hybrid GPU support
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2019-07-14 16:45:33 +02:00
Alex Smith
ebbb9a3511 Fix libdbus-1-dev package name typo 2019-06-03 08:10:30 +01:00
Alex Smith
e5286e1495 Add Three Kingdoms to list of games with integration 2019-06-01 13:50:24 +01:00
Marc Di Luzio
28243afde9 Clean up the main readme file and split some parts out
This groups development, daemon and lib parts together much better
2019-06-01 10:56:27 +01:00
Alex Smith
a837b8630c We depend on DBus development packages now 2019-05-29 16:02:49 +01:00
Alex Smith
99c7d04e69 Add a link to the GNOME Shell extension 2019-05-07 09:30:33 +01:00
Alex Smith
4a49a1c2a5 Add a list of games which integrate GameMode support (#135) 2019-05-07 09:25:33 +01:00
Robert Munteanu
0aced6f14e Add reference to openSUSE packages
OpenSUSE packages are available at https://software.opensuse.org/package/gamemode, so let's reflect this in the README.
2019-04-11 01:08:46 +02:00
Alex Smith
e86580c18c Update instructions to use 1.3.1 as the current stable release 2019-04-09 08:34:44 +01:00
Alex Smith
db4dd87e22 Add Debian to the list of distros which have packages available 2019-03-25 16:49:25 +00:00
Alex Smith
ea7d1c13a3 Update to version 1.3 2019-03-15 13:39:00 +00:00
Alex Smith
10a31f8dec Update copyright years to 2019 2019-03-14 16:59:30 +00:00
Alex Smith
6b7f6c12c2 Various README fixes/adjustments 2019-03-14 16:51:29 +00:00
Alex Smith
2ab46df4c3 Disable softrealtime (SCHED_ISO) and renice by default
SCHED_ISO is not supported by upstream kernels, so don't try to use this by
default since for most users it will result in an error log that trying to
set the scheduling policy fails.

Without extra system configuration, we will also not have permission to renice
processes by default, so out of the box doing this will fail as well.

Users that wish to use these features can enable them from the config once
they have configured their system appropriately.
2019-03-14 15:00:49 +00:00
Alex Smith
433370e3fa Add details of Gentoo ebuild for stable release
As suggested in #110.
2019-03-10 10:10:00 +00:00
Alex Smith
c7c1c5470f Minor fix for preload instructions 2019-02-27 09:38:09 +00:00
Marc Di Luzio
1b96111afc Add entry in README for supervisor support 2019-02-21 17:34:20 +00:00
Marc Di Luzio
10d1c12aab Correct capitalisation and ini file path in README 2019-02-13 17:25:24 +00:00
Marc Di Luzio
f86f57af0e Add a little more flavor text to remind users that both AMD and Nvidia do have automatic overclocks 2019-02-12 08:55:23 +00:00
Marc Di Luzio
4cee59cde3 Add a note about overclocking to the README 2019-02-12 08:55:23 +00:00
Marc Di Luzio
0d5fb9de20 Add note that there is an Ubuntu Cosmic package now available! 2019-02-06 16:35:37 +00:00
Marc Di Luzio
74e26d6f63 Add "gamemoderun", a wrapper bash script like "primusrun"
This should remove a point of failure currently where users fail to set LD_PRELOAD correctly, or the path is wrong somehow.

	FWIW: The old method still works, and I've noted that in the README.
2019-02-05 21:16:02 +00:00
Marc Di Luzio
0df479537e Update the explanation at the start 2019-01-31 19:40:08 +00:00
Marc Di Luzio
04a81105df Re-order the install dependencies title 2019-01-31 19:31:52 +00:00
Marc Di Luzio
9369388669 Make the package manager part clearer 2019-01-31 19:31:05 +00:00
Marc Di Luzio
b63b0d3393 More minor edits to README
* Add titles to features
	* Remove now defunct "Users" title
	* Add title to Integrations
	* Move up CPU overclocking warning into Features
2019-01-31 19:28:24 +00:00
Marc Di Luzio
65717599ec Add titles to building and installing 2019-01-31 19:23:03 +00:00
Marc Di Luzio
6c277af7a2 Add the travis status 2019-01-31 19:19:52 +00:00
Marc Di Luzio
8a472663bd A big README refactor
* Move the explanation of features down
	* Move the explanation of developer info down
	* Move configuration info up
	* Simplify build instructions
2019-01-31 19:16:19 +00:00
Alex Smith
60c722d252 Merge pull request #85 from terencode/master
Add with-pam-group meson option
2018-12-10 09:53:29 +00:00
Térence Clastres
5f91922506 Add with-pam-group meson option
This adds 10-gamemode.conf as a limits.d configuration file and with-pam-group meson option to allow renicing as an unpriviledged user being part of the specified group.

Signed-off-by: Térence Clastres <t.clastres@gmail.com>
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-12-07 21:50:58 +01:00
Kai Krakow
62865b1e32 gamemode: Apply io priority to clients
This commit allows changing the io priority of the client to a value
specified in the configuration file. That can possibly reduce lags or
latency when a game has to load assets on demand and you have background
IO activity running (or other concurrent IO).

Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-03 04:24:56 +02:00
Alex Smith
7af744250e README: Mention Fedora packages
GameMode is now in the official Fedora repository.
2018-09-29 09:27:48 +01:00
Kai Krakow
af8c2a7c4a README: Mention Gentoo support
Gentoo has merged the gamemode ebuild into portage as of:
https://github.com/gentoo/gentoo/pull/9700#issuecomment-423886373

Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-09-24 09:13:24 +02:00
Alex Smith
c3938599a8 Update to version 1.2 2018-07-21 09:33:32 +01:00
Alex Smith
f6786ed5d2 Further formatting fixes 2018-07-13 10:32:34 +01:00
Alex Smith
3645b43416 Fix formatting 2018-07-13 10:31:57 +01:00
Alex Smith
407a7b2d0a Document how to uninstall
Issue #59.
2018-07-13 10:30:55 +01:00
Christian Kellner
1369629972 README.md: use version library in examples
Now that versioned libraries are created, use that in the examples
provided.
2018-07-02 14:14:47 +02:00
Dennis E. Mungai
e85dc3ecfb Added build notes for the git master
The build instructions here only cater for release 1.1.
This adds in build notes for the master branch.
2018-06-21 05:52:03 +03:00
Kai Krakow
ead417be36 docs: Add a warning about potential resource starvation
Warn the user about adjusting `SCHED_ISO` to too high CPU usage values
as it may render the OS unresponsive.

Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-06-10 10:07:23 +02:00
Kai Krakow
048b7b1c17 docs: Document priority inversion caveats
Depending on the local system architecture and the game architecture,
changes to the scheduling may result in priority inversion which has
counter-intuitive effects on performance. Let's document these to give
the user a chance to detect and fix this problem.

Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-06-10 09:38:57 +02:00
Kai Krakow
57c6bbb444 config: Allow renice configuration
This commit adds configuration support for the renice value and amends
documentation and examples. This commit by itself does nothing, the
following commit is needed to actually apply the new settings.

Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-06-10 09:33:02 +02:00
Kai Krakow
76ece2fc26 Leverage soft real time capabilities
Kernels that support SCHED_ISO scheduling policy can give processes soft
real time support. This improves latency without compromising system
stability. See https://lwn.net/Articles/720227/.

This commit adds support for setting this policy with a safe fall back if
kernel support is lacking by just ignoring the error condition.

Additionally, it also tries to raise the nice priority of the game to -4
to give it a slight IO and CPU priority over other background processes.
This needs PAM adjustments to allow users raising priority to certain
levels. If it doesn't work, the fall back strategy is also ignoring the
error condition. See /etc/security/limits.conf.

Kernels that currently support SCHED_ISO include kernels with Con
Kolivas MuQSS patchset (likely the CK patchset). This patchset is
generally recommended for desktop machines but usually not found in
standard distribution kernels due to lack of widespread stability tests.

Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-05-23 22:23:42 +02:00
Alex Smith-Fanning
2c68ae67e6 added info about overclocking (#49)
* added info about overclocking
2018-05-11 15:12:25 +01:00
Marc Di Luzio
1dc641ca59 Add a note for dbus-user-session as seen in issues like #48 2018-05-11 08:59:51 +01:00
Marc Di Luzio
907a690e39 Merge branch 'master' into 1.1RC 2018-05-01 15:45:57 +01:00
Marc Di Luzio
808f5c9159 Provide a cascaded merge-overwrite config approach for #6
gamemoded will now load and merge settings from the following locations - arrays will merge and single settings will overwrite.

	1. /usr/share/gamemode/
	2. /etc/
	3. $XDG_CONFIG_HOME or $HOME/.config/
	4. $PWD
2018-05-01 15:42:54 +01:00
Marc Di Luzio
fb2f3c628a Update to 1.1 ready for release 2018-04-25 15:50:05 +01:00
Marc Di Luzio
4f3bc2c9a2 Add gamemode_query_status and teach gamemoded '-s'
This allows the client to query the daemon about the status of gamemode.

	Returns the following:
		 0 if gamemode is inactive
		 1 if gamemode is active
		 2 if gamemode is active and this client is registered
		-1 if the query failed

	Passing -s to gamemoded will simply query and print the current status.

	Allows for more comprehensive testing when using 'gamemoded -r' as well as more reactionary program behaviour
2018-04-25 14:51:38 +01:00