PRIME GPU Render Offloading/GPU on-demand Mode Leitfaden - TUXEDO Computers

  ACHTUNG: Zur Nutzung unseres Shops müssen Sie zwingend JavaScript aktivieren und Script-Blocker deaktivieren!  
Vielen Dank für Ihr Verständnis!

PRIME GPU Render Offloading/GPU on-demand Mode Leitfaden

Unsere Notebooks haben in der Regel eine den Akku schonende iGPU und eine leistungsstarke aber auch stromhungrige dGPU. Man kann nun das ganze System auf der einen oder anderen GPU laufen lassen, je nachdem was man gerade benötigt. Für das Umschalten muss man dann aber den PC neu starten.

Alternativ lässt man die Desktopumgebung und andere Programme, die nicht viel Grafikleistung brauchen auf der iGPU berechnen und schaltet die dGPU nach Bedarf nur für die einzelnen Spiele und Programme an, die sie benötigen. Diese Technologie heißt unter Windows OPTIMUS und unter Linux PRIME GPU Render Offloading bzw. GPU on-demand Mode.

Gültigkeit

Dies ist eine kurze Anleitung, wie man PRIME benutzt. Die Abschnitte "Vorbereitung (TUXEDO OS/Ubuntu(-derivat))" und "Startmenü und Desktop Verknüpfungen (TUXEDO OS/Ubuntu(-derivat) WebFAI mit KDE-Plasma)" beziehen sich explizit auf TUXEDO OS und / oder WebFAI-Installationen. Alle anderen Erklärungen dieser Anleitung gelten für alle Linux Distributionen, auch für solche, die nicht auf Ubuntu basieren.

Voraussetzungen

Dieser Leitfaden gilt nur, wenn als Voraussetzung der proprietäre NVIDIA Treiber 470.xx oder neuer oder ein Open Source Treiber (amdgpu (AMD/Radeon), nouveau (NVIDIA), i915 (Intel)) verwendet wird. Dies funktioniert explizit nicht, wenn der proprietäre Nvidia Treiber 390.xx oder älter oder der alte Open Source "radeon" Treiber verwendet wird/werden muss. Das bedeutet, Voraussetzung ist eine NVIDIA GeForce 800M oder neuer oder eine AMD Radeon R9 oder neuer als dGPU.

Vorbereitung (TUXEDO OS/Ubuntu(-Derivat))

1. Aktivieren Sie den PRIME/on-demand-Modus mit:
sudo prime-select on-demand

2. Installieren Sie tuxedo-dgpu-run mit:
sudo apt install tuxedo-dgpu-run

3. Starten Sie den PC neu.

Jetzt läuft die Desktopumgebung auf der iGPU, die dGPU kann aber jederzeit für einzelne Programme aktiviert werden.

Kommandozeile

Für TUXEDO_OS/Ubuntu(-Derivate) / WebFAI: Führen Sie den Befehl durch folgende Eingabe aus:
dgpu-run «der auszuführende Befehl»

Für andere Distributionen: Die dGPU wird verwendet, wenn die Umgebungsvariablen __NV_PRIME_RENDER_OFFLOAD=1, __VK_LAYER_NV_optimus=NVIDIA_only, __GLX_VENDOR_LIBRARY_NAME=nvidia und DRI_PRIME=1 mit folgendem Befehl gesetzt sind: 
__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia DRI_PRIME=1 «der auszuführende Befehl»

Eine kurze Erklärung, was die Variablen bewirken:
  • __NV_PRIME_RENDER_OFFLOAD=1
    • Vulkan: Aktiviert das implizite Overlay für Offloading auf NVIDIA (das die verfügbaren GPUs neu ordnet, sodass die NVIDIA dGPUs zuerst kommen)
    • OpenGL: Sorge dafür das NVIDIAs Implementierung prüft, ob es auf einem PRIME Gerät läuft (und verhindere somit, dass sie in diesem Fall abstürzt)
  • __VK_LAYER_NV_optimus=NVIDIA_only
    • Vulkan: Sorge dafür, dass das implizite Overlay für Offloading auf NVIDIA alle nicht NVIDIA GPUs aus der Verfügbarkeitsliste löscht (optional)
  • __GLX_VENDOR_LIBRARY_NAME=nvidia
    • OpenGL: Benutze NVIDIAs OpenGL Implementierung (d.h. benutze den proprietären NVIDIA Treiber und nicht Mesa, was nur die Open Source Treiber, z.B. i915, AMDGPU und Nouveau, unterstützt)
  • DRI_PRIME=1

Startmenü und Desktop Verknüpfungen (TUXEDO_OS/Ubuntu(-derivat) WebFAI mit KDE-Plasma)

Führen Sie einen Rechtsklick auf eine Programmverknüpfung Starte Applikation mit diskreter GPU/Run application with discrete GPU aus. Dies funktioniert aber unter Umständen nicht bei Verknüpfungen, die von verschiedenen Launchern angelegt wurden. Hier muss entweder der Launcher selbst auf der dGPU gestartet werden, oder es muss im Launcher selbst eingestellt werden, welche Programme mit der dGPU ausgeführt werden sollen. Dafür ist hier im Anschluss eine Anleitung für alle uns bekannten und auf Linux unterstützten Launcher.

 Steam

1. Öffnen Sie die Eigenschaften/Properties des Spiels/Programms.



2. Fügen Sie in das Feld Startoptionen/Launch Options im Allgemein/General-Tab Folgendes ein:

__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia DRI_PRIME=1 %command%


Achten Sie bitte darauf, dass dies am Anfang der Zeile steht, falls dort bereits ein anderer Eintrag vorhanden ist.

 Lutris

1. Wählen Sie in Lutris Konfigurieren/Configure für das Spiel/Programm.



2. Aktivieren Sie die Option Aktiviere/Enable NVIDIA Prime Render Offload in Systemeinstellungen/System options-Tab.



3. Drücken Sie Speichern/Save.

 Heroic

1. Öffnen Sie die Einstellungen/Settings des Spiels.



2. Fügen Sie in das Feld Erweiterte Optionen (Umgebungsvariablen)/Advanced Options (Environment Variables) im Andere/Other-Tab Folgendes ein:

__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia DRI_PRIME=1
Für PRIME Geräte mit diskreter AMD GPU oder wenn Nouveau benutzt wird, sollte diese Variable ausreichend sein. Die anderen drei Variablen werden ignoriert, wenn der proprietäre NVIDIA Treiber nicht installiert ist.

  Bottles

1. Wählen Sie die Bottle aus, die das Spiel/Programm enthält.



2. Wählen Sie Change launch options für das Spiel/Programm.



3. Fügen Sie in das Feld Folgendes ein: 

__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia DRI_PRIME=1 %command%
Achten Sie bitte darauf, dass dies am Anfang der Zeile steht, falls dort bereits ein anderer Eintrag vorhanden ist.



4. Drücken Sie Save.

 Minigalaxy

Von Minigalaxy angelegte Menüeinträge/Verknüpfungen funktionieren, anders als die von anderen Launchern angelegte Verknüpfungen, mit der im Abschnitt  "Startmenü und Desktop Verknüpfungen" beschriebenen Methode. Über Minigalaxy installierte Spiele/Programme also bitte nicht über das Launcher-Interface starten, sondern eine Verknüpfung anlegen und diese wie oben beschrieben auf der dGPU ausführen. Damit Minigalaxy Menüeinträge/Verknüpfungen anlegt, führen Sie folgende Anweisungen vor der Installation eines Spiels aus:

1. Wählen Sie im Hamburgermenü Einstellungen/preferences.



2. Aktivieren Sie Menü-Verknüpfungen erstellen/Create menu shortcuts.

3. Klicken Sie auf Speichern/Save.
4. Installieren Sie das gewünschte Spiel.

 PlayOnLinux

Von PlayOnLinux angelegte Verknüpfungen funktionieren, anders als die von anderen Launchern angelegte Verknüpfungen, mit der im Abschnitt "Startmenü und Desktop Verknüpfungen" beschriebenen Methode. Über PlayOnLinux installierte Spiele/Programme also bitte nicht über das Launcher-Interface starten, sondern eine Verknüpfung anlegen und diese wie oben beschrieben auf der dGPU ausführen.

Rare

Rare ermöglicht es derzeit nicht, individuelle Umgebungsvariablen pro Spiel festzulegen (das Feature kommt aber in einer der nächsten Versionen).
Um die dGPU dennoch zu verwenden:
1. Wenn Rare gestartet ist: Beenden Sie Rare vollständig (einschließlich des Symbols im Systemabschnitt/system tray in der Systemleiste).
2. Starten Sie Rare auf der dGPU (Siehe den Abschnitt "Befehlszeile" bzw. "Startmenü und Desktop Verknüpfungen").
3. Starten Sie das Spiel.
4. Beenden Sie Rare nach dem Beenden des Spiels wieder vollständig. Andernfalls wird die dGPU angeschaltet bleiben und weiter Strom verbrauchen.

 GameHub

GameHub ermöglicht es derzeit nicht, auf einfache Weise individuelle Startoptionen pro Spiel festzulegen (an der Funktion wurde schon gearbeitet, eventuell kommt sie in einer der nächsten Versionen).
Um die dGPU dennoch zu verwenden:
1. Wenn GameHub gestartet ist: Beenden Sie GameHub vollständig.
2. Starten Sie GameHub auf der dGPU (Siehe "Befehlszeile" bzw. "Startmenü und Desktop Verknüpfungen")
3. Starten Sie das Spiel
4. Beenden Sie GameHub nach dem Beenden des Spiels wieder vollständig. Andernfalls wird die dGPU angeschaltet bleiben und weiter Strom verbrauchen.

itch

itch ermöglicht es derzeit nicht, individuelle Startoptionen pro Spiel festzulegen.
Um die dGPU dennoch zu verwenden:
1. Wenn itch gestartet ist: Beenden Sie itch vollständig (Einschließlich des Symbols im Systemabschnitt/System tray in der Systemleiste).
2. Starten Sie itch auf der dGPU (Siehe "Befehlszeile" bzw. "Startmenü und Desktop Verknüpfungen")
3. Starten Sie das Spiel
4. Beenden Sie itch nach dem Beenden des Spiels wieder vollständig. Andernfalls wird die dGPU angeschaltet bleiben und weiter Strom verbrauchen.

Pegasus Frontend

Pegasus Frontend ermöglicht es derzeit leider nicht, individuelle Startoptionen pro Spiel festzulegen. Um die dGPU bei Spielen, die es direkt startet, dennoch zu verwenden:
1. Wenn das Pegasus Frontend gestartet ist: Beenden Sie das Pegasus Frontend
2. Starten Sie das Pegasus Frontend auf der dGPU (Siehe "Befehlszeile" bzw. "Startmenü und Desktop Verknüpfungen")
3. Starten Sie das Spiel
4. Beenden Sie das Pegasus Frontend nach dem Beenden des Spiels wieder. Andernfalls wird die dGPU angeschaltet bleiben und weiter Strom verbrauchen.
Wenn das Pegasus Frontend das Spiel nicht direkt startet, sondern z. B. über Steam, dann lesen Sie bitte die Erklärung zu Steam weiter oben.

Windows Launcher über Wine (Epic Games Store, Origin, Ubisoft Connect, etc.)

Wir raten aufgrund der besseren Alternativen in Form von Lutris und Heroic davon ab, den Windows Launcher über Wine direkt zu benutzen. Auch in Lutris z. B. sollte nicht der Epic Games Store direkt installiert und verwendet werden, sondern die Spiele individuell. In diesem Fall installiert Lutris den Epic Games Store, wenn benötigt, im Hintergrund selbst und die Spiele bleiben sauber voneinander getrennt, damit Lutris eine individuelle Wine Konfiguration pro Spiel anwenden kann.

Wenn man dennoch einen Windows-Launcher direkt benutzen und PRIME aktivieren möchte, ist das Vorgehen gleich wie bei den anderen Launchern, die keine individuellen Startoptionen pro Spiel erlauben (itch, Pegasus Frontend). Das ist prinzipbedingt, da diese Optionen gesetzt werden müssen, bevor Wine gestartet wird.