Nvidia als primäre GPU auf Optimus-basierten Laptops festlegen

Akashdeep Dhar, Jun Aruga, Ankur Sinha Version F37 Last review: 2022-09-12

Diese Seite behandelt Softwarequellen von Drittanbietern, die nicht offiziell mit dem Fedora-Projekt verbunden sind oder von diesem unterstützt werden. Die Nutzung erfolgt auf eigene Verantwortung. Fedora empfiehlt die Verwendung freier und quelloffener Software und rät von patentgeschützter Software ab.

Einführung

Ziel ist es, eine aktive NVIDIA-GPU auf einem Optimus-basierten Laptop zu nutzen und diese für alle Aktivitäten in Desktop-Umgebungen mit Xorg-X11 zu verwenden. Verwenden Sie diese Anleitung nicht, wenn Sie Ihren Desktop lieber mit der integrierten GPU rendern und die NVIDIA-GPU nur für ausgewählte Anwendungen nutzen möchten.

Die Anweisungen in diesem Dokument wurden auf Fedora 32 Workstation und späteren Versionen, die Xorg-X11 verwenden, auf ihre Funktionsfähigkeit überprüft.

Einige Anleitungen im Internet empfehlen eine andere Vorgehensweise zur Installation von Nvidia-Treibern unter Fedora, beispielsweise die direkte Verwendung der von Nvidia bereitgestellten Binärdateien. Das Fedora-Projekt kann jedoch nicht garantieren, dass diese mit jeder Fedora-Version funktionieren. Daher empfehlen wir stattdessen die in diesem Dokument beschriebenen Schritte.

Ab Fedora 34 ist Wayland der Standard-Display-Server für GNOME-Desktopumgebungen auf Fedora Workstation. Um die Schritte in dieser Anleitung zu befolgen, müssen Sie in einer Sitzung angemeldet sein, die unter Xorg-X11 läuft.

Für diese Anleitung muss Secure Boot deaktiviert werden, um die unsignierten NVIDIA-Kernelmodule laden zu können.

Um die gesamte Darstellung standardmäßig auf der NVIDIA-GPU zu konfigurieren, müssen Sie diese Schritte sehr sorgfältig befolgen.

Zunächst sollten Sie folgende Punkte beachten:

  • Warum würden Sie das tun wollen?

    Die permanente Nutzung der NVIDIA-GPU ermöglicht flüssigere Übergänge und detailreichere Animationseffekte.
    Hochwertige Desktop-Umgebungen wie GNOME profitieren davon erheblich. Durch die permanente Aktivierung der NVIDIA-GPU werden die CPU-Auslastung und der Speicherverbrauch reduziert, die aufgrund des zusätzlichen In-Memory-Videopuffers anderenfalls hoch wären.
  • Warum könnte dies nicht optimal sein?

    Die ständige Nutzung der NVIDIA-GPU kann den Akkuverbrauch leicht erhöhen. Dies sollte jedoch kein Problem darstellen, solange Ihr Gerät während der Nutzung an das Stromnetz angeschlossen ist.
    Die erhöhte Wärmeentwicklung durch die permanent aktive NVIDIA-GPU könnte hingegen problematisch sein. Es empfiehlt sich daher, anspruchsvolle Spiele (AAA-Titel) nicht auf dem Laptop zu spielen, während Sie ihn auf dem Schoß benutzen.

Schritt 1: Aktualisierung aus den bestehenden Paketquellen

Führen Sie zunächst Folgendes aus:

sudo dnf upgrade

Damit werden zuerst alle Ihre Pakete aktualisiert.

how to set nvidia as primary gpu on optimus based laptops 0

Schritt 2: Fügen Sie die RPMFusion-Paketquelle für NVIDIA-Treiber hinzu

Anschließend müssen Sie das RPM Fusion repository for NVIDIA drivers hinzufügen. Öffnen Sie dazu GNOME Software und klicken Sie auf das Hamburger-Menü (drei horizontale Linien) oben rechts. Wählen Sie dann im Auswahlmenü Softwarequellen aus. Dort finden Sie die entsprechende Option.

how to set nvidia as primary gpu on optimus based laptops 1

Wählen Sie RPM Fusion for Fedora 32 - Nonfree - NVIDIA Driver und AKTIVIEREN Sie es. Hierfür sind Administratorrechte erforderlich. Geben Sie daher Ihr Passwort ein.

Schritt 3: Aktualisierung aus den neu hinzugefügten Paketquellen:

Führen Sie zunächst Folgendes aus:

sudo dnf upgrade --refresh

um alle verfügbaren Aktualisierungen aus der neu hinzugefügten Paketquelle abzurufen.

how to set nvidia as primary gpu on optimus based laptops 2

Schritt 4: Installieren Sie den Treiber und seine Abhängigkeiten:

Führen Sie zunächst Folgendes aus:

sudo dnf install gcc kernel-headers kernel-devel akmod-nvidia xorg-x11-drv-nvidia xorg-x11-drv-nvidia-libs xorg-x11-drv-nvidia-libs.i686

um den Treiber und alle notwendigen Abhängigkeiten zu erhalten.

how to set nvidia as primary gpu on optimus based laptops 3

Step #5: Wait for the kernel modules to load up

You must wait 5-10 minutes for the kernel modules to load. Please do not proceed to the next steps immediately.

Step #6: Read from the updated kernel modules

Führen Sie zunächst Folgendes aus:

sudo akmods --force
sudo dracut --force

This would force the configuration to be read from the updated kernel modules which now have the NVIDIA drivers in them.

Schritt 7: Starten Sie Ihr System neu

Wait for 3-5 minutes for the changes to take effect and then reboot your system.

Log in to a session with Xorg-X11.

From the desktop, go to the About page in the Settings application. You are likely to see the following output.

how to set nvidia as primary gpu on optimus based laptops 4

This means that the driver installation was successful leading to the detection of two distinct video accelerators - internal and dedicated.

Schritt 8: Bearbeiten Sie die X11-Konfiguration

Bitte stellen Sie sicher, dass das xrandr-Paket installiert ist, bevor Sie mit diesem Schritt fortfahren:

sudo dnf install xrandr

Execute the following command to copy the display render details for the X11.

sudo cp -p /usr/share/X11/xorg.conf.d/nvidia.conf /etc/X11/xorg.conf.d/nvidia.conf

Once done, open up the nvidia.conf from the copy destination and edit it to add

Option "PrimaryGPU" "yes"

to the OutputClass section of it.

For example, use nano

sudo nano /etc/X11/xorg.conf.d/nvidia.conf

and make changes.

The file should look like this. Your file should look similar to this.

how to set nvidia as primary gpu on optimus based laptops 5

You can see the additions in both sections.

Save it using [S]` and exit out using `[Ctrl][X].

If you are using a display manager other than GDM (the default of Fedora Workstation), you will need to configure it appropriately. Please refer to the Arch wiki for instructions. For SDDM (the KDE spin default) on Fedora32, the Arch wiki is wrong, and you need to edit the /etc/sddm/Xsetup file, not /usr/share/sddm/scripts/Xsetup.

Schritt 9: Starten Sie Ihr System neu

Reboot your system and proceed to the next steps to verify the change in configuration.

Schritt 10: Überprüfen Sie die Konfiguration

Open a terminal and type in

glxinfo | egrep "OpenGL vendor|OpenGL renderer"

It should show your NVIDIA GPU.

how to set nvidia as primary gpu on optimus based laptops 6

Check on screenfetch.

screenfetch

It should show your NVIDIA GPU under the GPU name.

how to set nvidia as primary gpu on optimus based laptops 7

Check in your Settings application. You would see something like this in the About page.

how to set nvidia as primary gpu on optimus based laptops 8

You can make other configuration changes using NVIDIA X Server Settings application. Also the GPU would show activity in its utilization percentage to signify that it is actually working.

how to set nvidia as primary gpu on optimus based laptops 9

Referenzen

Should you face issues while following these steps or if these do not match your use case, feel free to convey your queries on Fedora Forums.

Hier finden Sie Links, über die Sie weitere Informationen erhalten.