Um mit einem NVIDIA-Optimus Notebook die volle Grafikleistung zu erhalten oder externe Monitore ansteuern zu können wird die NVIDIA-GPU benötigt. Unter Linux dient Bumblebee dazu die GPU dynamisch zu- und abschalten zu können. Dadurch wird einiges an Energie eingespart, wenn die NVIDIA GPU nicht benötigt wird und die Akku-Laufzeiten verlängern sich erheblich.
Die korrekte Funktion ist jedoch nur mit dem closed-Source NVIDIA-Treiber möglich. Dieser wird wie folgt installiert:
Hinzufügen des Repositories:
# zypper addrepo --refresh https://download.nvidia.com/opensuse/leap/15.1 NVIDIA
Nun gilt es den GPU-Typ zu ermitteln, um den richtigen Treiber zu laden:
# lspci | grep VGA
Dieser muss nun installiert werden. Entweder mit Yast oder mit Zypper:
# yast2 sw_single # zypper in <x11-video-nvidiaG04 or x11-video-nvidiaG05>
Die Installation von Bumblebee unter OpenSuSE ist mit zypper schnell erledigt:
zypper install bumblebee xf86-video-intel
Nun muss Bumblebee noch konfiguriert werden:
Section "ServerLayout" Identifier "Layout0" Option "AutoAddDevices" "false" # prevent plugging udev devices to this server Option "AutoAddGPU" "false" # only nvidia EndSection Section "Device" Identifier "DiscreteNvidia" Driver "nvidia" VendorName "NVIDIA Corporation" BusID "PCI:01:00:0" Option "ProbeAllGpus" "false" Option "NoLogo" "true" Option "UseEDID" "true" # detect external monitors resolutions Option "AllowEmptyInitialConfiguration" # work even if no display EndSection
KeepUnusedXServer=false TurnOffCardAtExit=true Driver=nvidia
Section "Device" Identifier "intel" Driver "intel" Option "TearFree" "true" # not relevant here but useful EndSection
Danach muss Bumblebee aktiviert und gestartet werden:
systemctl enable bumblebeed && systemctl start bumblebeed
Mit dem Befehl
intel-virtual-output -f
kann die nvidia-GPU aktiviert werden und damit die externen Monitore angesteuert werden. Nach Beendigung der Verbindung zur externen GPU muss dieses Kommando wieder beendet werden (z.B. CTRL-C).
Möchte man feststellen, ob die nvidia GPU aktiv ist, so kann dies mit dem folgenden Kommando geprüft werden:
# cat /proc/acpi/bbswitch 0000:01:00.0 OFF
Weiterführende Informationen: https://wiki.gentoo.org/wiki/Lenovo_ThinkPad_P52