Installation von Bumblebee unter OpenSuSE Leap 15.1

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:

/etc/bumblebee/xorg.conf.nvidia
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
/etc/bumblebee/bumblebee.conf
KeepUnusedXServer=false
TurnOffCardAtExit=true
Driver=nvidia
/etc/X11/xorg.conf.d/intel.conf
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