185 Commits

Author SHA1 Message Date
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
Marc Di Luzio
b54a406b97 Don't log an error about a default initial renice value 2019-01-31 19:06:02 +00:00
Alex Smith
a8539eade7 Merge pull request #97 from mdiluz/add-more-integration
Have the full bootstrap script run in the CI
2019-01-29 16:39:32 +00:00
Marc Di Luzio
e342b6e394 Remove SCHED_ISO from gamemode.c
As per request, no longer needed
2019-01-29 16:38:25 +00:00
Marc Di Luzio
568d9b5b51 Run gamemoded -v as well to ensure basic functionality works 2019-01-28 18:57:56 +00:00
Marc Di Luzio
0c35f32c55 Run bootstrap in the integration 2019-01-28 18:57:56 +00:00
Marc Di Luzio
82efafd54d Define SCHED_ISO if not defined 2019-01-28 18:57:56 +00:00
Marc Di Luzio
206700919c Only request input if we're not travis 2019-01-28 18:57:56 +00:00
Marc Di Luzio
57cf99ba85 Install dependencies needed for build 2019-01-28 18:57:09 +00:00
Marc Di Luzio
b2de93bd14 Upgrade the travis docker image to use xenial
Fix clang-format package name
2019-01-28 18:50:12 +00:00
Alex Smith
a725ae21a0 Merge pull request #96 from mdiluz/disable-screensaver
Add code to disable the screensaver during Game Mode
2019-01-28 18:13:08 +00:00
Alex Smith
5b0dc8f87f Merge pull request #95 from mdiluz/add-tests
Add integration tests
2019-01-28 18:09:20 +00:00
Marc Di Luzio
b4ba947255 Fix up calling screensaver, now appears to work 2019-01-28 16:36:56 +00:00
Marc Di Luzio
42dd7e6ea8 Add initial screensaver inhibiting code 2019-01-28 16:36:56 +00:00
Marc Di Luzio
f0816230d7 Correct error message when the initial query fails 2019-01-28 16:36:08 +00:00
Marc Di Luzio
5e705f3225 Correct help message 2019-01-28 16:36:08 +00:00
Marc Di Luzio
0eece55433 Improve the test output 2019-01-28 16:36:08 +00:00
Marc Di Luzio
b97182141f Properly handle quitting by request, and use that in the tests 2019-01-28 16:36:08 +00:00
Marc Di Luzio
c99e06ed9e Small refactor
Single and dual client tests split into functions
2019-01-28 16:36:08 +00:00
Marc Di Luzio
0b4e86651e Add a preliminary client test suite
This simply tests the current functionality of the gamemode_client tools by calling each function in turn and checking the values return correctly.

	Requires the gamemode service to currently be running and installed on the system.
2019-01-28 16:36:08 +00:00
Marc Di Luzio
94cfa2de54 Add game_mode_run_tests function to trigger tests 2019-01-28 16:36:08 +00:00
Marc Di Luzio
951cf1f8b9 Add -t option to run tests on self
Right now only prints
2019-01-28 16:36:08 +00:00
Alex Smith
6544bfb99d Merge pull request #91 from suvayu/master
Configurable prefix path
2018-12-14 15:07:00 +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
Suvayu Ali
55a3dea992 bootstrap.sh: configurable prefix path 2018-12-02 09:22:06 +05:30
Alex Smith
2720711550 Merge pull request #86 from kakra/modular-refactor
Tidy up the code and refactor into modules
2018-10-10 08:55:58 +01:00
Kai Krakow
b2870671bd formatcheck: Use a shorter timeout
If the internet connection is down, the default timeout of wget is
unreasonably long. If formatcheck is used as a pre-commit hook, this
blocks usage of git for a long time although we probably have
git-clang-format available.

Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-09 00:49:58 +02:00
Kai Krakow
5396370e5d refactor: Simplify the log hinter
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-09 00:33:46 +02:00
Kai Krakow
f4cd01f989 refactor: Break wine API functions out of the main daemon source
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-09 00:33:46 +02:00
Kai Krakow
403ce122f6 refactor: Break ioprio API functions out of the main daemon source
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-09 00:33:46 +02:00
Kai Krakow
edf9257de4 refactor: Break sched API functions out of the main daemon source
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-09 00:33:46 +02:00
Kai Krakow
b9c9a5f120 refactor: Avoid exposing various internal types
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-09 00:33:46 +02:00
Kai Krakow
92967b135b refactor: Break env API functions out of the main daemon source
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-09 00:33:46 +02:00
Kai Krakow
748808be7e refactor: Break proc API functions out of the main daemon source
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-09 00:33:46 +02:00
Kai Krakow
c4ff3d7250 refactor: Break helpers out of the main daemon source
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-08 20:53:04 +02:00
Alex Smith
9bbcc03c50 Merge pull request #84 from kakra/improve-scheduler-logging
gamemode-scheduler: Improve logging
2018-10-08 17:30:06 +01:00
Alex Smith
3c0bc9ef5c Merge pull request #79 from kakra/identify-wine-exe
Identify original wine exe by PID
2018-10-08 17:28:01 +01:00
Kai Krakow
29f8f0883c gamemode: Explain the concerning logs a little better
Testing showed that wine processes may provoke some concerning logs
multiple times. Let's explain this a little more so no questions from
worried users show up.

Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-05 20:03:17 +02:00
Kai Krakow
fd4166279b gamemode: Convert game_mode_context_has_client() to return the client
Returning a bool is not useful if we want to create some log information
from this. It now returns NULL or a client pointer which is compatible
with all of the current users.

When dereferencing the returned pointer, a read lock must be acquired
around using the returned result as the client may be deallocated from
heap otherwise.

Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-05 20:03:17 +02:00
Kai Krakow
d023495a5d gamemode: Add a tiny buffered snprintf helper
Be careful using this as it may introduce some non-obvious pitfalls.
This saves us from a heap allocation in some code locations.

Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-05 20:03:17 +02:00
Kai Krakow
4fd93ee30a gamemode: Map wine preloaders to original exe
This commit hooks game_mode_resolve_wine_preloader() into the function
to lookup the exe from a PID.

Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-05 19:54:40 +02:00
Kai Krakow
ba80a6cc3d gamemode: Add function to resolve the wine preloader executable
This commit adds a function to resolve a wine preloader binary into its
original windows binary.

Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-05 19:54:40 +02:00
Kai Krakow
373fe5a8af gamemode: Add a helper to compare string tails
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-05 19:54:40 +02:00