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
Kai Krakow
c2344f4387
gamemode: Add function to search environment of a PID
...
This function can look up arbitrary environment variables from a running
PID (given we have access permissions which should be usually true).
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-05 19:54:40 +02:00
Kai Krakow
47ea4514cd
gamemode: Add function to lookup user home directory
...
We first try to use `$HOME`, and only then fall back to passwd lookup.
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-05 19:54:40 +02:00
Kai Krakow
3a6d258eae
gamemode: Make game_mode_context_find_exe() thread-safe
...
Let's use our new safe_snprintf() helper. It's designed to make
thread-safe usage easy and will also be used by the next commits.
Reported-by: Alex Smith <alex@alex-smith.me.uk>
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-05 19:54:40 +02:00
Kai Krakow
81a52ddc4d
gamemode: Add a tiny safe snprintf helper
...
Give it a buffer, it returns an allocated string respecting the buffer
size.
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-05 19:54:23 +02:00
Kai Krakow
bd811c6646
gamemode: Add executable to initializer
...
This allows to initialize the GameModeClient later and cleans up the
error path.
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-05 19:45:31 +02:00
Kai Krakow
8214f93630
gamemode: Optimize detection of dupe registers
...
GameMode can do a pretty expensive lookup function now for the exe.
Let's spare some CPU cycles by detecting a duplicate PID early. Nothing
makes use of the exe path at this stage.
Signed-off-by: Kai Krakow <kai@kaishome.de>
2018-10-05 19:45:31 +02:00