Okay, so I’ve managed to get it partially working. This is what I did:
- Went in to the BIOS and set the graphics mode to “switchable” (“hybrid”).
- Installed the Nvidia driver (version 470.74) from the Arch repositories.
- Installed
acpi_call
(from the Arch repositories) and rebooted. - Installed
optimus-manager
andoptimus-manager-qt
(rebooted).
I then configured optimus-manager with the following settings:
$ cat /etc/optimus-manager/optimus-manager.conf
[amd]
DRI=3
driver=modesetting
tearfree=
[intel]
DRI=3
accel=
driver=modesetting
modeset=yes
tearfree=
[nvidia]
DPI=96
PAT=yes
allow_external_gpus=no
dynamic_power_management=coarse
dynamic_power_management_memory_threshold=0
ignore_abi=yes
modeset=yes
options=overclocking, triple_buffer
[optimus]
auto_logout=yes
pci_power_control=no
pci_remove=yes
pci_reset=hot_reset
startup_auto_battery_mode=integrated
startup_auto_extpower_mode=nvidia
startup_mode=hybrid
switching=acpi_call
So basically, in the Optimus
tab, set Switching Method
to ACPI Call
and PCI Reset
to Hot Reset
. Then in the Nvidia
tab, set Dynamic Power Management
to Course
. I have tried setting Dynamic Power Management
to Fine
, but then Runtime D3
status shows Not Supported
. Not sure if this is a limitation of my card, or if there’s something else I need to do to get “Fine” working.
However, I have noticed that even with Runtime D3
set to Coarse
, the Nvidia GPU never powers down completely:
# cat /sys/bus/pci/devices/0000:01:00.0/power/runtime_status
active
# nvidia-smi
Sat Oct 23 16:20:37 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.74 Driver Version: 470.74 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
| 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 37C P8 4W / N/A | 5MiB / 5944MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1283 G /usr/lib/Xorg 4MiB |
+-----------------------------------------------------------------------------+
Shouldn’t the Nvidia GPU power off completely if I’m not using it?