288 Commits

Author SHA1 Message Date
Marc Di Luzio
c1dfd8bbc4 Add gamemode error strings to printouts to help debug issues 2019-02-21 17:34:20 +00:00
Marc Di Luzio
218dc9dab8 Fix up formatting 2019-02-21 17:34:20 +00:00
Marc Di Luzio
70c317233f Wait for the child to finish up 2019-02-21 17:34:20 +00:00
Marc Di Luzio
3a624350d1 Add flavor to error log messages 2019-02-21 17:34:20 +00:00
Marc Di Luzio
baf295773b Implement supervisor tests 2019-02-21 17:34:20 +00:00
Marc Di Luzio
b28efdb555 Correct the names and return 0 for success 2019-02-21 17:34:20 +00:00
Marc Di Luzio
602afdcbb7 Add check against require_supervisor variable 2019-02-21 17:34:20 +00:00
Marc Di Luzio
1d40c0cc1b Refactor to use single internal functions for register, unregister and query 2019-02-21 17:34:20 +00:00
Marc Di Luzio
d4fdd9e3b4 Correct internal name for query_status_for 2019-02-21 17:34:20 +00:00
Marc Di Luzio
de1049f070 Fix comments 2019-02-21 17:34:20 +00:00
Marc Di Luzio
c2f7e971c6 Implement game_mode_query_status_for as well 2019-02-21 17:34:20 +00:00
Marc Di Luzio
1b96111afc Add entry in README for supervisor support 2019-02-21 17:34:20 +00:00
Marc Di Luzio
1430c0b831 Implement supervisor features using new config variables
This allows direct control over who can make requests on behalf of other processes

	require_supervisor can also be used to allow a supervisor to take direct control of gamemode on the system (perhaps a GUI, or game launcher)
2019-02-21 17:34:20 +00:00
Marc Di Luzio
d60ac23daa Add a helper function for getting if a config list contains a string 2019-02-21 17:34:20 +00:00
Marc Di Luzio
c5f58c56d0 Hook up interfaces for functions to register another process 2019-02-21 17:34:20 +00:00
Marc Di Luzio
0f7950245a Actually don't error if a symbol is not required 2019-02-21 17:34:20 +00:00
Marc Di Luzio
ca858d6932 Add two new API calls to the client to request gamemode on behalf of another process
gamemode_request_start_for and gamemode_request_end_for
2019-02-21 17:34:20 +00:00
Marc Di Luzio
1f49432e7a Simplify the typedefs for the apicalls 2019-02-21 17:34:20 +00:00
Alex Smith
d582b580b2 Merge pull request #104 from mdiluz/more-testing
Add more test coverage
2019-02-21 14:10:44 +00:00
Alex Smith
77c10ba15f Merge pull request #103 from mdiluz/protect-gpu-settings
Protect the [gpu] config section
2019-02-21 11:34:11 +00:00
Marc Di Luzio
94b6a34f65 Add test for gamemoderun and the reaper thread
Using a simple test allows us to check both at once
2019-02-20 18:08:49 +00:00
Marc Di Luzio
42d7503482 Adjust checking in gpuclockctl to assist when errors happen 2019-02-20 18:08:24 +00:00
Marc Di Luzio
ab5fdad3cb Give the child more time to quit 2019-02-20 17:53:13 +00:00
Marc Di Luzio
e36a172144 Add full test for GPU settings 2019-02-20 17:53:13 +00:00
Marc Di Luzio
784cb0053d Extract testing to individual functions 2019-02-20 17:53:13 +00:00
Marc Di Luzio
a9572e6896 Begin GPU test implementation 2019-02-20 17:53:13 +00:00
Marc Di Luzio
20a4862888 Add functionality to get the current GPU information in the daemon 2019-02-20 17:53:13 +00:00
Marc Di Luzio
e31a811946 Add run_external_process_get_output function to get output as well 2019-02-20 17:53:13 +00:00
Marc Di Luzio
392fb221dc Return failure on failure, and don't try and read past the end of argv 2019-02-20 17:53:13 +00:00
Marc Di Luzio
9cd32c63eb Implement getting GPU clocks for NV 2019-02-20 17:53:13 +00:00
Marc Di Luzio
1bc4ac626a Comment about register features
Also add comment about org.freedesktop.ScreenSaver not being fully testable
2019-02-20 17:53:13 +00:00
Marc Di Luzio
7f5e59b7c4 Add pass/fail for the CPU tests 2019-02-20 17:53:13 +00:00
Marc Di Luzio
6bfedc9692 Call the configured scripts to test them 2019-02-20 17:53:13 +00:00
Marc Di Luzio
f7dce41d8a Improve test logging output 2019-02-20 17:53:13 +00:00
Marc Di Luzio
cbf7f975d3 Add basic framework to do some script tests 2019-02-20 17:53:13 +00:00
Marc Di Luzio
6ba74284b9 Add test to verify that governor setting works 2019-02-20 17:53:13 +00:00
Marc Di Luzio
7773e5d8b7 Use the logging macros for tests 2019-02-20 17:53:13 +00:00
Marc Di Luzio
97cfc3bb17 Add game_mode_run_feature_tests to start putting feature tests 2019-02-20 17:53:13 +00:00
Marc Di Luzio
938794a69c Protect the [gpu] config section
Don't allow these settings to be set from $HOME or $CWD, as discussed in PR #101
2019-02-20 17:48:23 +00:00
Alex Smith
7550a1937d Merge pull request #102 from mdiluz/config-refactor
Small config refactor
2019-02-20 09:00:32 +00:00
Marc Di Luzio
c0ef843290 Refactor the config values into a sub-struct
This makes it much simpler to default all but some to zero
2019-02-19 17:40:50 +00:00
Marc Di Luzio
903fda6dcb Use a macro to declare some the repeated "get long config value" pattern 2019-02-19 17:40:50 +00:00
Marc Di Luzio
d5ffdcffdb Fix reaper_frequency naming 2019-02-19 17:40:50 +00:00
Marc Di Luzio
b7dff4265c Refactor config functions that can return their full value to do so
This pattern got a little out of hand, and was only meant for variable length values like strings
2019-02-19 17:40:50 +00:00
Alex Smith
d17d682082 Fix gamemoderun to set the right environment variable 2019-02-19 10:10:51 +00:00
Alex Smith
536be9c4c4 Merge pull request #101 from mdiluz/gpu-optimisations
Add Preliminary GPU Optimization (overclocking) features
2019-02-19 08:43:35 +00:00
Marc Di Luzio
c7da9ff9ea Reword advice in the example ini file to clear up confusion with the PCI ID 2019-02-15 18:20:52 +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
547b7943fd Remove r in "statesr" 2019-02-13 17:22:45 +00:00
Marc Di Luzio
8584558f9c Make sure gpuclockctl inherits the DISPLAY and XAUTHORITY variables so nvidia-settings works 2019-02-12 08:55:23 +00:00