psychofaktory Posted August 9, 2021 Share Posted August 9, 2021 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: 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: 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 Quote Link to comment
mgutt Posted August 9, 2021 Share Posted August 9, 2021 Findest du da was? https://forums.unraid.net/topic/92603-emby-in-docker-vaapi-not-working/ Oder das? https://forums.unraid.net/topic/102787-support-ich777-jellyfin-amdintelnvidia/?do=findComment&comment=948391 Quote Link to comment
psychofaktory Posted August 10, 2021 Author Share Posted August 10, 2021 (edited) 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 August 10, 2021 by psychofaktory Quote Link to comment
ich777 Posted August 10, 2021 Share Posted August 10, 2021 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. Quote Link to comment
psychofaktory Posted August 10, 2021 Author Share Posted August 10, 2021 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. Quote Link to comment
ich777 Posted August 10, 2021 Share Posted August 10, 2021 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. Quote Link to comment
psychofaktory Posted August 23, 2021 Author Share Posted August 23, 2021 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 🙂 Quote Link to comment
Recommended Posts
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.