159 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
Alex Smith
d582b580b2 Merge pull request #104 from mdiluz/more-testing
Add more test coverage
2019-02-21 14:10:44 +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
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
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
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
Marc Di Luzio
db0f8f91f3 Update TODO comments 2019-02-12 08:55:23 +00:00
Marc Di Luzio
a488af5741 Lower the amd overclock hard limit
20 appears to be the limit in the kernel

	Adjust nvidia message as well
2019-02-12 08:55:23 +00:00
Marc Di Luzio
2aa2ca2f7d Implement AMD overclocking using AMDGPU
Again, simply set values based on our inputs, with appropriate error messages
2019-02-12 08:55:23 +00:00
Marc Di Luzio
d00a9997f1 Correct log message 2019-02-12 08:55:23 +00:00
Marc Di Luzio
f5e7fa3222 Set up overclocking calls on NVidia
These require the coolbits plugin to be activated on nvidia-xsettings
2019-02-12 08:55:23 +00:00
Marc Di Luzio
bd5baccc67 Hook up individual set state functions 2019-02-12 08:55:23 +00:00
Marc Di Luzio
53428356a5 Move control code back into the helper 2019-02-12 08:55:23 +00:00
Marc Di Luzio
ff1a838ab7 Apply format corrections 2019-02-12 08:55:23 +00:00
Marc Di Luzio
142b2fb32d Also add nv_perf_level for nvidia (needed as a parameter to nvidia-xsettings) 2019-02-12 08:55:23 +00:00
Marc Di Luzio
4152104d2b Correct the mem argv index and print the intended change 2019-02-12 08:55:23 +00:00
Marc Di Luzio
b85edc2e04 Hand down correct set parameters to gpucorectl 2019-02-12 08:55:23 +00:00
Marc Di Luzio
8ea751057c Move the TODO into the control file 2019-02-12 08:55:23 +00:00
Marc Di Luzio
01dbe4e2b0 Rename gpu-query to gpu-control to better describe it's functions 2019-02-12 08:55:23 +00:00
Marc Di Luzio
a1a1829dea Add argument parsing and errors to gpuclockctl 2019-02-12 08:55:23 +00:00
Marc Di Luzio
1984908543 Fix include order 2019-02-12 08:55:23 +00:00
Marc Di Luzio
fa38ef4e23 Add a macro to validate a vendor value 2019-02-12 08:55:23 +00:00
Marc Di Luzio
57a55c41cc Call gpuclockctl 2019-02-12 08:55:23 +00:00