Bumblebee Nvidia optimus primus logo

Achtung:

Auf Grund häufiger Probleme und Störungen durch System und NVidia-Treiber Updates empfindlichen Verhalten von bumblebee empfehlen wir nicht bumblebee zu nutzen. Statt dessen empfehlen wir suse-prime oder suse-prime-bbswitch, oft auch Prime Manager genannt.

Falls ihr dennoch bumblebee nutzen möchten, könne ihr diese Anleitung gerne als Referenz verwenden, wir garantieren aber keine all zu großen Erfolge auf Grund persönlicher Misserfolge mit neueren Linux-Kerneln und NVidia Treibern.

Bubmlebee mit openSUSE Leap 15.0

Bei Fragen oder Problemen wendet euch gerne an uns, wir versuchen zu Helfen.
Wir übernehmen aber keine Garantie für die hier gezeigten Schritte weder in Funktionsweise noch bei etwaigen Hardwareschäden (Ja, das müssen wir leider dabei schreiben… Sorry)

Stand: 24. Oktober 2018

Das Problem

Wer ein Notebook hat kennt es sicher, die Sekundäre NVidia Grafikarte im Laptop zieht massig Strom, auch wenn sie nicht gebraucht wird.
Oder man will seinen Laptop davon überzeugen dass er ein Spiel oder eine X-Belibige andere Anwendung GPU Beschleunigt ausführt.
Der wird auf Notebooks mit einer Intel CPU und einer sekundären NVidia Karte nicht um Optimus bzw Bumblebee herumkommen.

Wir halten uns bei dieser Anleitung weit gehend an das englische original von openSUSE haben aber noch ein paar Ergänzungen, die in unserem Testfall noch gelöst werden mussten, dabei.

Wichtig: Installiert NICHT den NVidia Trieber wie unter „Install the driver as described here:“ im verlinkten Artikel beschreiben.

openSUSE Leap 15
Blender 2.79 rc 1 Cycles mit Bumblebee

Test System

OS: openSUSE Leap 15.0
CPU: Intel i5-3230M (mit HD Graphics 4000)
GPU: NVidia GT 730M (Kepler Architektur)
RAM: 8GB

Hinweis: Wir haben bisher diese Prozedur nur efolgreich mit Leap 15.0 getestet.
Mit Tumbleweed hatten wir (als wir es zu letzt Probiert hatten) keine Erfolge.
Auch gibt es manchmal Unterschiede von GPU zu GPU.
So kann es z.B. bei Kepler GPUs zu anderen Schwierigkeiten kommen wie mit Maxwell, Volta oder anderen Architekturen.

Installation von Bumblebee:

Zur Sicherheit könnt ihr einen Snapshot mit Snapper erzeugen bevor ihr diese Anleitung Probiert um evtl. Fehlkonfigurationen rückgängig zu machen.

Bumblebee ist ein kleines aber feines Programm welches eure sekundäre GPU an- oder ausschaltet und den NVidia-Treiber (den wir später installieren) lädt oder entlädt.
Was nicht gebraucht wird muss ja nicht im RAM liegen, gell.

Snapshot erstellen (Optional):

sudo snapper create -d BeforeBB

Bubmlebee Installieren:

sudo zypper in bumblebee bbswitch

Benutzer Gruppen anlegen und zuweisen:
<user> ist hier ein Ersatz für EUREN Username

sudo usermod -aG bumblebee <user>

sudo usermod -aG video <user>

Den Bumblebee Service aktivieren und starten
Auch nach dem Neustart des Rechners

sudo systemctl enable bumblebeed

sudo systemctl start bumblebeed

Den Open Source NVidia-Treiber auf die Blacklist setzten:
(Wir zeigen hier die installation des NVidia Treibers, daher so oder so.
Aber laut offizieller Anleitung ihn auch auf die Blacklist setzten, selbst wenn ihr ihn benutzen wollt.)

echo „blacklist nouveau“ | sudo tee -a /etc/modprobe.d/99-local.conf

Dann noch die RAM Disk aktualisieren (Ein Temporäres Dateisystem im Arbeitsspeicher mit allen aktivierten Kernel Modulen)

sudo mkinitrd

Für 32bit Kompatibilität noch ein paar Bibliotheken installieren:

sudo zypper in Mesa-libGL1-32bit libX11-6-32bit primus-32bit

Jetzt könnt ihr euren Laptop Neustarten, muss aber nicht sein.

Installation des NVidia-Treibers

Wie mit Nouveau so auch mit Nvidia:
Den NVidia Treiber auf die Blacklist, Bumblebee lädt den Treiber für uns nicht unser openSUSE.

echo „blacklist nvidia“ | sudo tee -a /etc/modprobe.d/99-local.conf

sudo mkinitrd

So und nun zum etwas komplizierten Teil, die Konfiguration von Bumblebee und das richtige aufsetzten der Symlinks und Bibliotheken.

Das XOrg Modulverzeichnis

Im Normalfall sollten hier 2 Dateien bereits vorhanden sein, einmal libglxserver_nvidia.so welches ein Symlink auf die Datei libglxserver_nvidia.so.Treiber.Version in unserem Fall: libglxserver_nvidia.so.410.93.
Ist das der Fall müsst ihr hier nichts weiter tun.

Sollte dies NICHT der Fall sein prüft ob ihr einen Unterordner nvidia im Ordner /usr/lib64/xorg/modules/extensions/ habt.
Wenn ja dann führt folgendes aus:

sudo mkdir -p /usr/lib64/nvidia/xorg/modules/extensions

sudo ln -s /usr/lib64/xorg/modules/extensions/nvidia/nvidia-libglx.so /usr/lib64/nvidia/xorg/modules/extensions/libglx.so

Bubmlebee Konfiguration:

sudo vim /etc/bumblebee/bumblebee.conf

Alle nicht genannten Zeilen die nun Folgen bitte unangetastet lassen:

[bumblebeed]
TurnCardOffAtExit=true
Driver=nvidia

[driver-nvidia]
LibraryPath=/usr/lib64/nvidia:/usr/lib/nvidia #Hier NICHT der openSUSE Anleitung folgen für 410.er Treiber
XorgModulePath=/usr/lib64/nvidia/xorg/modules,/usr/lib64/xorg/modules

Das Bumblebee Repository für openSUSE Leap 15:

sudo zypper addrepo https://download.opensuse.org/repositories/X11:Bumblebee/openSUSE_Leap_15.0/X11:Bumblebee.repo

Den NVidia-Treiber installieren:

sudo zypper in nvidia-bumblebee nvidia-bumblebee-32bit

sudo systemctl enable dkms

sudo mkinitrd

Jetzt auf jeden Fall den Laptop neu starten.

Ob alles funktioniert könnt ihr wie folgt testen:

optirun <program-name>

oder

primusrun <program-name>

Zum schnellen Testen eignen sich glxspheres und glxgears

Nun sollte euer Treiber funktionieren, bei Fragen, Problemen oder wünschen wendet euch an uns.
Alle Details findet ihr auf unsere Kontakt-Seite

Bubmlebee und Steam

Klar, natürlich könnt ihr steam auch via primusrun steam starten dann ist die GPU aber immer an wenn ihr Steam laufen habt.

Wie wäre es wen wir nur für einzelne Spiele mal die NVidia Karte nutzen und bei anderen, die locker von der integrierten Karte gepackt werden einfach dort lassen?

Klingt gut?
Gut!

Diese Prozedur ist so einfach wie sie genial ist und lässt sich auch einfach mit anderen Kombinieren.

Geht in eure Steam Bibliothek, rechts Klick auf euer Spiel -> Einstellungen -> Startoptionen dort tragt ihr einfach primusrun %command% ein und das war’s schon.

Wollt ihr das ganze mit Tools wie GLXOSD kombinieren geht das auch ganz einfach:

primusrun glxosd –steam %command%

Einfach oder?
Finden wir auch. 😀

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen