ποΈ Aoostar WTR Max Part 3: AMD Radeon 780M iGPU Passthrough
Dit projectverslag beschrijft de exacte, stapsgewijze realisatie om de geΓ―ntegreerde AMD Radeon 780M iGPU van de Ryzen 7 8845HS processor door te geven aan een onbevoorrechte (Unprivileged) LXC-container binnen Proxmox VE 9 (Kernel 7.0.6-2). Dit maakt hardware-geaccelereerde 4K HDR-transcoding en AV1-decoding mogelijk binnen Plex en Jellyfin, zonder belasting van de CPU.
ποΈ Fase 1: BIOS Configuratie (AOOSTAR WTR Max)
Voordat Proxmox met de grafische hardware kan communiceren, moet de firmware van de AOOSTAR mini-pc correct worden ingesteld om voldoende videogeheugen (VRAM) toe te wijzen aan de iGPU.
- Boot in de BIOS: Start de AOOSTAR op en tik herhaaldelijk op de Delete of F2 toets op je toetsenbord.
- Virtualisatie Activeren:
- Navigeer naar:
AdvancedβCPU Configuration. - Zorg dat SVM Mode (Secure Virtual Machine / AMD-V) op Enabled staat.
- Navigeer naar:
- iGPU Geheugen Toewijzen (UMA Frame Buffer):
- Navigeer naar:
AdvancedβAMD CBSβNBIO Common OptionsβGFFX Configuration. - Zet iGPU Configuration op UMA_SPECIFIED.
- Zet UMA Frame Buffer Size op 4G. (Dit is de absolute aanbeveling voor 4K HDR-transcoding en voldoende headroom voor VPP-tonemapping op de RDNA3-architectuur).
- Navigeer naar:
- Opslaan en Afsluiten: Druk op F10, bevestig de wijzigingen en herstart het systeem richting Proxmox.
π» Fase 2: Proxmox VE 9 Host Configuratie
Proxmox 9 maakt gebruik van moderne kernel-architecturen waarbij de firmware-afhandeling gestroomlijnd is. Installeer geen externe Debian-grafische pakketten op de host om systeemconflicten te voorkomen. Open de SSH-terminal van je Proxmox-host.
1. Proxmox Firmware Updaten
Zorg dat de host beschikt over de allernieuwste firmware-pakketten met native ondersteuning voor AMD RDNA3-chips:
2. Hardware Detectie Controleren
Verifieer of de Proxmox-host de grafische controller fysiek herkent:
De output moet een regel bevatten zoals: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 (rev c1) of vergelijkbaar.3. GID (Groeps-ID) voor Video en Render Achterhalen
Controleer de apparaatbestanden op de host en noteer de numerieke groeps-ID's:
Bekijk goed of je systeemcard0 of card1 gebruikt. Haal daarna de exacte numerieke ID's op met:
Standaard Proxmox VE 9 systemen geven meestal 44 (video) en 993 (render) terug. We gebruiken deze ID's in de rest van deze gids.
βοΈ Fase 3: LXC Container Configuratie & GID Mapping
Omdat de container onbevoorrecht (Unprivileged) is, blokkeert Proxmox 9 standaard elke hardware-toegang via cgroups. We moeten de passthrough expliciet toestaan en de gebruikersrechten (ID-mapping) tussen de host en de container rechttrekken.
- Stoppen: Zet de Plex- of Jellyfin LXC-container volledig uit.
- ID Leases Toestaan op de Host: Geef de root-gebruiker van de host toestemming om de hardwaregroepen door te mappen naar de container. Voer deze twee commando's uit op de Proxmox-host:
- Container Config Bestandsbeheer: Open het configuratiebestand van de container op de Proxmox-host (vervang
100door jouw echte LXC-ID): - Passthrough & ID-Maps Toevoegen: Plak de volgende regels helemaal onderaan het bestand. (Pas
card1eventueel aan naarcard0op basis van je resultaten uit Fase 2):
# iGPU Passthrough Configuration
lxc.cgroup2.device.allow: c 226:1 rwm
lxc.cgroup2.device.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri/card1 dev/dri/card1 none bind,optional,create=file
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
# Unprivileged GID Mapping (Essentieel voor Proxmox 9)
lxc.idmap: u 0 100000 65536
lxc.idmap: g 0 100000 44
lxc.idmap: g 44 44 1
lxc.idmap: g 45 100045 948
lxc.idmap: g 993 993 1
lxc.idmap: g 994 100994 64542
Ctrl + O en sluit af met Ctrl + X.
π§ͺ Fase 4: Rechten in de Container Inregelen
Nu starten we de LXC-container op en openen we de console binnen de container om de drivers en mediaserver-rechten te configureren.
1. Grafische Utilities Installeren
2. Mediaserver Gebruiker Toevoegen aan Hardware Groepen
Dwing het systeem om de applicatie-gebruiker toegang te geven tot de videokaart-nodes:
# Voor een Jellyfin container:
usermod -aG video,render jellyfin
# Voor een Plex container:
usermod -aG video,render plex
3. Passthrough Valideren
Controleer of de driver correct initialiseert binnen de container:
Als alles klopt, zie je een schone lijst met ondersteunde profielen (zoalsVAEntrypointEncSlice en VAEntrypointDecoderEntry). Krijg je een permissiefout? Herstart de container en controleer Fase 3.
π¦ Fase 5: Mediaserver Dashboard Activeren
Voor Jellyfin
Opmerking: Gebruik de officiΓ«le Jellyfin repository voor de installatie van jellyfin-ffmpeg6. De standaard Debian/Ubuntu repository ffmpeg mist de juiste RDNA3 AV1 en HDR-naar-SDR tonemapping code.
- Open de Jellyfin Web UI.
- Navigeer naar:
DashboardβPlayback. - Zet Hardware Acceleration op Video Acceleration API (VAAPI).
- Zet VAAPI Device exact op:
/dev/dri/renderD128. - Vink alle codecs aan die de Radeon 780M ondersteunt: H264, HEVC, MPEG2, VC1, VP9, AV1.
- Vink Enable VPP Tone mapping aan om HDR-content efficiΓ«nt via de iGPU om te zetten naar SDR.
- Klik onderaan op Save.
Voor Plex (Plex Pass Vereist)
- Open de Plex Web UI.
- Navigeer naar:
SettingsβTranscoder. - Vink Hardware acceleration when available aan.
- Vink Hardware-accelerated video encoding aan.
- Selecteer de Auto / Advanced Micro Devices hardware transcoder uit het drop-down menu.
- Klik op Save Changes.
π Fase 6: Monitoring & Validatie
Opmerking: Door strenge beveiligingseisen binnen onbevoorrechte containers onder Kernel 7.x, kan nvtop binnen de container soms geen kernel-permissies krijgen om de GPU-belasting uit te lezen. Het wordt sterk aanbevolen om de status direct vanaf de Proxmox-host te monitoren.
- Open de terminal shell van de Proxmox Host.
- Start de performance monitor:
- Open een video-client (Plex of Jellyfin app), speel een zware 4K-film af en verlaag handmatig de kwaliteit in het menu van de speler om transcoding af te dwingen.
- Kijk naar de grafiek van
nvtopop de host. Het GPU-percentage schiet direct omhoog. Je AMD Radeon 780M is nu officieel en succesvol aan het werk!