{
"meta": {
"title": "Lägg till GPU i LXC | ProxMenux-dokumentation",
"description": "Dela Intel-, AMD- eller NVIDIA-GPU med LXC. ProxMenux konfigurerar enheter, grupper och bibliotek efter distribution; appen måste stödja och vara inställd för acceleration."
},
"header": {
"title": "Lägg till GPU i LXC",
"description": "Delar GPU-åtkomst med LXC via värdens enheter. Drivrutinen finns kvar på värden; apparna behöver kompatibla bibliotek och egna inställningar.",
"section": "Hårdvara: GPU:er och Coral-TPU"
},
"intro": {
"title": "Vad det gör",
"body": "Lägger till dev<N>-poster i /etc/pve/lxc/<ctid>.conf för tillämpliga /dev/dri/*-, /dev/kfd- eller /dev/nvidia*-noder. Startar containern, installerar userspace-paket för dess distribution och anpassar, för Intel/AMD, grupperna video och render. Appacceleration kräver fortfarande kompatibel hårdvara, bibliotek och appinställningar."
},
"compare": {
"heading": "LXC-delning jämfört med VM-passthrough",
"intro": "LXC delar kerneln och kan dela GPU:n mellan värd och containrar. Med fullständig VM-passthrough tillhör enheten bara den VM:n och är inte tillgänglig för värdens drivrutin.",
"headerFeature": "Funktion",
"headerLxc": "LXC (denna sida)",
"headerVm": "VM",
"rows": [
{
"feature": "Värd fortsätter att använda GPU?",
"lxc": "Ja",
"vm": "Nej – exklusivt för VM"
},
{
"feature": "Flera containrar som delar en GPU?",
"lxc": "Ja",
"vm": "Nej"
},
{
"feature": "Kräver IOMMU/VFIO på värden?",
"lxc": "Nej",
"vm": "Ja"
},
{
"feature": "Reboot krävs?",
"lxc": "Normalt nej (bara starta om CT)",
"vm": "När värdens drivrutin eller IOMMU ändras; inte för varje tilldelning"
},
{
"feature": "Gästoperativsystem",
"lxc": "Endast Linux (LXC är Linux-bara)",
"vm": "Gästsystem som stöds med en kompatibel GPU-drivrutin"
}
]
},
"prereqs": {
"title": "Innan du börjar",
"gpu": "GPU på värden från Intel, AMD eller NVIDIA, identifierad med lspci.",
"gpuCheck": "lspci | grep -iE 'VGA|3D|Display'",
"vfio": "GPU:n får inte vara bunden till vfio-pci. Den behöver värdens vanliga drivrutin. Vid VM-tilldelning erbjuder skriptet Byt GPU-läge.",
"nvidia": "För NVIDIA: installera först värdens drivrutin. Containerns bibliotek måste passa versionen. Använd Installera NVIDIA-drivrutiner på värden.",
"nvidiaCheck": "nvidia-smi",
"container": "En befintlig LXC-container. Skriptet skapar ingen. Båda lägena stöds; en privilegierad container krävs inte alltid. Enhetsposter och appens numeriska grupprättigheter måste passa."
},
"unpriv": {
"title": "Stöder privilegierade och oprivilegierade containrar",
"body": "Skriptet skriver dev<N>-poster till LXC-konfigen och på oprivilegierade behållare anpassar video och render GID mellan värd och behållare så att GPU-enhetsnoderna nås inifrån utan att du behöver handredigera lxc.idmap."
},
"running": {
"heading": "Kör installationen",
"body": "Öppna ProxMenux och välj Hårdvara: GPU:er och Coral-TPU → Lägg till GPU i LXC.",
"imageAlt": "Menyval för att lägga till GPU i LXC"
},
"howRuns": {
"heading": "Så fungerar skriptet",
"body": "Välj container och GPU-familjer och gå igenom kontrollerna. Därefter stoppas och ändras containern utan ytterligare slutbekräftelse. Valfri VFIO-rensning bekräftas separat och kan ändra värden tidigare."
},
"walkthrough": {
"heading": "Steg för steg",
"detect": {
"title": "Identifiera värdens GPU:er",
"body": "Söker GPU-kontroller med lspci. För NVIDIA kontrolleras modulen nvidia och nvidia-smi; den upptäckta versionen styr containerns .run-installation.",
"tipTitle": "NVIDIA är inte redo?",
"tipBody": "Om modulen saknas eller NVIDIA inte fungerar på värden, använd först Installera NVIDIA-drivrutiner på värden och kontrollera drivrutinen."
},
"pickCt": {
"title": "Välj en LXC-container",
"body": "Listar lämpliga LXC-containrar med ID och namn; OCI-containrar undantas och använder OCI manager Apps för enheter. Containern stoppas om den körs, startas för installation av drivrutiner och återgår normalt till sitt ursprungliga läge (igång/stoppad).",
"imageAlt": "Val av en befintlig LXC-container"
},
"selectGpu": {
"title": "Välj GPU-familjer",
"body": "Listan väljer tillverkarfamiljer, inte en isolerad PCI-enhet. Intel/AMD lägger till avsedda DRI-noder och NVIDIA sina tillgängliga enheter, ibland för flera kort. En enda familj väljs automatiskt. Kontrollera resultatet, särskilt med flera GPU:er.",
"imageAlt": "Lista över upptäckta GPU-familjer med namn och PCI-adress"
},
"preflight": {
"title": "Förkontroller",
"imageAlt": "Erbjudande om lägesbyte för en GPU bunden till vfio-pci",
"intro": "Tre kontroller, som alla kan blockera eller omdirigera dig:",
"items": [
"SR-IOV-kontroll. Guiden blockerar en VF eller PF med aktiva VF:er. Det beror på dess breda enhetsval och är inget allmänt förbud i LXC. Konfigurera dessa enheter separat.",
"Bunden till vfio-pci. Den vanliga drivrutinen kan inte skapa /dev/dri/* eller /dev/nvidia*. Byt GPU-läge erbjuds; följ anvisningarna om omstart och återkom sedan.",
"Redan konfigurerad. Om alla enheter finns avslutas skriptet utan att installera om bibliotek. Fortsätter bara med valda familjer som saknas."
]
},
"applyConfig": {
"title": "Tillämpa ändringarna i LXC-konfigurationen",
"body1": "Stoppar containern om den körs och ändrar /etc/pve/lxc/<ctid>.conf. Numrerade dev<N>-poster innehåller värdens GID för video eller render. Befintliga lxc.mount.entry-bindrader för /dev/dri ersätts av dev:-poster; kontrollera slutlig konfiguration och rättigheter.",
"body2": "Exempel efter Intel + NVIDIA på samma container:"
},
"installDrivers": {
"title": "Starta containern och installera drivrutiner inuti",
"body": "Startar containern och väntar högst cirka 30 sekunder på att pct exec svarar. Läser distributionen från /etc/os-release och installerar lämpliga paket.",
"headerDistro": "Distribution",
"headerInt": "Intel / AMD",
"headerNvidia": "NVIDIA",
"rows": [
{
"distro": "Alpine",
"intel": "apk add mesa-va-gallium intel-media-driver libva-utils",
"nvidia": "apk add nvidia-utils"
},
{
"distro": "Arch / Manjaro",
"intel": "pacman -Sy intel-media-driver mesa libva-utils",
"nvidia": "pacman -Sy nvidia-utils"
}
],
"debianDistro": "Debian / Ubuntu / andra",
"debianIntel": "apt-get install va-driver-all intel-opencl-icd vainfo",
"debianNvidia": "Packar upp .run på värden → pct push → installerar med --no-kernel-modules --no-dkms.",
"whyTitle": "Varför NVIDIA-installationen med .run används på Debian",
"whyBody": "Paketen kan avvika från värdens version. Biblioteken måste passa värdens inlästa modul för NVML och nvidia-smi. Debian/glibc använder cachad .run för värdversionen, packar upp och arkiverar på värden, överför med pct push och installerar med --no-kernel-modules --no-dkms. Alpine och Arch använder förrådspaket; kontrollera versionerna."
},
"alignGids": {
"title": "Anpassa GID:n och återställ tillståndet",
"body1": "För Intel/AMD läses värdens GID:n för video och render, med 44/104 endast som reservvärden, och sedan ändras /etc/group i containern så att de matchar; körningar med enbart NVIDIA hoppar över steget. Poster som video:44 och render:104 är exempel, inte universella ID:n. Kontrollera appens gruppmedlemskap och faktiska enhetsrättigheter.",
"body2": "Vid normal avslutning stoppas en från början stoppad container igen; en som kördes fortsätter köra. Vid start- eller installationsfel, kontrollera slutläget och loggen."
}
},
"vendors": {
"heading": "Anmärkningar per tillverkare",
"intelHeading": "Intel iGPU",
"intelBody": "Intels mediaacceleration, inklusive Quick Sync, beror på GPU-generation, kodekar och appinställningar. Skriptet delar de av /dev/dri/card0, card1, renderD128 och renderD129 som finns; andra nodnummer läggs inte till. Värden måste redan tillhandahålla dem via sin inbyggda drivrutin, exempelvis i915.",
"amdHeading": "AMD",
"amdBody": "AMD använder DRI för Mesa/VA-API. Om värden har /dev/kfd delas även den. ROCm/OpenCL kräver kompatibel hårdvara och bibliotek; enhetsdelning installerar inte hela ROCm-miljön.",
"nvidiaHeading": "NVIDIA",
"nvidiaBody": "Delar tillgängliga /dev/nvidia*-enheter. Matchande drivrutinsversioner krävs för nvidia-smi. Debian/glibc använder värdversionens .run, Alpine/Arch förrådspaket. Under 2048 MiB inställt RAM erbjuds en tillfällig höjning med återställning; dessutom krävs 1500 MiB ledigt diskutrymme.",
"updateTitle": "Efter NVIDIA-uppdatering på värden, kontrollera LXC-biblioteken",
"updateBody": "Gamla bibliotek kan ge versionsfel i nvidia-smi. Värdens NVIDIA-installation erbjuder containeruppdateringar. En ny enhetstilldelning kan avslutas direkt om posterna redan finns och garanterar ingen biblioteksuppdatering. Kontrollera versioner och uppdatera lämpliga paket eller användarinstallation."
},
"verification": {
"heading": "Verifiering",
"body": "Kontrollera i containern att GPU:n syns och går att använda."
},
"troubleshoot": {
"heading": "Felsökning",
"mismatchTitle": "nvidia-smi: Failed to initialize NVML: Driver/library version mismatch",
"mismatchBody": "Biblioteken passar inte den inlästa modulen. Kontrollera versionerna och uppdatera containerns användarmiljö. Cachad .run används för Debian/glibc, men enhetstilldelningen kan avslutas tidigt om alla poster redan finns.",
"denyTitle": "Tillstånd nekas på /dev/dri/renderD128 inuti containern",
"denyBody": "Kontrollera enhetsposten och numeriska rättigheter för render, sedan att appens användare tillhör render. Lägg vid behov till användaren i render med usermod -aG render <user>; ersätt platshållaren med kontot. Starta om sessionen. Byte av privilegieläge är ingen generell lösning.",
"vainfoTitle": "vainfo säger: VA-API version 1.xx; misslyckades med att initialisera",
"vainfoBody": "Kontrollera åtkomst och VA-API-drivrutin. Paketnamn varierar per distribution: exempelvis intel-media-driver för nyare Intel-GPU:er som stöds, i965-va-driver för äldre och mesa-va-drivers för AMD. Meddelandet bevisar inte ensamt ett saknat paket.",
"logTitle": "Installationslogg",
"logBody": "Varje körning skriver /tmp/add_gpu_lxc.log på värden. Bifoga loggen när du söker hjälp."
},
"related": {
"heading": "Relaterat",
"items": [
{
"label": "Installera NVIDIA Drivers (Host)",
"href": "/docs/hardware/nvidia-host",
"tail": " — installera värdens drivrutin före NVIDIA-delning."
},
{
"label": "Lägg till GPU till VM (Passthrough)",
"href": "/docs/hardware/gpu-vm-passthrough",
"tail": " — alternativ för att reservera en GPU för en VM."
},
{
"label": "Byt GPU-läge (VM ↔ LXC)",
"href": "/docs/hardware/switch-gpu-mode",
"tail": " — växla GPU:n mellan LXC-delning och VM-tilldelning."
},
{
"label": "GPU Passthrough kommandon",
"href": "/docs/help-info/gpu-commands",
"tail": " — snabb referens för relaterade skalkommandon."
}
]
}
}