[SOLVED] Transkodieren mit AMD-C/G-PU im Jellyfin-LXC?

kangaroo72

Member
Sep 4, 2024
32
2
8
Hi,
bisher war ich PLEX-Nutzer, da ich (historisch bedingt) einen PLEX-Pass besitze.
Jellyfin ist aber auch sehr schick.
Da dachte ich mir, baust 'nen LXC mit Storage für die Medien und lässt PLEX & Jellyfin drauf zugreifen.
Klappt soweit recht gut.
Ich habe im PVE-Host einen AMD Ryzen 5 3400G und keine eigene GPU.
Hat jemand ein ähnliches Setup und könnte mir einen Tipp geben, wie ich die AMD GPU durchreiche?

LG, k72
 
Guck mal hier

Da gehts zwar um ollama und SD.next, aber das Prinzip ist gleich. Du brauchst auch nicht alle Pakete, nur die richtigen devices durchreichen.

Jellyfin kenne ich zwar nicht, aber grob weiß ich was es macht/kann. Ich hab einen LXC mit arch für ffmpeg und vulkan, da hab ich folgende Pakete installiert: mesa vulkan-radeon vulkan-tools nvtop

Zum prüfen dann vulkaninfo und nvtop

Oder hier das Tutorial hilft wahrscheinlich auch (ist aber die umständliche, alte Methode, zum Info rauspicken reichts aber):
https://www.wundertech.net/installing-jellyfin-on-proxmox/

Neue Methode, einfach PCI-dev auswählen:
https://psmarcin.dev/posts/how-to-configure-gpu-passthrough-for-linux-containers-on-proxmox/
 
Last edited:
ich hab emby im Docker unter LXC laufen, meine interne GPU vom Ryzen 5700G habe ich so durchgereicht
in meine config vom lxc steht folgendes drin

Code:
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
lxc.hook.pre-start: sh -c "chmod 0666 /dev/dri/renderD128"

Extra Treiber hab ich nicht installieren müssen

sieht dann im emby so aus

1739979954072.png
 
Last edited:
  • Like
Reactions: mr44er
Ich denke, das Problem liegt momentan noch am Host.
Code:
ls -aln /dev/dri/
ergibt
Code:
drwxr-xr-x  3 0  0     80 Feb 20 11:42 .
drwxr-xr-x 21 0  0   5160 Feb 20 11:42 ..
drwxr-xr-x  2 0  0     60 Feb 20 11:42 by-path
crw-rw----  1 0 44 226, 0 Feb 20 11:42 card0
Wie bekomm ich denn den renderD128 da rein?
 
Wenn du amdgpu nicht geblockt hast, sollte der Treiber das zaubern. Das sollte default bei einer frischen Installation so sein.
Was sagt lspci?
 
Hier
Code:
lspci
Code:
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Root Complex
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 IOMMU
00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge
00:01.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 PCIe GPP Bridge [6:0]
00:01.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 PCIe GPP Bridge [6:0]
00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge
00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Internal PCIe GPP Bridge 0 to Bus A
00:08.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Internal PCIe GPP Bridge 0 to Bus B
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 61)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function 0
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function 1
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function 2
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function 3
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function 4
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function 5
00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function 6
00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function 7
01:00.0 Non-Volatile memory controller: Sandisk Corp WD Green SN350 240GB (DRAM-less) / SN560E NVMe SSD (rev 01)
02:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset USB 3.1 xHCI Compliant Host Controller (rev 01)
02:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset SATA Controller (rev 01)
02:00.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Bridge (rev 01)
03:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port (rev 01)
03:01.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port (rev 01)
03:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port (rev 01)
03:06.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port (rev 01)
03:07.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port (rev 01)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
09:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Picasso/Raven 2 [Radeon Vega Series / Radeon Vega Mobile Series] (rev c8)
09:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Raven/Raven2/Fenghuang HDMI/DP Audio Controller
09:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor
09:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Raven USB 3.1
09:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Raven USB 3.1
09:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller
0a:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 61)
 
Code:
09:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Picasso/Raven 2 [Radeon Vega Series / Radeon Vega Mobile Series] (rev c8)

Der sollte vom amdgpu abgedeckt sein. Ich habe eine Vega64.
Ist die GPU bereits an eine VM durchgereicht? Dann klappts nicht, weil das davon "in Beschlag" ist.
Also entweder das, in Beschlag von vfio oder blacklisted.
 
auch interessant...
 
also ich hab bei mir die extra Treiber auch nicht installieren müssen
bei mir sieht es so aus
Code:
30:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c8)

ich hab diesen Kernel aktiv: Linux pve 6.11.0-2-pve

1740055214258.png
 
Last edited:
Interessant, bei meinen anderen Ryzens mit APU brauchte es auch keine spezielle Firmware. Aber gut, man lernt nie aus.

Das sieht jetzt gut aus, renderD128 ist dann der Kandidat.

Das mit der blacklist steht hier https://pve.proxmox.com/wiki/PCI(e)_Passthrough
Merke: PCI-Passthrough geht nur mit exakt einer (in eine) VM. Im Gegenzug passthrough in LXC geht mehrfach und parallel.
 
Last edited:
Ich musste in Proxmox in GRUB auch "nomodeset" hinzufügen, da die Installation sonst nicht gelaufen ist. Kann es damit zusammenhängen?