Closed mmstick closed 1 year ago
An expected feature. I have tried to activate or make use of this myself by following the official instructions from NVIDIA, without success. (pop_OS!22.04) Thank You for this!
I don't think I'm getting this to work on oryp9 in hybrid or Nvidia graphics modes:
$ nvidia-settings -q DynamicBoostSupport
Attribute 'DynamicBoostSupport' (levioryx:1[gpu:0]): 0.
'DynamicBoostSupport' is a boolean attribute; valid values are: 1 (on/true) and 0 (off/false).
'DynamicBoostSupport' is a read-only attribute.
'DynamicBoostSupport' can use the following target types: GPU
I tried looking for nvidia-dbus.conf
like the linked article mentions, but I'm not seeing a /usr/share/doc/NVIDIA_GLX-1.0/
directory. I also tried starting nvidia-powerd.service
, which didn't output anything (usually means it worked, I think) and didn't change the above output.
Also in Software Requirements on that article, point number three sounds like something that might be an issue: "Use the cpufreq infrastructure." I thought that cpufreq and system76-power were mutually exclusive? Perhaps I was mistaken about that though.
Found it in /usr/share/doc/nvidia-driver-525/nvidia-dbus.conf
, but should be installed in the correct path by default.
There is a file with same name in:
/usr/share/doc/nvidia-driver-525/nvidia-dbus.conf
I don't know if that file is the same as the nvidia's article. Which is what I've used when tried to enable the nvidia-powerd.srevice without success. In other hand: nothing to do with systemd, that file does not seems to be a systemd unit AFAIK. Anyway, I did not research a lot and I don't know how this really works. oryp9 here too.
It should be fine for nvidia-powerd to tweak those parameters. There is some overlap with system76-power though because it also tweaks the max scaling frequencies when the profile is changed, but only when the user changes the profile.
Two packages had the same file, and the docs package took precedence. It should be getting placed in /usr/share/dbus-1/system.d/
now.
I have the file now in the expected place, and I enabled the service, but it still appears to not be working:
\ [levi@levioryx:~]$ nvidia-settings -q DynamicBoostSupport
Attribute 'DynamicBoostSupport' (levioryx:1[gpu:0]): 0.
'DynamicBoostSupport' is a boolean attribute; valid values are: 1 (on/true) and 0 (off/false).
'DynamicBoostSupport' is a read-only attribute.
'DynamicBoostSupport' can use the following target types: GPU.
\ [levi@levioryx:~]$ systemctl status nvidia-powerd.service
× nvidia-powerd.service - nvidia-powerd service
Loaded: loaded (/lib/systemd/system/nvidia-powerd.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2022-12-15 18:06:09 MST; 4min 5s ago
Process: 1139 ExecStart=/usr/bin/nvidia-powerd (code=exited, status=1/FAILURE)
Main PID: 1139 (code=exited, status=1/FAILURE)
CPU: 9ms
Dec 15 18:06:08 levioryx systemd[1]: Starting nvidia-powerd service...
Dec 15 18:06:08 levioryx /usr/bin/nvidia-powerd[1139]: nvidia-powerd version:1.0(build 1)
Dec 15 18:06:09 levioryx /usr/bin/nvidia-powerd[1139]: SBIOS support not found for NVPCF GET_SUPPORTED function
Dec 15 18:06:09 levioryx /usr/bin/nvidia-powerd[1139]: No matching GPU found
Dec 15 18:06:09 levioryx /usr/bin/nvidia-powerd[1139]: Failed to initialize RM Client
Dec 15 18:06:09 levioryx systemd[1]: nvidia-powerd.service: Main process exited, code=exited, status=1/FAILURE
Dec 15 18:06:09 levioryx systemd[1]: nvidia-powerd.service: Failed with result 'exit-code'.
Dec 15 18:06:09 levioryx systemd[1]: Failed to start nvidia-powerd service.
\ [levi@levioryx:~]$ nvidia-smi
Thu Dec 15 18:10:26 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.60.11 Driver Version: 525.60.11 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A |
| N/A 51C P8 16W / N/A | 1464MiB / 16384MiB | 22% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 2747 G /usr/lib/xorg/Xorg 333MiB |
| 0 N/A N/A 2885 G /usr/bin/gnome-shell 320MiB |
| 0 N/A N/A 3477 G /usr/lib/firefox/firefox-bin 797MiB |
| 0 N/A N/A 5349 G x-terminal-emulator 10MiB |
+-----------------------------------------------------------------------------+
\ [levi@levioryx:~]$ system76-power graphics
nvidia
The oryp9 should support this, if I'm reading the article correctly.
I wonder what's missing. Will look into it more tomorrow.
I did read that you need this to be true for dynamic boost to be supported:
$ cat /proc/driver/nvidia/gpus/0000:01:00.0/power
Runtime D3 status: Enabled (fine-grained)
I think that's good to go:
\ [levi@levioryx:~]$ cat /proc/driver/nvidia/gpus/0000:01:00.0/power
Runtime D3 status: Enabled (fine-grained)
Video Memory: Active
GPU Hardware Support:
Video Memory Self Refresh: Supported
Video Memory Off: Supported
For this to work on our open firmware laptops we need to add some ACPI code. I'm working on that now.
@mmstick can you rebase this on #180?
Yeah
I can´t remember if this was done by me or some update. The question is if the nvidia-powerd will only work in nvidia mode.
In this moment I am on Hybrid mode, and this is the unit status:
× nvidia-powerd.service - nvidia-powerd service
× nvidia-powerd.service - nvidia-powerd service
Loaded: loaded (/lib/systemd/system/nvidia-powerd.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2023-04-13 18:22:47 -03; 2min 38s ago
Process: 783 ExecStart=/usr/bin/nvidia-powerd (code=exited, status=1/FAILURE)
Main PID: 783 (code=exited, status=1/FAILURE)
CPU: 11ms
Apr 13 18:22:31 oryx.wonder.boy systemd[1]: Starting nvidia-powerd service...
Apr 13 18:22:31 oryx.wonder.boy /usr/bin/nvidia-powerd[783]: nvidia-powerd version:1.0(build 1)
Apr 13 18:22:47 oryx.wonder.boy /usr/bin/nvidia-powerd[783]: SBIOS support not found for NVPCF GET_SUPPORTED function
Apr 13 18:22:47 oryx.wonder.boy /usr/bin/nvidia-powerd[783]: No matching GPU found
Apr 13 18:22:47 oryx.wonder.boy /usr/bin/nvidia-powerd[783]: Failed to initialize RM Client
Apr 13 18:22:47 oryx.wonder.boy systemd[1]: nvidia-powerd.service: Main process exited, code=exited, status=1/FAILURE
Apr 13 18:22:47 oryx.wonder.boy systemd[1]: nvidia-powerd.service: Failed with result 'exit-code'.
Apr 13 18:22:47 oryx.wonder.boy systemd[1]: Failed to start nvidia-powerd service.Loaded: loaded (/lib/systemd/system/nvidia-powerd.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2023-04-13 18:22:47 -03; 2min 38s ago
Process: 783 ExecStart=/usr/bin/nvidia-powerd (code=exited, status=1/FAILURE)
Main PID: 783 (code=exited, status=1/FAILURE)
CPU: 11ms
Apr 13 18:22:31 oryx.wonder.boy systemd[1]: Starting nvidia-powerd service...
Apr 13 18:22:31 oryx.wonder.boy /usr/bin/nvidia-powerd[783]: nvidia-powerd version:1.0(build 1)
Apr 13 18:22:47 oryx.wonder.boy /usr/bin/nvidia-powerd[783]: SBIOS support not found for NVPCF GET_SUPPORTED function
Apr 13 18:22:47 oryx.wonder.boy /usr/bin/nvidia-powerd[783]: No matching GPU found
Apr 13 18:22:47 oryx.wonder.boy /usr/bin/nvidia-powerd[783]: Failed to initialize RM Client
Apr 13 18:22:47 oryx.wonder.boy systemd[1]: nvidia-powerd.service: Main process exited, code=exited, status=1/FAILURE
Apr 13 18:22:47 oryx.wonder.boy systemd[1]: nvidia-powerd.service: Failed with result 'exit-code'.
Apr 13 18:22:47 oryx.wonder.boy systemd[1]: Failed to start nvidia-powerd service.
Obsolete, included in #180
A firmware update is also required for dynamic boost. We will be releasing those as they pass QA.
Enables Dynamic Boost to function in Linux with Intel and AMD CPUs
https://download.nvidia.com/XFree86/Linux-x86_64/510.60.02/README/dynamicboost.html
It's included, but not enabled by default with Ubuntu packaging.