479 Commits

Author SHA1 Message Date
Alex Smith
746b463783 Merge pull request #114 from mdiluz/fix-issue-113
Try and make an educated guess at the correct nvidia gpu index
2019-03-12 17:08:37 +00:00
Marc Di Luzio
1482a2b39e Get the gpu index for both get and set (thanks @rezzafr33!) 2019-03-12 08:52:58 +00:00
Marc Di Luzio
c1d06f2ad5 Try and make an educated guess at the correct nvidia gpu index
This should hopefully fix issue #113, where the user was in the common situation of having an intel and an nvidia GPU, at card0 and card1 respectively, but the nvidia gpu was [gpu:0] according to the driver
2019-03-11 21:58:51 +00:00
Alex Smith
0c08359005 Merge pull request #112 from mdiluz/automatic-gpu-info
Clean up NV optimization config
2019-03-11 17:14:41 +00:00
Marc Di Luzio
dc1258d750 Automatically adjust the nvidia gpu index
The drm device ID doesn't match up with the pci device as expected, spotted by issue #113

	I can't test this myself just yet, will need data from the user in question to verify PCIDevice is the right value
2019-03-11 16:27:49 +00:00
Marc Di Luzio
fec32ac53d Remove the nv_perf_level config option and figure it out programmatically
This also fixes the instances in testing where we don't have the nv overclock in use, but we do have the mode set

	Solves issues explaining the what the perf_level actually meant, and future proofs for any PR that wants to set individual perf levels
2019-03-10 15:19:34 +00:00
Marc Di Luzio
873d0a224b Remove passing the vendor to gpuclockctl 2019-03-10 15:19:34 +00:00
Marc Di Luzio
5e5cae31d3 Explain a little more about nv_perf_level
We think this was a little confusing, so explain some more.
2019-03-10 12:38:31 +00:00
Marc Di Luzio
eb9bb0cdf7 Add notes on values for nv_powermizer_mode
Instead of just suggesting values
2019-03-10 11:54:54 +00:00
Alex Smith
c49cd45e01 Ensure that we null terminate the process output buffer in run_external_process 2019-03-10 10:51:15 +00:00
Alex Smith
26ec6ad2b4 Document script_timeout 2019-03-10 10:49:06 +00:00
Alex Smith
8bb7c901de Fix typo (default_timout -> default_timeout) 2019-03-10 10:47:17 +00:00
Marc Di Luzio
7fb1950357 Fix formatting 2019-03-10 10:32:08 +00:00
Marc Di Luzio
54d7d3f259 Allow nv_perl_level and nv_powermizer_mode to be set independently 2019-03-10 10:32:08 +00:00
Marc Di Luzio
834a18aab4 Implement nv_powermizer_mode option to allow setting the Nvidia powermizer mode 2019-03-10 10:32:08 +00:00
Marc Di Luzio
9ade4481c3 Change AMD overclocking to simply be setting the power_dpm_force_performance_level file for now
This covers the MVP for now, and simply allows pinning the power level to "high"

	Full overclocking set up is somewhat more complicated, and it'll be better to implement that at the same time as the same for Nvidia, where we're currently only really setting the top end power level
2019-03-10 10:32:08 +00:00
Marc Di Luzio
20efaaa33f Rename the core and mem stats to nv_ prefix
These will be NV only going forward, as AMD needs a different chunk of work
2019-03-10 10:32:08 +00:00
Alex Smith
cc9f78fe0a Merge pull request #108 from mdiluz/bug-and-feature-bash
Assorted small bug fixes
2019-03-10 10:30:25 +00:00
Alex Smith
058efe8cce Use Meson's warning_level option
Set this to 3, and then remove extra warning flags that are already included
by enabling this (#107).
2019-03-10 10:20:29 +00:00
Alex Smith
433370e3fa Add details of Gentoo ebuild for stable release
As suggested in #110.
2019-03-10 10:10:00 +00:00
Marc Di Luzio
6a240d550e Extend the sleep for the child gamemode in tests 2019-03-08 12:32:08 +00:00
Marc Di Luzio
0efd65fc78 set the default gov not the desired gov in tests 2019-03-08 12:14:01 +00:00
Marc Di Luzio
b6da948ca2 Add the output to the log for external processes that have failed 2019-03-07 17:51:57 +00:00
Marc Di Luzio
c215626ccd Add "script_timeout" config value to control if a user wants to extend the script timeout before kill value 2019-03-07 17:51:57 +00:00
Marc Di Luzio
53d1700a68 Add the timout to the call signature of run_external_process 2019-03-07 17:51:57 +00:00
Marc Di Luzio
4578af47ba Combine the two run_external_process functions so they both have the same timeout protection 2019-03-07 17:51:57 +00:00
Marc Di Luzio
e9ff2cbb10 Implement a timeout in run_external_process 2019-03-07 17:51:57 +00:00
Marc Di Luzio
1665447350 Use run_external_process for the script execution
This protects the main process against script exection and allows more detailed error handling
2019-03-07 17:51:57 +00:00
Marc Di Luzio
5facf2bba5 Refactor out script execution 2019-03-07 17:51:57 +00:00
Marc Di Luzio
024acddf90 Run the custom start scripts to after the other optimisations
This ensures the other featues are applied first, and the scripts can react if needed to those settings
2019-03-07 17:51:57 +00:00
Marc Di Luzio
9df1dd857c Try waiting for the reaper thread at the start of tests if needed 2019-03-07 17:51:57 +00:00
Marc Di Luzio
e44c445262 Use the actual dbus error when failing in the client
This helps greatly when identifying what went wrong
2019-03-07 17:51:57 +00:00
Alex Smith
3c28e84700 Merge pull request #105 from mdiluz/auto-detect-vendor
Detect the GPU vendor automatically
2019-03-04 08:43:58 +00:00
Marc Di Luzio
a5543880f3 Clarify ini file description
As requested in #105
2019-03-01 18:13:58 +00:00
Alex Smith
c7c1c5470f Minor fix for preload instructions 2019-02-27 09:38:09 +00:00
Alex Smith
326be7ebbd Merge pull request #106 from mdiluz/supervisor-support
Add "supervisor" support
2019-02-26 18:31:18 +00:00
Marc Di Luzio
7f6f32d284 Actually reject requests if require_supervisor is hit 2019-02-22 15:58:46 +00:00
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