Hardwarebeschleunigung

Aus wiki.archlinux.de
Version vom 26. Oktober 2021, 09:01 Uhr von Dirk (Diskussion | Beiträge) (→‎Vergleich: bisschen angenehmere Farben)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

„Hardwarebeschleunigung“ wurde von KaJu (Diskussion) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere KaJu (Diskussion) bitte, bevor du den Artikel bearbeitest.


Die Hardwarebeschleunigung ermöglicht es, Videos über die Grafikkarte, statt der CPU zu berechnen. Dies entlastet die CPU und hilft den Stromverbrauch zu reduzieren, da spezialisierte Rechenwerke im Grafikprozessor die Berechnung übernehmen können. Insbesondere auf älteren CPUs kann die Hardwarebeschleunigung den Unterschied zwischen flüssiger Wiedergabe und stottern ausmachen, wobei selbst neuere CPUs bei hohen Auflösungen oder Frameraten an ihre Grenzen kommen.

Für die Hardwarebeschleunigung werden im wesentlichen 3 Schnittstellen genutzt:

  • Video Acceleration API (VA-API) ist Open Source und entwickelt von Intel, kann sowohl encodieren als auch decodieren, Kompatibel mit Intel, AMD GPU und Nvidia mit Nouveau
  • Video Decode and Presentation API for Unix (VDPAU) ist Open Source und entwickelt von Nvidia, dient nur zum Decodieren, Kompatibel mit Nvidia und AMD GPU
  • Nvidia Video Codec von Nvidia und ausschließlich für Nvidia GPUs ab Fermi. Unterstützt sowohl encodieren als auch decodieren

Installation

Intel

  • Intel CPUs ab Broadwell (2014||Core 5xxx Gen.) sowie die dedizierte DG1/SG1 nutzen das intel-media-driver Paket [1]
  • Intel CPUs ab der 1. Core Generation (2010) bis Coffee Lake (Core 8xxx Gen.) werden vom libva-intel-driver Paket unterstützt [2]

AMD

VA-API wird für die Hardwarebeschleunigung unter Firefox und Chromium benötigt. Mehr dazu siehe #Vergleich

Nvidia

  • Ältere Grafikkarten von GeForce 8 Serie bis zur GTX 750 können libva-mesa-driver (VA-API) sowie mesa-vdpau (VDPAU) nutzen. Firefox/Chromium benötigen VA-API
  • Nvidia Video Codec für neuere Grafikkarten. Der proprietäre Treiber unterstützt die Hardwarebeschleunigung mit dem Paket nvidia-utils

Der proprietäre Treiber bieten ebenso Hardwarebeschleunigung für Browser (Chromium). Mehr dazu siehe #Vergleich

Hardwarebeschleunigung aktivieren

  • SMPlayer: Optionen -> Einstellungen -> Leistungsverhalten -> Entschlüsselung --> Geräteentschlüsselung "Automatisch"
  • mpv: Zuerst die Configdatei anlegen cp -r /usr/share/doc/mpv/ ~/.config/ -> anschließend ~/.config/mpv/mpv.conf bearbeiten -> hwdec=auto-safe am Ende eintragen
  • Celluloid: Zunächst die mpv Config anlegen wie oben beschrieben, anschließend in den Einstellungen -> Konfigurationsdatei -> mpv-Konfigurationsdatei laden wählen und den Pfad zur Datei auswählen

Vergleich

Englisches Wiki

Codec/Treiber Intel (media) Intel (libva) AMD (VA-API) AMD (VDPAU) Nvidia (VA-API) Nvidia (VDPAU) Nvidia (NVIDIA)
Decode
MPEG-2 x x x x x x x
MPEG-4 x x HD 6000 und neuer HD 6000 und neuer x GeForce 200 und neuer GeForce 200 und neuer
VC-1 x x x x x x GeForce 8 und neuer
H.264 AVC x x x x x x GeForce 8 und neuer
H.265 / HEVC 8 Bit Skylake oder neuer x R9 Fury oder neuer R9 Fury oder neuer x x GeForce 900 und neuer
H.265 / HEVC 10 Bit Apollo Lake oder neuer x Radeon 400 oder neuer Radeon 400 oder neuer x x GeForce 900 und neuer
VP8 x x x x x x GeForce 900 und neuer
VP9 8 Bit Apollo Lake und neuer x Raven Ridge und Neuer x x x GeForce 900 und neuer
VP9 10 Bit Kaby Lake und neuer Kaby Lake und neuer Raven Ridge und neuer x x x Pascal und neuer
AV1 8 & 10 Bit Tiger Lake und neuer x RX 6000 und neuer x x x Ampere und neuer
Encode
MPEG-2 x x x x x x x