Commit Graph

186 Commits

Author SHA1 Message Date
Marc Di Luzio
66bd6a3e35 Correct double invalid in error message, and actually skip out on the renice 2019-02-03 15:05:53 +00:00
Marc Di Luzio
f13e098fd8 Update the explanation at the start 2019-01-31 19:40:08 +00:00
Marc Di Luzio
5db6555f23 Re-order the install dependencies title 2019-01-31 19:31:52 +00:00
Marc Di Luzio
020e1464db Make the package manager part clearer 2019-01-31 19:31:05 +00:00
Marc Di Luzio
d6dd30d544 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
055ac95c59 Add titles to building and installing 2019-01-31 19:23:03 +00:00
Marc Di Luzio
7b5fcfac1d Add the travis status 2019-01-31 19:19:52 +00:00
Marc Di Luzio
d3e298f710 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
53d492e0f6 Don't log an error about a default initial renice value 2019-01-31 19:06:02 +00:00
Alex Smith
e3840a7d9d 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
7ae8dee064 Remove SCHED_ISO from gamemode.c
As per request, no longer needed
2019-01-29 16:38:25 +00:00
Marc Di Luzio
e481717b6f Run gamemoded -v as well to ensure basic functionality works 2019-01-28 18:57:56 +00:00
Marc Di Luzio
19d902f22f Run bootstrap in the integration 2019-01-28 18:57:56 +00:00
Marc Di Luzio
3d9b945d64 Define SCHED_ISO if not defined 2019-01-28 18:57:56 +00:00
Marc Di Luzio
1398795aa3 Only request input if we're not travis 2019-01-28 18:57:56 +00:00
Marc Di Luzio
eb13713529 Install dependencies needed for build 2019-01-28 18:57:09 +00:00
Marc Di Luzio
94f47372d7 Upgrade the travis docker image to use xenial
Fix clang-format package name
2019-01-28 18:50:12 +00:00
Alex Smith
020ff9ad7c 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
60dd174acc Merge pull request #95 from mdiluz/add-tests
Add integration tests
2019-01-28 18:09:20 +00:00
Marc Di Luzio
868ed27b43 Fix up calling screensaver, now appears to work 2019-01-28 16:36:56 +00:00
Marc Di Luzio
c25fc285ee Add initial screensaver inhibiting code 2019-01-28 16:36:56 +00:00
Marc Di Luzio
a0d737f9db Correct error message when the initial query fails 2019-01-28 16:36:08 +00:00
Marc Di Luzio
b60ba6c00c Correct help message 2019-01-28 16:36:08 +00:00
Marc Di Luzio
12bc45398f Improve the test output 2019-01-28 16:36:08 +00:00
Marc Di Luzio
8de3600984 Properly handle quitting by request, and use that in the tests 2019-01-28 16:36:08 +00:00
Marc Di Luzio
f83d4d26d8 Small refactor
Single and dual client tests split into functions
2019-01-28 16:36:08 +00:00
Marc Di Luzio
c83fca408b 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
825b077f6d Add game_mode_run_tests function to trigger tests 2019-01-28 16:36:08 +00:00
Marc Di Luzio
1206826cea Add -t option to run tests on self
Right now only prints
2019-01-28 16:36:08 +00:00
Alex Smith
56e083eb60 Merge pull request #91 from suvayu/master
Configurable prefix path
2018-12-14 15:07:00 +00:00
Alex Smith
b64e143753 Merge pull request #85 from terencode/master
Add with-pam-group meson option
2018-12-10 09:53:29 +00:00
Térence Clastres
06ec97f968 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
5c87d798e1 bootstrap.sh: configurable prefix path 2018-12-02 09:22:06 +05:30
Alex Smith
ef8c4c7341 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
89b970b8d2 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
fb3e3d0caf refactor: Simplify the log hinter
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-09 00:33:46 +02:00
Kai Krakow
ab9b45ac15 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
ce50992236 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
f9ad4ca1ef 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
c51f9f5003 refactor: Avoid exposing various internal types
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-09 00:33:46 +02:00
Kai Krakow
a8780b7e03 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
6e272db1aa 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
4943126321 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
39a145773a Merge pull request #84 from kakra/improve-scheduler-logging
gamemode-scheduler: Improve logging
2018-10-08 17:30:06 +01:00
Alex Smith
61fc64c8dc 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
1c57f28a84 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
f23b57af12 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
5a6ea9598c 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
3c309d1334 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
e89503719c 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