Jump to content

Hardware-Transcoding nicht möglich


Recommended Posts

Hallo,

ich habe mir hier einen kleinen Server aus folgenden Komponenten zusammengestellt:
AMD Ryzen 3 PRO 4350G mit 32 GB DDR4 ECC RAM auf einem ASUS B550M-C Pro.

Diese Konstellation sollte unter Unraid 6.9.2 nach meinem Kenntnisstand grundsätzlich in der Lage sein Transcodierungen in Hardware auch innerhalb von Docker-Containern durchführen zu können.

Mein Ziel wäre es im offiziellen Docker-Container von BubbleUPnP GPU transcoding nutzen zu können. Laut der zugehörigen Dokumentation wird Va-API unterstützt.

In der Webkonsole des BubbleUPnP-Servers gibt es das zu eine Schaltfläche "Perform GPU Transcoding test". Hier erhalte ich aber nur die folgende Fehlermeldung:
grafik.png.6fc31cdbf339ff2f00d31732414d4d10.png

Die zugehörige Log-Datei aus dem Container habe ich mit angehängt.


Zur Aktivierung der Hardwaretranscodierung hatte ich gemäß dieser Vorlage unter Unraid die Datei amdgpu.conf angelegt.
 

chmod -R 777 /dev/dri

wie in einer anderen Anleitung hatte ich unter Unraid bereits ebenfalls durchgeführt.

 

ls -la /dev/dri

gibt bei mir unter Unraid folgendes aus:
drwxrwxrwx 3 root root 100 Jul 20 16:22 ./
drwxr-xr-x 16 root root 3460 Jul 20 16:22 ../
drwxrwxrwx 2 root root 80 Jul 20 16:22 by-path/
crwxrwxrwx 1 root video 226, 0 Jul 20 16:22 card0
crwxrwxrwx 1 root video 226, 128 Jul 20 16:22 renderD128


/dev/dri habe ich im Docker entsprechend durchgereicht:
grafik.png.5f399f264b8284b5674fa85e9618407d.png



Zwischenzeitlich habe ich die amdgpu.conf wieder entfernt und stattdessen das Plugin Radeon-TOP, das Hardware-Transcoding ebenfalls aktivieren soll, zusammen mit GPU Statistics im Einsatz.

Getestet hatte ich außerdem einen alternativen Container für den BubbleUPnP-Server.

 

vainfo

gibt hier folgendes aus:
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_4
pci id for fd 4: 1002:1636, driver (null)
libva error: /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so init failed
libva info: va_openDriver() returns 2
vaInitialize failed with error code 2 (resource allocation failed),exit



Wo liegt hier der Fehler?

BubbleUPnPServer.log

Link to comment

Anhand der beiden Treads habe ich einige Ansatzpunkte gefunden die potentielle Fehlerquellen sein könnten.

 

Ich habe die BIOS-Einstellungen überprüft und festgestellt, dass tatsächlich PCIe als primäres Anzeigegerät voreingestellt war, obwohl hier garkeine dedizierte Grafikkarte verbaut ist. Das habe ich auf interal graphics umgestellt.

Dann hab ich überprüft ob die VM die ich zusätzlich noch unter Unraid laufen lasse die iGPU vielleicht für sich beansprucht. Das war aber nicht der Fall.

 

Einen HDMI-Dummy habe ich am internen Grafikadapter angeschlossen, da der Server ansonsten headless läuft. Den habe ich testweise abgehängt.

 

Bisher leider alles ohne Erfolg.

 

ich habe zum Monitoring und für Eingriffe über die Konsole (wie BIOS-Updates) noch einen Monitor via Displayport angeschlossen.

Ist in dieser Konstellation ein gleichzeitiger Betrieb von Transcoding und Bildausgabe möglich?

 

Edited by psychofaktory
Link to comment
34 minutes ago, psychofaktory said:

Bisher leider alles ohne Erfolg.

An deiner config scheint mir nichts falsch zu sein und im BIOS brauchst du nicht zu suchen, wenn das Verzeichnis /dev/dri vorhanden ist funktionieren die Treiber generell.

 

22 hours ago, psychofaktory said:

wieder entfernt und stattdessen das Plugin Radeon-TOP, das Hardware-Transcoding ebenfalls aktivieren soll

Genau das macht es.

 

 

 

Mir scheint hier eher das der Fehler im Container liegt dort wird nämlich:

libva error: /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so init failed
libva info: va_openDriver() returns 2
vaInitialize failed with error code 2 (resource allocation failed),exit

zurückgegeben, sind im Container die Dateien enthalten?

 

Meiner Meinung nach wie oben geschrieben fehlt im Container etwas.

Probier doch mal meinen Jellyfin Container aus der CA App nur zu testzwecken mit irgend einem Video und erzwinge eine transcodierung, wenn das funktioniert müsstest du dich bitte an den Container Maintainer wenden.

Link to comment
4 hours ago, ich777 said:

sind im Container die Dateien enthalten?

 

Ja, die Dateien scheinen enthalten zu sein:

# cd /usr/lib/x86_64-linux-gnu/dri/
# ls
i915_dri.so        iHD_drv_video.so   nouveau_drv_video.so  r300_dri.so        radeon_dri.so          swrast_dri.so
i965_dri.so        kms_swrast_dri.so  nouveau_vieux_dri.so  r600_dri.so        radeonsi_dri.so        virtio_gpu_dri.so
i965_drv_video.so  nouveau_dri.so     r200_dri.so           r600_drv_video.so  radeonsi_drv_video.so  vmwgfx_dri.so
# 

 

 

4 hours ago, ich777 said:

Probier doch mal meinen Jellyfin Container aus der CA App nur zu testzwecken mit irgend einem Video und erzwinge eine transcodierung

Der Versuch ist noch ausstehend.

Link to comment
4 minutes ago, psychofaktory said:

Ja, die Dateien scheinen enthalten zu sein:

Evtl fehlen auch die Mesa Treiber bzw die richtigen Mesa Treiber die die Ryzen APUs unterstützen und der Media Driver.

 

Wie gesagt ich kann das wirklich nicht mot sicherheit sagen da ich den Container einfach nicht kenne.

Probier mal Jellyfin und schau wenn du das transcoding erzwingst ob die iGPU angesprochen wird.

Sieh dir aber bitte den Jellyfin thread an wie du es aktivierst.

Link to comment
  • 2 weeks later...

Danke für den Hinweis.

 

Mit der Info bin ich an den Maintainer des Containers herangetreten und hab dort mein Problem geschildert.

 

Tatsächlich war der Mesa-Treiber veraltet und hatte die Ryzen 4000 Prozessoren noch nicht unterstützt. Zudem hatte die FFMPEG-Version wohl nicht gepasst.

Nach den entsprechenden Anpassungen durch den Maintainer funktioniert jetzt alles wie gewünscht 🙂

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...