Dieses Tutorial zeigt, wie Sie die Hardware-Videobeschleunigung (VA-API) für Firefox aktivieren, sodass die Videokarte zum Decodieren/Codieren von Videos verwendet wird, um Strom zu sparen.
Hardware-Videobeschleunigung ist eine Computertechnologie, mit der die Grafikkarte Videos kodieren und dekodieren kann, wodurch die CPU entlastet wird, um Strom zu sparen. Und im Vergleich zur CPU sind GPUs normalerweise effizienter bei der Arbeit.
Es gibt einige Möglichkeiten, dies unter Ubuntu Linux zu erreichen, einschließlich:
- Video Acceleration API (VA-API) – eine von Intel entwickelte Open-Source-API.
- Video Decode and Presentation API for Unix (VDPAU) – Open-Source-API, entwickelt von NVIDIA.
- NVENC/NVDEC – NVIDIAs proprietäre API.
Die VA-API unterstützt GPUs von Intel, AMD und NVIDIA (über Open-Source-Nouveau-Treiber). Und es wird weitgehend von Software unterstützt, z. B. verwendet MPV standardmäßig die va-api-Hardwarebeschleunigung für die Videowiedergabe, sofern verfügbar.
Die VDPAU-API unterstützt sowohl AMD als auch NVIDIA, hat aber keine Unterstützung in Firefox oder Chromium. Und während NVENC/NVDEC nur für die NVIDIA-GPU verwendet wird, verwenden wir normalerweise VA-API für die Hardware-Videobeschleunigung.
Kodierung/Dekodierung von Firefox-Popup-Videos über Intel GPU
VA-API überprüfen:
HINWEIS:VA-API funktioniert nicht auf NVIDIA über proprietäre Treiber, wie oben erwähnt. Wenn Sie den proprietären NVIDIA-Treiber über das Dienstprogramm „Zusätzliche Treiber“ installiert haben, funktioniert dies nur, wenn Sie den Modus „Intel (Energiesparmodus)“ in den NVIDIA Prime-Einstellungen auswählen.
Die VA-API kann in Ubuntu sofort einsatzbereit sein. Sie können zunächst das Terminal über das Startmenü öffnen (klicken Sie auf „Aktivitäten“ und suchen Sie das Terminal).
Als nächstes installieren Sie vainfo
Paket per Befehl:
sudo apt install vainfo
Und führen Sie es aus, um die VA-API-Informationen zu überprüfen:
vainfo
Es gibt sowohl den Treiber als auch das unterstützte Profil aus. VAEntrypointVLD
bedeutet Dekodierungsunterstützung für dieses Format, VAEntrypointEncSlice
bedeutet Kodierungsunterstützung.
Wenn der Befehl einen Fehler ausgibt, können Sie versuchen, Treiber mit dem Befehl:
zu installieren- Führen Sie für NVIDIA nouveau und AMD folgenden Befehl aus:
sudo apt install mesa-va-drivers
- Intel-Hardware ab Generation 8 installieren Sie über den Befehl:
sudo apt install intel-media-va-driver
Und für alte Intel-Hardware installieren Sie
i965-va-driver
stattdessen über den Befehl apt install.
Indem Sie die Umgebungsvariable festlegen, können Sie auswählen, welcher Treiber verwendet werden soll. Stellen Sie beispielsweise „export LIBVA_DRIVER_NAME=i965“ ein, um den i965-Treiber zu verwenden. Der Wert kann auch auf „nouveau“ für NVIDIA oder „radeonsi“ für AMDGPU gesetzt werden.
VA-API in Firefox aktivieren:
Firefox hat seit Version 80 VA-API-Unterstützung hinzugefügt, obwohl sie standardmäßig nicht aktiviert ist. Sie können es manuell aktivieren, indem Sie die folgenden Schritte nacheinander ausführen.
Öffnen Sie zuerst Firefox und gehen Sie zu about:config in der URL-Leiste. Klicken Sie auf „Risiko akzeptieren und fortfahren“. Suchen Sie dann nach den folgenden Schlüsseln, aktivieren oder deaktivieren Sie sie nacheinander:
media.ffmpeg.vaapi.enabled
auftrue
setzenmedia.ffvpx.enabled
auffalse
gesetzt .media.rdd-vpx.enabled
auffalse
gesetzt .media.navigator.mediadatadecoder_vpx_enabled
auftrue
setzen .- Wenn Seitenabstürze auftreten, versuchen Sie,
security.sandbox.content.level
einzustellen auf0
.
Legen Sie zweitens die Umgebungsvariable fest (nur für den aktuellen Benutzer). Öffnen Sie das Terminal und führen Sie den Befehl aus, um die Profildatei zu bearbeiten:
gedit ~/.profile
Wenn die Datei geöffnet wird, fügen Sie am Ende die folgenden Zeilen hinzu:
- (Optional) Geben Sie den va-api-Treiber wie oben erwähnt an (ersetzen Sie iHD entsprechend):
export LIBVA_DRIVER_NAME=iHD
Sie können dies überspringen, wenn
vainfo
gibt ohne Fehler aus! - RDD-Sandbox deaktivieren:
export MOZ_DISABLE_RDD_SANDBOX=1
- Für Xorg-Sitzungen, Standard in Ubuntu 18.04/Ubuntu 20.04:
export MOZ_X11_EGL=1
- Für Wayland-Sitzungen, Standard in Ubuntu 21.04 und höher:
export MOZ_ENABLE_WAYLAND=1
Melden Sie sich schließlich ab und wieder an. Öffnen Sie Firefox und spielen Sie ein Video ab und sehen Sie sich das Ergebnis an!
Überprüfen Sie, ob die Hardware-Videobeschleunigung funktioniert:
Während der Videowiedergabe können Sie den Befehl top verwenden, um die CPU-Auslastung vor und nach der Aktivierung der VA-API anzuzeigen. Für die Intel-GPU gibt es intel_gpu_top
Befehl, der es kontinuierlich überwacht.
Öffnen Sie das Terminal und führen Sie den Befehl aus, um das Tool zuerst zu installieren:
sudo apt install intel-gpu-tools
Führen Sie als Nächstes den Befehl aus:
sudo intel_gpu_top
Starten Sie die Videowiedergabe in Firefox und Sie werden sehen, dass die Videoleiste ausgelastet ist (über 0 %), wenn die VA-API zu arbeiten beginnt.
Für AMD-GPUs steht ein weiteres Befehlszeilentool „radeontop“ zur Verfügung, um die GPU-Aktivität zu überwachen.
HINWEIS Bei YouTube-Videos wird der Video-Codec manchmal von Ihrer Hardware nicht unterstützt. Probieren Sie zur Problemumgehung die Erweiterung h264ify oder Enhanced-h264ify aus, damit YouTube H.264-Videos statt VP8/VP9 streamt.
Das ist alles. Viel Spaß!
Originalartikel