bumblebee-nvidia, bbswitch-dkms, primus und die GPU, die sich nicht abschalten will.

_anonymous0815_

Lt. Commander
Registriert
Aug. 2020
Beiträge
1.308
Guten Abend liebes Forum,

Ich habe die Soft- und Hardwaredetails hier schon mal aufgelistet:

https://www.computerbase.de/forum/t...-pastebin-aus-kontextmenue-entfernen.2175132/

(Verwendetes Treiberpaket: nvidia-driver-390)

Ich arbeite immer noch zeitweise an einem Laptop eines Bekannten und komme langsam voran.

Jetzt habe ich mich der Konfiguration vom Nvidia-Treiber in Verbindung mit (X)Wayland + bumblebee + bbswitch + primus gewidmet.

Soweit funktionierts auch, ich kann mit:
Bash:
optirun glxgears
#oder
primusrun glxgears

eine X-Session eröffnen, die die dedizierte GPU benutzt und dies an die iGPU weiterleitet.

Außerdem gelingt es, die dedizierte GPU mit dem Herunterfahren zu deaktivieren. D.h. bei einem Systemstart ist erst mal nur die iGPU aktiv.

Bash:
cat /proc/acpi/bbswitch
OFF

echo ON > /proc/acpi/bbswitch
#kurze Wartezeit
cat /proc/acpi/bbswitch
ON

Das funktioniert reibungslos und schaltet die dedizierte GPU manuell dazu.

Das Gegenteil:

Bash:
#Pseudocode:

echo OFF > /proc/acpi/bbswitch
cat /proc/acpi/bbswitch
ON

#Blick in dmesg/ journalctl -u bumblebeed:

#(sinngemäß, sitze gerade nicht am PC):
#"nvdia" Driver in use, refuse to disable

Ich reiche gerne noch exakte Logs nach, aber das bildet erst mal den Informationsgehalt ab.

Jetzt habe ich bereits gestern Abend breit recherchiert und diverse Ansätze gefunden, keine absolute Wahrheit.

Manche schrieben von einem Bug in dem 390er Treiber (417 habe ich auf dem System nicht zum laufen bekommen, bzw. gab es immer Querverweise auf die nächsthöhere Version, bis am Ende 470 installiert wurde, welcher von der GPU nicht offiziell supported wird).

Für Nvidia-PRIME ist diese GPU zu alt, es gibt zwar prinzipiell die Funktion, PRIME zu nutzen, aber das muss jedes Mal im Treiber gewechselt werden, bzw. über prime-select intel|nvidia|on-demand, was den Bau eines neuen initramfs zur Folge hat, welches gut 30 sek. auf diesem PC benötigt... ein "On-the-Fly"-Wechseln ist mit dieser Treiberversion nicht implementiert. (Deshalb übrigens auch das nicht mehr maintained Bumblebee).

Gibt es hier irgendwie eine Möglichkeit, das Kernelmodul "On-the-Fly" heraus zu nehmen, sobald Bumblebee eigentlich den Trigger an bbswitch sendet, um die GPU abzuschalten?

Ich dachte da jetzt an ein systemd-service, aber wie kann ich das Signal von bumblebeed an bbswitch abfangen? Und wäre nicht prinzipiell auch eine Möglichkeit, bbswitch zu purgen und ein Script anstelle von bbswitch einzusetzen, dass dann einfach sowas wie:

Bash:
modprobe -r *nvidia*

ausführt?

Ich bin über jede Anregung dankbar.

Viele Grüße!
 
Zuletzt bearbeitet:
Zurück
Oben