380 Commits

Author SHA1 Message Date
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
Marc Di Luzio
de390be93d Add unused to now unused hex function 2019-02-21 17:33:58 +00:00
Marc Di Luzio
ebe525d04e Fix up testing now that we detect the vendor 2019-02-21 17:26:14 +00:00
Marc Di Luzio
91deffb6b4 Fill in the GPU vendor automatically 2019-02-21 17:26:14 +00:00
Marc Di Luzio
0847d3b452 Remove the vendor config value in prep for it to be auto-detected 2019-02-21 17:26:14 +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
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
00ed82f8e4 Extend the nvidia command size to 128
It was exactly 64 for small arguments, but that fails for larger overlocks
2019-02-12 08:55:23 +00:00
Marc Di Luzio
d1b7c49bc2 Remove more duplicate ERROR: logs 2019-02-12 08:55:23 +00:00
Marc Di Luzio
ba20df5c47 Fix headers for travis 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
16ade5c1c9 Adjust the TODO list 2019-02-12 08:55:23 +00:00
Marc Di Luzio
d18f3fc584 Remove duplicate ERROR strings from error logs
Now visible in 5898538
2019-02-12 08:55:23 +00:00
Marc Di Luzio
0170a72634 Fix formatting of renice value comment 2019-02-12 08:55:23 +00:00