diff --git a/web/messages/de/docs/hardware/coral-tpu-lxc.json b/web/messages/de/docs/hardware/coral-tpu-lxc.json index d7de1b28..8ee10b68 100644 --- a/web/messages/de/docs/hardware/coral-tpu-lxc.json +++ b/web/messages/de/docs/hardware/coral-tpu-lxc.json @@ -18,7 +18,7 @@ }, "prereqs": { "title": "Vorbereitung", - "drivers": "Coral auf dem Host vorbereiten. M.2 / PCIe benötigt den geladenen Host-Treiber, USB den Gerätezugriff mit passenden Berechtigungen. Siehe Coral TPU auf dem Host installieren. Die Anwendungslaufzeit muss im Container vorhanden sein.", + "drivers": "Das Coral-Gerät auf dem Host vorbereiten. M.2 / PCIe benötigt den geladenen Host-Treiber, USB den Gerätezugriff mit passenden Berechtigungen. Siehe Coral TPU auf dem Host installieren. Das Skript installiert die Anwendungslaufzeit in Debian/Ubuntu-Containern; andere Distributionen müssen sie separat bereitstellen.", "driversCheck": "ls /dev/apex_* 2>/dev/null ; lsusb | grep -E '1a6e:089a|18d1:9302'", "container": "Vorhandener LXC-Container, vorzugsweise auf Basis von Debian / Ubuntu: Die Installation nutzt apt-get. Container anderer Distributionen können den reinen Passthrough-Modus nutzen, der die APT-Installation von libedgetpu überspringt. Geeignet, wenn die Anwendung die Laufzeit bereits mitbringt, etwa das Frigate-Docker-Image.", "downtime": "Kurze Ausfallzeit einplanen. Das Skript stoppt den Container für die Konfiguration und startet ihn zur Laufzeitinstallation. Für diese Änderungen ist kein Host-Neustart nötig." @@ -44,7 +44,7 @@ }, "gpuHint": { "title": "Optionaler Hinweis zum GPU-Zugriff", - "body": "Wird eine GPU ohne Container-Zuordnung erkannt, empfiehlt ein Dialog GPU zu LXC hinzufügen für Videodekodierung, etwa Quick Sync, VA-API oder NVDEC. Die Frage lautet, ob nur Coral eingerichtet werden soll: Ja setzt fort, Nein beendet den Ablauf für die vorherige GPU-Einrichtung." + "body": "Wird eine GPU erkannt, die für diesen Container nicht konfiguriert ist, empfiehlt ein Dialog GPU zu LXC hinzufügen für die Hardware-Videodekodierung, etwa Quick Sync, VA-API oder NVENC. Er fragt, ob nur mit Coral fortgefahren werden soll: Ja setzt die TPU-Einrichtung fort, Nein beendet den Ablauf, damit Sie zuerst die GPU konfigurieren können." }, "usb": { "title": "USB-Zugriff im LXC konfigurieren", @@ -55,7 +55,7 @@ "pcie": { "title": "M.2-/PCIe-Zugriff im LXC konfigurieren", "body1": "Bei erkannter M.2-/PCIe-Coral und vorhandenem /dev/apex_0 nutzt das Skript die Proxmox-API dev für cgroup2-Berechtigungen in privilegierten und unprivilegierten LXC:", - "body2": "Wenn nach Coral auf dem Host installieren noch kein /dev/apex_0 existiert, wird die klassische cgroup2-Konfiguration mit optionalem Bind-Mount und create=file verwendet. Das erzeugt allein noch kein funktionsfähiges Gerät:", + "body2": "Wenn nach Coral auf dem Host installieren kein /dev/apex_0 vorhanden ist, schreibt das Skript einen Bind-Mount mit create=file und, nur wenn die Apex-Major-Nummer in /proc/devices aufgeführt ist, eine klassische cgroup2-Regel. Keines von beiden erzeugt ein funktionsfähiges Gerät:", "rebootTitle": "Starten Sie den Host zuerst neu, wenn Sie gerade Coral-Treiber installiert haben", "rebootBody": "Der Ersatz-Mount lädt den Host-Treiber apex nicht. Laden Sie ihn oder starten Sie nach der Installation neu und prüfen Sie das Gerät. Führen Sie das Skript danach erneut für den modernen Geräteeintrag aus und starten Sie den Container neu." }, @@ -92,7 +92,7 @@ "troubleshoot": { "heading": "Fehlerbehebung", "apexTitle": "LXC gestartet, aber /dev/apex_0 fehlt", - "apexBody": "Host-Treiber prüfen: lsmod | grep apex. Falls nicht geladen, versuchen Sie modprobe apex oder starten nach der Treiberinstallation neu. Sobald /dev/apex_0 auf dem Host existiert, prüfen Sie den LXC-Geräteeintrag und starten mit pct stop <ctid> && pct start <ctid> neu.", + "apexBody": "Prüfen Sie zuerst den Host-Treiber: lsmod | grep apex. Falls nicht geladen, versuchen Sie modprobe apex oder starten nach der Treiberinstallation neu. Sobald /dev/apex_0 auf dem Host existiert, prüfen Sie den LXC-Geräteeintrag (führen Sie das Skript erneut aus, wenn nur die Ersatzeinträge geschrieben wurden) und starten den Container mit pct stop <ctid> && pct start <ctid> neu.", "replugTitle": "USB-Coral verschwindet nach Anschluss an einen anderen Port", "replugBody": "Prüfen Sie, ob der LXC /dev/bus/usb statt des Links /dev/coral einbindet. Die Konfiguration sollte lxc.mount.entry: /dev/bus/usb dev/bus/usb ... enthalten und nicht direkt von /dev/coral abhängen. Führen Sie bei alten Konfigurationen das Skript erneut aus.", "alpineTitle": "Alpine / Arch / RHEL / SUSE: Laufzeit nicht installiert", diff --git a/web/messages/de/docs/hardware/gpu-vm-passthrough.json b/web/messages/de/docs/hardware/gpu-vm-passthrough.json index 59465ba8..7b65e659 100644 --- a/web/messages/de/docs/hardware/gpu-vm-passthrough.json +++ b/web/messages/de/docs/hardware/gpu-vm-passthrough.json @@ -45,7 +45,7 @@ "heading": "Schritt für Schritt", "detect": { "title": "GPUs erkennen und IOMMU überprüfen", - "body": "Prüft aktives IOMMU, nicht nur Parameter. Separat bestätigt kann intel_iommu=on oder amd_iommu=on mit iommu=pt ergänzt werden. Nutzt /etc/kernel/cmdline bei ZFS-Marker wie root=ZFS=, sonst /etc/default/grub. Dies ist eine Heuristik, kein Bootloadernachweis. Änderung nach Neustart aktiv; tatsächliche Gruppen prüfen.", + "body": "Betrachtet IOMMU nur dann als aktiv, wenn der laufende Kernel intel_iommu=on oder amd_iommu=on hat und IOMMU-Gruppen existieren. Ist der Parameter bereits für den nächsten Start gespeichert, wird im Modus „Neustart ausstehend“ fortgefahren; andernfalls kann ein separat bestätigter Schritt ihn mit iommu=pt ergänzen. Die Heuristik für die Bootdatei nutzt /etc/kernel/cmdline, wenn dort ein ZFS-Root-Marker wie root=ZFS= vorhanden ist, sonst /etc/default/grub. Diese Heuristik ist kein Nachweis des tatsächlichen Bootloaders. Neu konfiguriertes IOMMU wird nach dem Neustart aktiv; prüfen Sie danach die tatsächlichen Gruppen.", "tipTitle": "Nachinstallation bereits eingerichtet?", "tipBody": "Bei bereits konfiguriertem und aktivem VFIO-IOMMU-Support besteht die Prüfung. Eine Einstellung für den nächsten Start allein beweist keinen aktiven Zustand.", "imageAlt": "Liste der erkannten GPUs mit Hersteller- und PCI-Adresse" @@ -58,7 +58,7 @@ "Nur eine GPU. Die lokale Konsole kann durch VFIO ihre Ausgabe verlieren. Zuvor SSH- oder Webzugriff von einem anderen Rechner prüfen.", "AMD-Reset-Richtlinie. Liest /sys/bus/pci/devices/<pci>/reset_method. APU oder dedizierte Karte ohne FLR wird durch die Assistentenrichtlinie blockiert; unbekannter Untertyp ohne FLR verlangt Bestätigung. Dies beweist keine generelle technische Unmöglichkeit.", "D3cold-Zustand. AMD-Karten mit gemeldetem D3cold werden wegen möglicher Aktivierungsfehler blockiert. Stromversorgung und Firmware prüfen.", - "IOMMU-Gruppe. Liest /sys/kernel/iommu_groups/ und plant alle Nicht-Brücken-Geräte ein, auch Netzwerk- oder Speichercontroller. Vor Bestätigung prüfen. Bei ausstehendem IOMMU-Neustart wird zunächst nur die GPU-Funktion eingeplant; Isolation danach prüfen." + "Analyse der IOMMU-Gruppe. Liest /sys/kernel/iommu_groups/ und nimmt alle Nicht-Brücken-Geräte in den VM-Plan auf, möglicherweise auch Netzwerk- oder Speichercontroller. Das Skript listet sie nicht auf; prüfen Sie die Gruppe daher vor der Bestätigung selbst. Steht der IOMMU-Neustart noch aus, sind die tatsächlichen Gruppen nicht verfügbar und der Plan enthält zunächst nur die gewählte GPU-Funktion; prüfen Sie die Isolation nach dem Neustart." ], "audioIntro": "Zugehöriges Audio. Zwei Fälle je nach Controllerposition:", "audioDgpu": "Dedizierte GPU: HDMI-Audio liegt oft auf Funktion .1 desselben PCI-Slots und wird bei Erkennung aufgenommen. Nutzt der Host es bisher, verliert er durch die VM-Reservierung den Zugriff.", @@ -75,7 +75,7 @@ "items": [ "GPU verfügbar. Fortfahren ohne alte Zuweisung zu entfernen.", "Anderer VM zugewiesen. Quell-VM zuerst stoppen. Entweder Einträge behalten und Autostart deaktivieren oder Einträge entfernen und Autostart behalten. Bei bestehendem vfio-pci ohne nötige Hoständerungen kann VM→VM ohne Host-Neustart erfolgen.", - "Von LXC genutzt. Bei normalen Containern Konfiguration behalten und Autostart deaktivieren oder Geräte und alte lxc.cgroup2.devices.allow/lxc.mount.entry-Regeln entfernen, Autostart behalten. OCI behält die Konfiguration und wird ohne Autostart gestoppt; GPU unter Apps entfernen. Familienbasierte Erkennung kann weitere Karten erfassen." + "Von LXC genutzte GPU. Bei normalen Containern wählen Sie GPU-Konfiguration behalten und Autostart deaktivieren oder GPU-Gerätekonfiguration entfernen und Autostart behalten. Das Entfernen löscht die devN-Einträge und bei AMD/Intel auch alte /dev/dri-Regeln lxc.mount.entry und lxc.cgroup2.devices.allow. OCI-Container behalten ihre Konfiguration und werden mit deaktiviertem Autostart gestoppt; entfernen Sie ihre GPU über OCI manager Apps. Die Konflikterkennung erfolgt nach GPU-Gerätefamilie und kann weitere Karten dieser Familie erfassen." ], "imageAlt": "Dialogangebot zum Entfernen des GPU aus einem LXC, bevor es dem VM zugewiesen wird", "smartTitle": "Zugehöriges Audio beim Entfernen prüfen", @@ -90,7 +90,7 @@ }, "summary": { "title": "Überprüfung der Bestätigungszusammenfassung", - "body": "Endplan und besonders alle IOMMU-Mitglieder prüfen; bei Fehlern abbrechen. Das verhindert die Hauptänderungen, macht aber eine zuvor bestätigte IOMMU-Bootänderung nicht rückgängig.", + "body": "Prüfen Sie den endgültigen Host- und VM-Plan und brechen Sie bei Fehlern ab. Er zeigt die IOMMU-Gruppe und die Anzahl ihrer Geräte, nicht jedes Mitglied; prüfen Sie die Gruppe daher vorher. Der Abbruch verhindert die Hauptänderungen, macht aber eine zuvor separat bestätigte Änderung der IOMMU-Bootkonfiguration nicht rückgängig.", "imageAlt": "Übersicht geplanter Änderungen an Host und VM" }, "hostApply": { @@ -102,7 +102,7 @@ "Schreibt /etc/modprobe.d/iommu_unsafe_interrupts.conf und kvm.conf mit allow_unsafe_interrupts=1 und ignore_msrs=1. Kompatibilitätseinstellungen des Skripts, keine allgemeinen Windows/macOS-Anforderungen; unsichere Interrupts schwächen den Interrupt-Remapping-Schutz.", "/etc/modprobe.d/blacklist.conf: NVIDIA — nouveau/lbm-nouveau; AMD — radeon + amdgpu; Intel — i915. Diese herstellerweiten Regeln können andere Karten mit demselben Treiber betreffen. Das Modul nvidia wird nur über /etc/modprobe.d/proxmenux-nvidia-vfio-blacklist.conf blockiert, wenn alle NVIDIA-Karten für VFIO erfasst sind.", "/etc/udev/rules.d/10-proxmenux-vfio-bind.rules + /etc/proxmenux/vfio-bind.bdfs — Nur NVIDIA. Setzt ATTR'{'driver_override'}'=\"vfio-pci\" bei PCI ADD für erfasste BDFs einschließlich betroffener IOMMU-Gruppenfunktionen. Außerhalb kann nvidia erhalten bleiben. BDF-Regeln teilen keine Hardware-IOMMU-Gruppe.", - "Nur AMD. Versucht ROM aus /sys/bus/pci/.../rom oder ACPI VFCT nach /usr/share/kvm/vbios_<card>.bin zu sichern. Bei Erfolg nutzt die VM romfile=. Ein gültiges ROM garantiert keine Initialisierung.", + "Nur AMD. Versucht, das ROM aus /sys/bus/pci/.../rom oder ACPI VFCT nach /usr/share/kvm/vbios_<vendor>_<device>.bin zu sichern. Bei Erfolg nutzt die VM romfile=. Ein gültiger Dump garantiert keine erfolgreiche GPU-Initialisierung.", "Nur NVIDIA. Stoppt und deaktiviert nvidia-persistenced, nvidia-powerd, nvidia-fabricmanager nur, wenn alle NVIDIA-Karten VFIO zugeordnet sind. Im Mischbetrieb bleiben Dienste und nvidia für native Karten erhalten.", "update-initramfs -u -k all — läuft nur, wenn einer der oben genannten tatsächlich geändert." ] diff --git a/web/messages/de/docs/hardware/igpu-acceleration-lxc.json b/web/messages/de/docs/hardware/igpu-acceleration-lxc.json index dcc44697..0f7d0b61 100644 --- a/web/messages/de/docs/hardware/igpu-acceleration-lxc.json +++ b/web/messages/de/docs/hardware/igpu-acceleration-lxc.json @@ -10,7 +10,7 @@ }, "intro": { "title": "Funktionsweise", - "body": "Fügt dev<N> zu /etc/pve/lxc/<ctid>.conf für passende /dev/dri/*-, /dev/kfd- oder /dev/nvidia*-Geräte hinzu. Startet den Container, installiert distributionsabhängige Bibliotheken und gleicht video und render ab. Beschleunigung erfordert kompatible Hardware, Bibliotheken und App-Einstellungen." + "body": "Fügt dev<N>-Einträge zu /etc/pve/lxc/<ctid>.conf für passende /dev/dri/*-, /dev/kfd- oder /dev/nvidia*-Knoten hinzu. Startet den Container, installiert Userspace-Pakete für dessen Distribution und gleicht bei Intel/AMD die Gruppen video und render ab. Die Anwendungsbeschleunigung erfordert weiterhin kompatible Hardware, Bibliotheken und App-Einstellungen." }, "compare": { "heading": "LXC-Freigabe und VM-Passthrough im Vergleich", @@ -78,7 +78,7 @@ }, "pickCt": { "title": "LXC-Container auswählen", - "body": "Listet geeignete LXC-Container mit ID und Name. OCI-Container fehlen bewusst; ihre Geräte werden unter Apps im OCI-Manager geändert. Der Container wird zur Konfiguration gestoppt, zur Installation gestartet und normalerweise in den Ausgangszustand zurückversetzt.", + "body": "Listet geeignete LXC-Container mit ID und Name; OCI-Container sind ausgeschlossen und nutzen für Geräte OCI manager Apps. Der Container wird gestoppt, falls er läuft, zur Treiberinstallation gestartet und normalerweise in seinen ursprünglichen Zustand (laufend/gestoppt) zurückversetzt.", "imageAlt": "Auswahl eines vorhandenen LXC-Containers" }, "selectGpu": { @@ -98,7 +98,7 @@ }, "applyConfig": { "title": "Anwenden der LXC-Konfigurationsänderungen", - "body1": "Stoppt den Container und bearbeitet /etc/pve/lxc/<ctid>.conf. dev<N>-Einträge enthalten die gewählten GIDs. Der dev:-Mechanismus ersetzt hier manuelle lxc.mount.entry-Regeln. Ergebnis und Rechte prüfen.", + "body1": "Stoppt den Container, falls er läuft, und bearbeitet /etc/pve/lxc/<ctid>.conf. Nummerierte dev<N>-Einträge enthalten die Host-GID von video oder render. Vorhandene lxc.mount.entry-Bind-Zeilen für /dev/dri werden durch dev:-Einträge ersetzt; prüfen Sie die resultierende Konfiguration und die Rechte.", "body2": "Beispiel nach Intel + NVIDIA auf demselben Container:" }, "installDrivers": { @@ -127,14 +127,14 @@ }, "alignGids": { "title": "GIDs ausrichten und Zustand wiederherstellen", - "body1": "Liest die Host-GIDs von video und render; 44/104 sind nur Ersatzwerte. Passt /etc/group im Container an. video:44 und render:104 sind Beispiele, keine universellen IDs. App-Mitgliedschaft und wirksame Rechte prüfen.", + "body1": "Liest bei Intel/AMD die Host-GIDs von video und render, wobei 44/104 nur als Ersatzwerte dienen, und passt dann /etc/group im Container entsprechend an; reine NVIDIA-Durchläufe überspringen diesen Schritt. Einträge wie video:44 und render:104 sind Beispiele, keine universellen IDs. Prüfen Sie die App-Mitgliedschaft und die wirksamen Geräterechte.", "body2": "Bei normalem Abschluss wird ein ursprünglich gestoppter Container erneut gestoppt; ein laufender bleibt aktiv. Bei Start- oder Installationsfehlern Endzustand und Protokoll prüfen." } }, "vendors": { "heading": "Herstellerspezifische Hinweise", "intelHeading": "Intel iGPU", - "intelBody": "Intel-Beschleunigung mit Quick Sync hängt von Generation, Codecs und App-Einstellungen ab. Teilt vorhandene Knoten wie /dev/dri/card0 und /dev/dri/renderD128; Nummern können abweichen. Der native Host-Treiber, etwa i915, muss sie bereitstellen.", + "intelBody": "Intel-Medienbeschleunigung, einschließlich Quick Sync, hängt von GPU-Generation, Codecs und App-Einstellungen ab. Das Skript teilt diejenigen von /dev/dri/card0, card1, renderD128 und renderD129, die vorhanden sind; andere Knotennummern werden nicht hinzugefügt. Der Host muss sie bereits über seinen nativen Treiber bereitstellen, etwa i915.", "amdHeading": "AMD", "amdBody": "AMD nutzt DRI für Mesa/VA-API. Vorhandenes /dev/kfd wird ebenfalls geteilt. ROCm/OpenCL benötigt unterstützte Hardware und passende Bibliotheken; die Gerätefreigabe installiert keinen vollständigen ROCm-Stack.", "nvidiaHeading": "NVIDIA", diff --git a/web/messages/de/docs/hardware/install-coral-tpu-host.json b/web/messages/de/docs/hardware/install-coral-tpu-host.json index 13b9a8b0..850b06ea 100644 --- a/web/messages/de/docs/hardware/install-coral-tpu-host.json +++ b/web/messages/de/docs/hardware/install-coral-tpu-host.json @@ -71,7 +71,7 @@ "title": "PCIe: Kernelmodule gasket und apex über DKMS", "body": "Läuft nur bei erkannter PCIe-/M.2-Coral. Die Module werden für den aktuell laufenden Host-Kernel gebaut.", "items": [ - "Bereinigung. Bei einem fehlerhaften Paketstatus einer früheren gasket-dkms-Installation versucht das Skript, sie vor dem Neubau zu entfernen.", + "Bereinigung. Ein vorhandenes gasket-dkms-Paket wird vor dem Neubau entfernt; befindet es sich in einem fehlerhaften Paketstatus, erzwingt das Skript dessen Entfernung und Purge.", "Build-Abhängigkeiten: git, dkms, build-essential, proxmox-headers-$(uname -r)." ], "cloneIntro": "Treiberquellen klonen. Bevorzugt feranick/gasket-driver, ersatzweise google/gasket-driver. Ein erfolgreicher Build setzt Kernelkompatibilität voraus. Die Google-Quellen erhalten folgende versionsabhängige Patches:", @@ -132,7 +132,7 @@ "Entfernt gasket-dkms, libedgetpu1-std und libedgetpu1-max vollständig und führt apt-get autoremove --purge aus.", "Löscht /etc/udev/rules.d/99-coral-apex.rules und stellt die Standardgruppe in 60-gasket-dkms.rules wieder her, falls vorhanden.", "Prüft die zusätzlichen Mitglieder von apex. Bei leerer Liste wird die Gruppe zu entfernen versucht, sonst bleibt apex mit Mitgliederhinweis erhalten. Benutzer mit dieser primären Gruppe werden nicht vollständig geprüft.", - "Entfernt alte Repository-Einträge wie /etc/apt/sources.list.d/coral-edgetpu.list und Schlüsselbunde namens coral-edgetpu-archive-keyring.gpg. Der aktuelle Schlüsselbund /etc/apt/keyrings/coral-edgetpu.gpg bleibt erhalten.", + "Entfernt die Repository-Liste /etc/apt/sources.list.d/coral-edgetpu.list, die alte coral-cloud.list und alte Schlüsselbunde namens coral-edgetpu-archive-keyring.gpg. Der aktuelle Schlüsselbund unter /etc/apt/keyrings/coral-edgetpu.gpg wird durch diesen Ablauf nicht entfernt.", "Bietet einen Neustart nur bei zuvor installiertem PCIe-Pfad an, um noch aktive Module zu entladen. Reine USB-Entfernung braucht keinen Neustart." ], "lxcWarnTitle": "LXC Container mit apex Passthrough", diff --git a/web/messages/de/docs/hardware/nvidia-host.json b/web/messages/de/docs/hardware/nvidia-host.json index cb6537a7..ee022e92 100644 --- a/web/messages/de/docs/hardware/nvidia-host.json +++ b/web/messages/de/docs/hardware/nvidia-host.json @@ -10,7 +10,7 @@ }, "intro": { "title": "Funktionsweise", - "body": "Erkennt die GPU und bietet gepflegte Zweige mit ihrer PCI-ID. Sperrt nouveau, lädt den offiziellen .run-Installer, nutzt DKMS und installiert nvidia-persistenced sowie udev-Regeln; NVENC-Patch optional. Build-Prüfungen beziehen sich auf den laufenden Kernel; erfolgreiche Kompilierung garantiert nicht jede App. NVIDIA-LXC können passende Userspace-Bibliotheken erhalten." + "body": "ProxMenux erkennt die GPU und bietet gepflegte NVIDIA-Zweige an, die ihre PCI-ID aufführen. Es sperrt nouveau, lädt den offiziellen .run-Installer, nutzt DKMS, installiert nvidia-persistenced, udev-Regeln und das NVIDIA Container Toolkit und bietet einen optionalen NVENC-Patch an. Build-Prüfungen beziehen sich auf den laufenden Kernel; erfolgreiche Kompilierung garantiert nicht, dass jede App funktioniert. Vorhandenen NVIDIA-LXC wird eine Aktualisierung der Userspace-Bibliotheken angeboten, versionsgleich außer unter Arch." }, "who": { "heading": "Für wen ist das?", @@ -89,7 +89,7 @@ }, "reboot": { "title": "Neustart", - "body": "Erstellt initramfs für alle Kernel neu und bietet den Neustart an. Diesen Neustart einplanen, um Module und nouveau-Konfiguration beim Start zu prüfen, auch wenn der Treiber vorher bereits antwortet." + "body": "Nach der Treiberinstallation erstellt das Skript initramfs für alle Kernel neu; sein letzter Schritt bietet einen Neustart an. Diesen Neustart einplanen, um die dauerhafte Modul- und nouveau-Konfiguration bei einem frischen Start zu prüfen, auch wenn der neue Treiber vor dem Neustart bereits antwortet." } }, "reinstallUninstall": { @@ -102,8 +102,8 @@ "uninstallHeading": "Deinstallieren – Was entfernt wird", "uninstallIntro": "Nach einer Ja/Nein-Bestätigung werden folgende Komponenten entfernt:", "uninstallItems": [ - "Führt nvidia-uninstall --silent für die .run-Installation aus, stoppt und deaktiviert nvidia-persistenced und nvidia-powerd und versucht, nvidia_uvm, nvidia_drm, nvidia_modeset und nvidia zu entladen. NVIDIA-LXC sind betroffen; aktive Clients können das Entladen verhindern.", - "Führt apt purge auf nvidia-*, libnvidia-*, cuda-* und libcudnn* aus, entfernt den DKMS-Quellbaum und den /opt/nvidia-.run-Installer-Cache.", + "Stoppt und deaktiviert nvidia-persistenced und nvidia-powerd, versucht, nvidia_uvm, nvidia_drm, nvidia_modeset und nvidia zu entladen, und führt dann nvidia-uninstall --silent für die .run-Installation aus. Von NVIDIA abhängige LXC-Workloads sind betroffen; aktive Clients können das Entladen verhindern.", + "Führt apt purge auf nvidia-*, libnvidia-*, cuda-* und libcudnn* aus, entfernt den DKMS-Quellbaum sowie die Ordner nvidia-persistenced und nvidia-patch unter /opt/nvidia.", "Entfernt die Module-Load Config (/etc/modules-load.d/nvidia-vfio.conf) und die Nouveau Blacklist-Einträge von ProxMenux. Legacy zweizeilige ProxMenux-Blacklist-Dateien werden migriert und entfernt; modifizierte oder nicht verwandte Administratordateien bleiben erhalten.", "Entfernt /etc/udev/rules.d/70-nvidia.rules und setzt den NVENC-Status im verwalteten Installationsverzeichnis auf removed; es gibt keine separate Statusdatei.", "Erstellt initramfs für alle Kernel neu, führt passend zur Bootkonfiguration proxmox-boot-tool refresh aus und fragt nach einem Neustart." diff --git a/web/messages/de/docs/hardware/switch-gpu-mode.json b/web/messages/de/docs/hardware/switch-gpu-mode.json index b57e2acb..d0ee5780 100644 --- a/web/messages/de/docs/hardware/switch-gpu-mode.json +++ b/web/messages/de/docs/hardware/switch-gpu-mode.json @@ -42,21 +42,21 @@ }, { "situation": "Ich möchte alle Gastzuweisungen dieser GPU entfernen.", - "use": "Der LXC-Modus gibt die GPU an den Host-Treiber zurück; entfernen Sie Gastzuweisungen über die jeweiligen Konfliktoptionen. Die GPU bleibt dabei an einen Treiber gebunden." + "use": "Der LXC-Modus gibt die GPU an den Host-Treiber zurück; die VM-Konfliktrichtlinie kann hostpci-Einträge entfernen, LXC-Geräteeinträge müssen jedoch separat entfernt werden. Die GPU bleibt dabei an einen Treiber gebunden." } ] }, "prereqs": { "title": "Vorbereitung", "assigned": "Bereits zugewiesene GPU in einer VM über VFIO oder in einem LXC. Für die erste Zuweisung GPU zu VM / LXC hinzufügen verwenden.", - "iommu": "IOMMU muss auf dem Host aktiv sein beim Wechsel in den VM-Modus. Firmware und Kernel-Unterstützung sind entscheidend; explizite Parameter sind nicht immer nötig. Bei Bedarf versucht das Skript intel_iommu=on iommu=pt oder amd_iommu=on über den aktiven Bootweg mit proxmox-boot-tool refresh oder update-grub. Warnungen prüfen und bei Aufforderung neu starten.", + "iommu": "IOMMU muss auf dem Host aktiv sein beim Wechsel in den VM-Modus. Firmware-Einstellungen und Kernel-Unterstützung sind beide entscheidend. Fehlt intel_iommu=on oder amd_iommu=on im laufenden Kernel, fügt das Skript es mit iommu=pt zu /etc/kernel/cmdline (ZFS-Root-Marker) oder /etc/default/grub hinzu und führt dann proxmox-boot-tool refresh oder update-grub aus. Prüfen Sie eventuelle Warnungen und starten Sie bei Aufforderung neu.", "iommuCheck": "dmesg | grep -i 'IOMMU enabled' | head -1", "reboot": "Neustart einplanen. Dauerhafte Treiber- und Bootänderungen können ein neues initramfs und einen Neustart erfordern. Das Skript fragt am Ende danach.", "knowList": "Betroffene VMs und LXC kennen. Das Skript erkennt Verweise und fragt nach dem Umgang mit jedem Gast; eine bekannte Liste erleichtert die Prüfung." }, "blocklist": { "title": "Nicht alle GPUs können sicher an einen VM übergeben werden", - "body": "Das Skript sperrt den VM-Modus für bestimmte Geräte-IDs, darunter 8086:5a84 und 8086:5a85, gemäß seiner Kompatibilitätsrichtlinie. Bei Übereinstimmung erscheint eine Warnung. Die Liste verhindert nicht den Wechsel in den LXC-Modus; andere Prüfungen gelten weiterhin." + "body": "Das Skript sperrt den VM-Modus für die Geräte-IDs 8086:5a84 und 8086:5a85 gemäß seiner Kompatibilitätsrichtlinie. Passt eine gewählte GPU, bricht es den Wechsel in den VM-Modus ab und kehrt zur GPU-Auswahl zurück oder beendet sich, wenn es die einzige GPU ist. Diese Sperrliste verhindert nicht den Wechsel in den LXC-Modus; andere Prüfungen können weiterhin gelten." }, "running": { "heading": "Skript ausführen", @@ -85,7 +85,7 @@ "intro": "Basierend auf dem aktuellen Modus schlägt das Skript das Gegenteil als Ziel vor:", "items": [ "VM → LXC: Entfernt die Bindung an vfio-pci, damit der native Treiber (nvidia, amdgpu, i915) die GPU nutzen kann. Bei NVIDIA werden die betreffenden BDF-Einträge aus /etc/udev/rules.d/10-proxmenux-vfio-bind.rules für den nächsten Start entfernt.", - "LXC → VM: bereitet die Bindung an vfio-pci vor. AMD / Intel sperrt den nativen Treiber und nutzt options vfio-pci ids=…. Bei NVIDIA wird nvidia nicht global gesperrt: BDF-Regeln setzen driver_override=vfio-pci für Geräte der betroffenen IOMMU-Gruppen. NVIDIA-GPUs außerhalb dieser Gruppen können nvidia behalten. Alle Gruppenmitglieder prüfen." + "LXC → VM: bereitet die Bindung an vfio-pci vor. AMD / Intel sperren den nativen Treiber und nutzen options vfio-pci ids=…. Bei NVIDIA wird nvidia nur dann global gesperrt, wenn jede NVIDIA-GPU des Hosts in VFIO ist; andernfalls setzen Regeln pro BDF driver_override=vfio-pci für die Geräte der betroffenen IOMMU-Gruppen, und NVIDIA-GPUs außerhalb dieser Gruppen behalten nvidia. Prüfen Sie vor dem Wechsel alle Gruppenmitglieder." ], "outro": "Bestätigen Sie die Richtung oder brechen Sie ab." }, diff --git a/web/messages/en/docs/hardware/coral-tpu-lxc.json b/web/messages/en/docs/hardware/coral-tpu-lxc.json index 3c1aadf4..1440c05f 100644 --- a/web/messages/en/docs/hardware/coral-tpu-lxc.json +++ b/web/messages/en/docs/hardware/coral-tpu-lxc.json @@ -18,7 +18,7 @@ }, "prereqs": { "title": "Before you start", - "drivers": "Prepare the Coral device on the host. M.2 / PCIe needs the host driver loaded; USB needs device access and suitable permissions. See Install Coral TPU on the Host. The app runtime must be available inside the container.", + "drivers": "Prepare the Coral device on the host. M.2 / PCIe needs the host driver loaded; USB needs device access and suitable permissions. See Install Coral TPU on the Host. The script installs the app runtime in Debian/Ubuntu containers; other distributions must provide it separately.", "driversCheck": "ls /dev/apex_* 2>/dev/null ; lsusb | grep -E '1a6e:089a|18d1:9302'", "container": "An existing LXC container, ideally running a Debian / Ubuntu-based distro — the in-container runtime install uses apt-get. Non-Debian containers (Alpine, Arch, RHEL, SUSE…) are still supported in passthrough-only mode: the script detects the distro and offers a prompt to skip the libedgetpu APT install while still writing the device passthrough config — useful for app containers that bundle the runtime themselves (e.g. the Frigate Docker image).", "downtime": "Be OK with a brief downtime of the container. The script stops it to apply config changes, then starts it back up to install drivers inside. No host reboot needed." @@ -44,7 +44,7 @@ }, "gpuHint": { "title": "GPU passthrough suggestion (optional)", - "body": "If a GPU is detected but not configured for this container, a dialog recommends Add GPU to LXC for hardware video decoding, such as Quick Sync, VA-API or NVDEC. It asks whether to continue with Coral only: Yes continues TPU setup; No exits so you can configure the GPU first." + "body": "If a GPU is detected but not configured for this container, a dialog recommends Add GPU to LXC for hardware video decoding, such as Quick Sync, VA-API or NVENC. It asks whether to continue with Coral only: Yes continues TPU setup; No exits so you can configure the GPU first." }, "usb": { "title": "Write LXC config — USB path", @@ -55,7 +55,7 @@ "pcie": { "title": "Write LXC config — M.2 / PCIe path", "body1": "If a M.2 / PCIe Coral is present on the host and /dev/apex_0 exists (the apex kernel module is loaded), the script uses the modern Proxmox dev API which handles cgroup2 permissions automatically for both privileged and unprivileged containers:", - "body2": "If /dev/apex_0 is absent after Install Coral on Host, the script writes a classic cgroup2 configuration and optional bind mount with create=file. This does not itself create a working device:", + "body2": "If /dev/apex_0 is absent after Install Coral on Host, the script writes a bind mount with create=file and, only when the apex major number is listed in /proc/devices, a classic cgroup2 rule. Neither creates a working device:", "rebootTitle": "Reboot the host first if you just installed Coral drivers", "rebootBody": "The fallback mount does not load the host apex driver. Load the driver, or reboot after installation, and verify the host device exists. Re-run the script once the device is ready to apply the modern device entry, then restart the container." }, @@ -92,7 +92,7 @@ "troubleshoot": { "heading": "Troubleshooting", "apexTitle": "Container started but /dev/apex_0 missing inside", - "apexBody": "Check the host driver first: lsmod | grep apex. If missing, try modprobe apex or reboot after driver installation. Once /dev/apex_0 exists on the host, verify the LXC device entry and restart the container with pct stop <ctid> && pct start <ctid>.", + "apexBody": "Check the host driver first: lsmod | grep apex. If missing, try modprobe apex or reboot after driver installation. Once /dev/apex_0 exists on the host, verify the LXC device entry (re-run the script if only the fallback entries were written) and restart the container with pct stop <ctid> && pct start <ctid>.", "replugTitle": "USB Coral disappears after replug in a different port", "replugBody": "This is exactly why the script mounts /dev/bus/usb instead of the /dev/coral symlink. If you're hitting this, check your LXC config has lxc.mount.entry: /dev/bus/usb dev/bus/usb ... and not a reference to /dev/coral directly. Old configs from earlier script versions may need updating — re-run the script on the same container and the config gets refreshed.", "alpineTitle": "Alpine / Arch / RHEL / SUSE container — runtime not installed", diff --git a/web/messages/en/docs/hardware/gpu-vm-passthrough.json b/web/messages/en/docs/hardware/gpu-vm-passthrough.json index 52acb562..6591beae 100644 --- a/web/messages/en/docs/hardware/gpu-vm-passthrough.json +++ b/web/messages/en/docs/hardware/gpu-vm-passthrough.json @@ -45,7 +45,7 @@ "heading": "Walking through the flow", "detect": { "title": "Detect GPUs and check IOMMU", - "body": "Checks active IOMMU support, not just explicit kernel parameters. If inactive, a separately confirmed step can add intel_iommu=on or amd_iommu=on with iommu=pt. Its boot-file heuristic uses /etc/kernel/cmdline when a ZFS-root marker such as root=ZFS= exists there; otherwise it uses /etc/default/grub. That heuristic is not proof of the actual bootloader. Newly configured IOMMU takes effect after reboot; inspect the real groups afterwards.", + "body": "Treats IOMMU as active only when the running kernel has intel_iommu=on or amd_iommu=on and IOMMU groups exist. If the parameter is already saved for the next boot, it continues in pending-reboot mode; otherwise a separately confirmed step can add it with iommu=pt. Its boot-file heuristic uses /etc/kernel/cmdline when a ZFS-root marker such as root=ZFS= exists there; otherwise it uses /etc/default/grub. That heuristic is not proof of the actual bootloader. Newly configured IOMMU takes effect after reboot; inspect the real groups afterwards.", "tipTitle": "Already ran post-install?", "tipBody": "If VFIO IOMMU support was previously configured and is active in the running kernel, this check passes. A saved next-boot setting alone does not prove it is active.", "imageAlt": "List of detected GPUs with vendor and PCI address" @@ -58,7 +58,7 @@ "Single-GPU warning. If this is the only GPU in the host, you get a scary dialog reminding you that after reboot the console goes dark — make sure you have SSH or web-UI access from another machine.", "AMD reset policy. Reads /sys/bus/pci/devices/<pci>/reset_method. An APU or dedicated card without FLR is blocked by this assistant’s policy; an unknown subtype without FLR requires an explicit override. This does not establish universal hardware impossibility.", "Not in D3cold. Some AMD cards report D3cold power state while idle, which makes them invisible during VM startup. Blocked until you wake the GPU.", - "IOMMU group analysis. Reads /sys/kernel/iommu_groups/ and includes all non-bridge members in the VM plan, possibly network or storage controllers. Inspect them before confirming. If IOMMU is pending reboot, real groups are unavailable and the plan initially contains only the selected GPU function; verify isolation after reboot." + "IOMMU group analysis. Reads /sys/kernel/iommu_groups/ and includes all non-bridge members in the VM plan, possibly network or storage controllers. The script does not list them, so inspect the group yourself before confirming. If IOMMU is pending reboot, real groups are unavailable and the plan initially contains only the selected GPU function; verify isolation after reboot." ], "audioIntro": "Audio companion. Two paths, depending on where the audio lives:", "audioDgpu": "Discrete GPU: HDMI audio often occupies function .1 of the same PCI slot and is automatically included when detected. If the host was using that audio device, it loses access when the device is reserved for the VM.", @@ -75,7 +75,7 @@ "items": [ "GPU is free. Nothing to do, continue.", "GPU is in a different VM. If the source VM is currently running, the script aborts — two VMs can't share an exclusive VFIO assignment, and the source VM has to be stopped first. If the source VM is stopped, you get two options: Keep GPU in the source VM's config but disable Start on boot, or Remove the GPU lines from the source VM's config and keep Start on boot. A fast-path also exists: if the GPU is already bound to vfio-pci and the source VM is a plain VM→VM swap, no host reconfiguration is done and no reboot is needed.", - "GPU used by LXC. For ordinary containers, choose keep the GPU configuration and disable Start on boot or remove GPU device configuration, including legacy lxc.cgroup2.devices.allow/lxc.mount.entry rules, and keep Start on boot. OCI containers retain their configuration and are stopped with Start on boot disabled; remove their GPU through OCI manager Apps. Conflict detection is by GPU device family and may include other cards of that family." + "GPU used by LXC. For ordinary containers, choose keep the GPU configuration and disable Start on boot or remove GPU device configuration and keep Start on boot. Removal deletes the devN entries and, for AMD/Intel, also legacy /dev/dri lxc.mount.entry and lxc.cgroup2.devices.allow rules. OCI containers retain their configuration and are stopped with Start on boot disabled; remove their GPU through OCI manager Apps. Conflict detection is by GPU device family and may include other cards of that family." ], "imageAlt": "Dialog offering to remove the GPU from an LXC before assigning it to the VM", "smartTitle": "Audio siblings are cleaned up smartly too", @@ -90,7 +90,7 @@ }, "summary": { "title": "Review the confirmation summary", - "body": "Review the final host and VM plan, especially every IOMMU-group member, and cancel if it is wrong. This stops the main changes; it does not undo an earlier separately confirmed IOMMU boot-configuration change.", + "body": "Review the final host and VM plan and cancel if it is wrong. It shows the IOMMU group and its device count, not each member, so check the group beforehand. Cancelling stops the main changes; it does not undo an earlier separately confirmed IOMMU boot-configuration change.", "imageAlt": "Summary dialog listing host changes (VFIO/blacklist files) and VM config changes (hostpci lines) before applying" }, "hostApply": { @@ -102,7 +102,7 @@ "Writes /etc/modprobe.d/iommu_unsafe_interrupts.conf and kvm.conf with allow_unsafe_interrupts=1 and ignore_msrs=1. These are compatibility settings applied by the script, not universal Windows/macOS requirements; unsafe interrupts relax interrupt-remapping protection.", "/etc/modprobe.d/blacklist.conf: NVIDIA — nouveau/lbm-nouveau; AMD — radeon + amdgpu; Intel — i915. These vendor-wide entries may affect other cards using the same driver. The proprietary nvidia module is blocked only through /etc/modprobe.d/proxmenux-nvidia-vfio-blacklist.conf when all host NVIDIA cards are tracked for VFIO.", "/etc/udev/rules.d/10-proxmenux-vfio-bind.rules + /etc/proxmenux/vfio-bind.bdfs — NVIDIA only. The udev rule sets ATTR'{'driver_override'}'=\"vfio-pci\" at PCI ADD for tracked BDFs, including affected IOMMU-group functions. Cards outside those groups can retain the nvidia driver. Per-BDF policy does not split a hardware IOMMU group.", - "AMD only. Attempts a ROM dump from /sys/bus/pci/.../rom or ACPI VFCT into /usr/share/kvm/vbios_<card>.bin. If successful, the VM uses romfile=. A valid dump does not guarantee successful GPU initialization.", + "AMD only. Attempts a ROM dump from /sys/bus/pci/.../rom or ACPI VFCT into /usr/share/kvm/vbios_<vendor>_<device>.bin. If successful, the VM uses romfile=. A valid dump does not guarantee successful GPU initialization.", "NVIDIA only. Host NVIDIA services (nvidia-persistenced, nvidia-powerd, nvidia-fabricmanager) are stopped and disabled only when every NVIDIA GPU is assigned to VFIO. With a mixed host they remain active, together with the nvidia module, for the GPU(s) that stay native.", "update-initramfs -u -k all — only runs if any of the above actually changed." ] diff --git a/web/messages/en/docs/hardware/igpu-acceleration-lxc.json b/web/messages/en/docs/hardware/igpu-acceleration-lxc.json index 2945c0a5..678ef7bc 100644 --- a/web/messages/en/docs/hardware/igpu-acceleration-lxc.json +++ b/web/messages/en/docs/hardware/igpu-acceleration-lxc.json @@ -10,7 +10,7 @@ }, "intro": { "title": "What this does", - "body": "Adds dev<N> entries to /etc/pve/lxc/<ctid>.conf for applicable /dev/dri/*, /dev/kfd or /dev/nvidia* nodes. It starts the container and installs userspace packages for its distribution, aligning video and render groups. Application acceleration still requires compatible hardware, libraries and app configuration." + "body": "Adds dev<N> entries to /etc/pve/lxc/<ctid>.conf for applicable /dev/dri/*, /dev/kfd or /dev/nvidia* nodes. It starts the container, installs userspace packages for its distribution and, for Intel/AMD, aligns the video and render groups. Application acceleration still requires compatible hardware, libraries and app configuration." }, "compare": { "heading": "LXC sharing vs VM passthrough", @@ -78,7 +78,7 @@ }, "pickCt": { "title": "Pick an LXC container", - "body": "Lists eligible LXC containers by ID and name; OCI containers are excluded and use OCI manager Apps for devices. A running container is stopped for configuration, started for driver installation and normally returned to its original running/stopped state.", + "body": "Lists eligible LXC containers by ID and name; OCI containers are excluded and use OCI manager Apps for devices. The container is stopped if running, started for driver installation and normally returned to its original running/stopped state.", "imageAlt": "Dialog listing existing LXC containers to choose from" }, "selectGpu": { @@ -98,7 +98,7 @@ }, "applyConfig": { "title": "Apply the LXC config changes", - "body1": "Stops the container if running and edits /etc/pve/lxc/<ctid>.conf. Numbered dev<N> entries carry the chosen group IDs. The dev: device mechanism replaces manual lxc.mount.entry rules in this assistant; inspect the resulting configuration and permissions.", + "body1": "Stops the container if running and edits /etc/pve/lxc/<ctid>.conf. Numbered dev<N> entries carry the host video or render GID. Existing lxc.mount.entry bind lines for /dev/dri are replaced by dev: entries; inspect the resulting configuration and permissions.", "body2": "Example after Intel + NVIDIA on the same container:" }, "installDrivers": { @@ -127,14 +127,14 @@ }, "alignGids": { "title": "Align GIDs and restore state", - "body1": "Reads the host GIDs for video and render, using 44/104 only as fallbacks, then edits /etc/group inside the container to match. Entries such as video:44 and render:104 are examples, not universal IDs. Verify app membership and effective device permissions.", + "body1": "For Intel/AMD, reads the host GIDs for video and render, using 44/104 only as fallbacks, then edits /etc/group inside the container to match; NVIDIA-only runs skip this step. Entries such as video:44 and render:104 are examples, not universal IDs. Verify app membership and effective device permissions.", "body2": "On the normal completion path, a container that was initially stopped is stopped again; one that was running stays running. If startup or installation fails, verify its final state and the log." } }, "vendors": { "heading": "Vendor-specific notes", "intelHeading": "Intel iGPU", - "intelBody": "Intel media acceleration, including Quick Sync, depends on GPU generation, codecs and app configuration. The script shares existing nodes such as /dev/dri/card0 and /dev/dri/renderD128; numbering can differ. The host must already provide them through its native driver, for example i915.", + "intelBody": "Intel media acceleration, including Quick Sync, depends on GPU generation, codecs and app configuration. The script shares whichever of /dev/dri/card0, card1, renderD128 and renderD129 exist; other node numbers are not added. The host must already provide them through its native driver, for example i915.", "amdHeading": "AMD", "amdBody": "AMD uses DRI nodes for Mesa/VA-API. If the host exposes /dev/kfd, the script also shares it. ROCm/OpenCL workloads still require supported hardware and compatible userspace packages; sharing the device does not install a complete ROCm stack.", "nvidiaHeading": "NVIDIA", diff --git a/web/messages/en/docs/hardware/install-coral-tpu-host.json b/web/messages/en/docs/hardware/install-coral-tpu-host.json index 83acd234..dd183688 100644 --- a/web/messages/en/docs/hardware/install-coral-tpu-host.json +++ b/web/messages/en/docs/hardware/install-coral-tpu-host.json @@ -71,7 +71,7 @@ "title": "PCIe path — gasket + apex kernel modules via DKMS", "body": "Only runs if the script found a PCIe / M.2 Coral. It's the heavier of the two paths because it's compiling a kernel module for your exact running kernel.", "items": [ - "Cleanup. If a previous gasket-dkms installation left a broken package state, the script attempts to purge it before rebuilding.", + "Cleanup. Any existing gasket-dkms package is removed before rebuilding; if it is in a broken package state, the script forces its removal and purge.", "Install build deps: git, dkms, build-essential, proxmox-headers-$(uname -r)." ], "cloneIntro": "Clone the driver source. Prefers feranick/gasket-driver, falling back to google/gasket-driver if unavailable. A successful build still depends on kernel compatibility. The Google fallback receives these version-dependent patches:", @@ -132,7 +132,7 @@ "Purges the gasket-dkms, libedgetpu1-std and libedgetpu1-max apt packages, then runs apt-get autoremove --purge.", "Deletes the udev rule /etc/udev/rules.d/99-coral-apex.rules ProxMenux wrote; restores the upstream 60-gasket-dkms.rules group to its default if it's still present.", "Checks the supplementary member list of apex. If that list is empty, it attempts group removal; otherwise it retains apex and lists its members. This is not a complete check of primary-group users.", - "Removes legacy repository entries including /etc/apt/sources.list.d/coral-edgetpu.list and old keyrings named coral-edgetpu-archive-keyring.gpg. The current keyring at /etc/apt/keyrings/coral-edgetpu.gpg is not removed by this sequence.", + "Removes the repository list /etc/apt/sources.list.d/coral-edgetpu.list, the legacy coral-cloud.list and old keyrings named coral-edgetpu-archive-keyring.gpg. The current keyring at /etc/apt/keyrings/coral-edgetpu.gpg is not removed by this sequence.", "Prompts for a reboot at the end only if the PCIe path was installed — the cleanest way to flush the kernel modules. USB-only uninstalls don't need one." ], "lxcWarnTitle": "LXC containers with apex passthrough", diff --git a/web/messages/en/docs/hardware/nvidia-host.json b/web/messages/en/docs/hardware/nvidia-host.json index 28eb1736..56c40f13 100644 --- a/web/messages/en/docs/hardware/nvidia-host.json +++ b/web/messages/en/docs/hardware/nvidia-host.json @@ -10,7 +10,7 @@ }, "intro": { "title": "What this does", - "body": "ProxMenux detects the GPU and offers maintained NVIDIA branches listing its PCI ID. It blacklists nouveau, downloads the official .run installer, uses DKMS, installs nvidia-persistenced and udev rules, and offers an optional NVENC patch. Build checks assess the running kernel; successful compilation does not guarantee every app works. Existing NVIDIA LXCs can receive matching userspace libraries." + "body": "ProxMenux detects the GPU and offers maintained NVIDIA branches listing its PCI ID. It blacklists nouveau, downloads the official .run installer, uses DKMS, installs nvidia-persistenced, udev rules and the NVIDIA Container Toolkit, and offers an optional NVENC patch. Build checks assess the running kernel; successful compilation does not guarantee every app works. Existing NVIDIA LXCs are offered a userspace library update, version-matched except on Arch." }, "who": { "heading": "Who is this for?", @@ -89,7 +89,7 @@ }, "reboot": { "title": "Reboot", - "body": "Finally, the script rebuilds initramfs for all kernels and offers a reboot. Plan that restart to verify the persistent module and nouveau configuration on a fresh boot, even when the new driver already responds before reboot." + "body": "After the driver installation, the script rebuilds initramfs for all kernels; its last step offers a reboot. Plan that restart to verify the persistent module and nouveau configuration on a fresh boot, even when the new driver already responds before reboot." } }, "reinstallUninstall": { @@ -102,8 +102,8 @@ "uninstallHeading": "Uninstall — what gets removed", "uninstallIntro": "After a yes/no confirmation, the uninstall removes the following driver components:", "uninstallItems": [ - "First runs nvidia-uninstall --silent for the .run installation, then stops and disables nvidia-persistenced and nvidia-powerd. It attempts to unload nvidia_uvm, nvidia_drm, nvidia_modeset and nvidia. NVIDIA-dependent LXC workloads are affected; active clients can prevent unloading.", - "Runs apt purge on nvidia-*, libnvidia-*, cuda-* and libcudnn*, removes the DKMS source tree and the /opt/nvidia .run installer cache.", + "Stops and disables nvidia-persistenced and nvidia-powerd, attempts to unload nvidia_uvm, nvidia_drm, nvidia_modeset and nvidia, then runs nvidia-uninstall --silent for the .run installation. NVIDIA-dependent LXC workloads are affected; active clients can prevent unloading.", + "Runs apt purge on nvidia-*, libnvidia-*, cuda-* and libcudnn*, removes the DKMS source tree and the nvidia-persistenced and nvidia-patch folders under /opt/nvidia.", "Removes the modules-load config (/etc/modules-load.d/nvidia-vfio.conf) and the nouveau blacklist entries owned by ProxMenux. Legacy two-line ProxMenux blacklist files are migrated and removed too; modified or unrelated administrator files are preserved.", "Removes the udev rules (/etc/udev/rules.d/70-nvidia.rules) and clears the NVENC patch state (a field in the ProxMenux managed-installs registry, set to removed — no separate file to delete).", "Rebuilds initramfs for all kernels, runs proxmox-boot-tool refresh on systemd-boot hosts, and prompts for a reboot to finalise." diff --git a/web/messages/en/docs/hardware/switch-gpu-mode.json b/web/messages/en/docs/hardware/switch-gpu-mode.json index 8f9027e4..03e047e8 100644 --- a/web/messages/en/docs/hardware/switch-gpu-mode.json +++ b/web/messages/en/docs/hardware/switch-gpu-mode.json @@ -42,21 +42,21 @@ }, { "situation": "I just want to completely unbind a GPU from everything.", - "use": "LXC mode restores host-driver ownership; removing guest assignments still needs the relevant conflict-policy choices. This does not leave the GPU unbound from every driver." + "use": "LXC mode restores host-driver ownership; the VM conflict policy can remove hostpci entries, but LXC device entries must be removed separately. This does not leave the GPU unbound from every driver." } ] }, "prereqs": { "title": "Before you start", "assigned": "A GPU already assigned — either in a VM via VFIO or attached to at least one LXC. If you haven't assigned it yet, start from Add GPU to VM / LXC instead.", - "iommu": "IOMMU must be active on the host when switching to VM mode. Firmware settings and kernel support both matter; explicit arguments are not always necessary. If needed, the script attempts intel_iommu=on iommu=pt or amd_iommu=on using the active boot setup, with proxmox-boot-tool refresh or update-grub. Check any warnings and reboot when prompted.", + "iommu": "IOMMU must be active on the host when switching to VM mode. Firmware settings and kernel support both matter. If intel_iommu=on or amd_iommu=on is missing from the running kernel, the script adds it with iommu=pt to /etc/kernel/cmdline (ZFS-root marker) or /etc/default/grub, then runs proxmox-boot-tool refresh or update-grub. Check any warnings and reboot when prompted.", "iommuCheck": "dmesg | grep -i 'IOMMU enabled' | head -1", "reboot": "Plan for a reboot. Persistent driver and boot changes may require rebuilding initramfs and rebooting. The script presents a reboot prompt at the end.", "knowList": "Know which VMs / LXCs are using the GPU. The script will find them and ask what to do with each, but it's faster if you already know the list." }, "blocklist": { "title": "Not all GPUs are safe to pass to a VM", - "body": "The script blocks VM mode for certain device IDs, including 8086:5a84 and 8086:5a85, under its compatibility policy. If a selected GPU matches, it displays a warning. This blocklist does not prevent switching to LXC mode; other checks can still apply." + "body": "The script blocks VM mode for device IDs 8086:5a84 and 8086:5a85 under its compatibility policy. If a selected GPU matches, it stops the VM-mode switch and returns to GPU selection, or exits when it is the only GPU. This blocklist does not prevent switching to LXC mode; other checks can still apply." }, "running": { "heading": "Running the script", @@ -85,7 +85,7 @@ "intro": "Based on the current mode, the script proposes the opposite as target:", "items": [ "VM → LXC: unbind from vfio-pci, let the native driver (nvidia, amdgpu, i915) reclaim the card so LXCs can share it. On NVIDIA, the per-BDF entry is removed from /etc/udev/rules.d/10-proxmenux-vfio-bind.rules so the nvidia module reclaims the GPU after reboot.", - "LXC → VM: prepares vfio-pci ownership. AMD / Intel use native-driver blacklisting and options vfio-pci ids=…. For NVIDIA, nvidia is not globally blacklisted: per-BDF rules set driver_override=vfio-pci for the affected IOMMU-group devices. NVIDIA GPUs outside those groups can retain nvidia. Review every group member before switching." + "LXC → VM: prepares vfio-pci ownership. AMD / Intel use native-driver blacklisting and options vfio-pci ids=…. For NVIDIA, nvidia is globally blacklisted only when every host NVIDIA GPU is in VFIO; otherwise per-BDF rules set driver_override=vfio-pci for the affected IOMMU-group devices, and NVIDIA GPUs outside those groups keep nvidia. Review every group member before switching." ], "outro": "Confirm the direction or cancel." }, diff --git a/web/messages/es/docs/hardware/coral-tpu-lxc.json b/web/messages/es/docs/hardware/coral-tpu-lxc.json index c0ed7172..222c734f 100644 --- a/web/messages/es/docs/hardware/coral-tpu-lxc.json +++ b/web/messages/es/docs/hardware/coral-tpu-lxc.json @@ -6,7 +6,7 @@ "header": { "title": "Añadir Coral TPU a LXC", "description": "Comparte una Coral USB Accelerator o M.2 / Mini-PCIe con un LXC. ProxMenux configura el contenedor y el runtime Edge TPU. Esta opción solo gestiona la TPU: para Quick Sync, VA-API o NVENC, ejecuta también Añadir GPU a LXC.", - "section": "Hardware: GPUs y Coral-TPU" + "section": "Hardware: GPU y Coral-TPU" }, "intro": { "title": "Qué hace", @@ -18,7 +18,7 @@ }, "prereqs": { "title": "Antes de empezar", - "drivers": "Prepara la Coral en el host. M.2 / PCIe necesita el controlador cargado; USB, acceso al dispositivo y permisos adecuados. Consulta Instalar Coral TPU en el host. El runtime de la aplicación debe estar dentro del contenedor.", + "drivers": "Prepara la Coral en el host. M.2 / PCIe necesita el controlador cargado; USB, acceso al dispositivo y permisos adecuados. Consulta Instalar Coral TPU en el host. El script instala el runtime de la aplicación en contenedores Debian/Ubuntu; en otras distribuciones hay que instalarlo aparte.", "driversCheck": "ls /dev/apex_* 2>/dev/null ; lsusb | grep -E '1a6e:089a|18d1:9302'", "container": "Un LXC existente, preferiblemente basado en Debian / Ubuntu: la instalación usa apt-get. Los contenedores de otras distribuciones pueden usar el modo de solo acceso al dispositivo, que omite la instalación APT de libedgetpu. Resulta útil si la aplicación ya incluye ese runtime, como la imagen Docker de Frigate.", "downtime": "Prepara una breve interrupción del contenedor. El script lo detiene para cambiar la configuración y lo arranca para instalar el runtime. No necesita reiniciar el host para estos cambios." @@ -44,7 +44,7 @@ }, "gpuHint": { "title": "Sugerencia opcional de acceso a GPU", - "body": "Si detecta GPU pero no está configurada para el contenedor, recomienda Añadir GPU a LXC para decodificación de vídeo (Quick Sync, VA-API o NVDEC). Pregunta si quieres continuar solo con Coral: Sí continúa; No sale para que configures antes la GPU." + "body": "Si detecta GPU pero no está configurada para el contenedor, recomienda Añadir GPU a LXC para decodificación de vídeo (Quick Sync, VA-API o NVENC). Pregunta si quieres continuar solo con Coral: Sí continúa; No sale para que configures antes la GPU." }, "usb": { "title": "Configurar el acceso USB del LXC", @@ -55,7 +55,7 @@ "pcie": { "title": "Configurar el acceso M.2 / PCIe del LXC", "body1": "Si detecta una Coral M.2 / PCIe y existe /dev/apex_0, usa la API dev de Proxmox para gestionar cgroup2 tanto en LXC privilegiados como sin privilegios:", - "body2": "Si acabas de ejecutar Instalar Coral en el host y aún no existe /dev/apex_0, utiliza la configuración clásica cgroup2 y un montaje opcional con create=file. Esto no crea un dispositivo funcional por sí solo:", + "body2": "Si acabas de ejecutar Instalar Coral en el host y aún no existe /dev/apex_0, escribe un montaje con create=file y, solo si el número mayor de apex aparece en /proc/devices, una regla clásica cgroup2. Ninguno de los dos crea un dispositivo funcional:", "rebootTitle": "Reinicia el host primero si acabas de instalar los drivers de Coral", "rebootBody": "El montaje alternativo no carga apex en el host. Carga el controlador o reinicia tras instalarlo y comprueba el dispositivo. Cuando esté listo, ejecuta otra vez el script para aplicar la entrada moderna y reinicia el contenedor." }, @@ -92,7 +92,7 @@ "troubleshoot": { "heading": "Solución de problemas", "apexTitle": "El LXC arranca pero falta /dev/apex_0", - "apexBody": "Comprueba el controlador del host: lsmod | grep apex. Si falta, prueba modprobe apex o reinicia tras instalarlo. Cuando exista /dev/apex_0 en el host, verifica la configuración del LXC y reinícialo con pct stop <ctid> && pct start <ctid>.", + "apexBody": "Comprueba el controlador del host: lsmod | grep apex. Si falta, prueba modprobe apex o reinicia tras instalarlo. Cuando exista /dev/apex_0 en el host, verifica la configuración del LXC (vuelve a ejecutar el script si solo se escribieron las entradas alternativas) y reinícialo con pct stop <ctid> && pct start <ctid>.", "replugTitle": "Coral USB desaparece al conectarla a otro puerto", "replugBody": "Comprueba que el LXC monta /dev/bus/usb y no el enlace /dev/coral. La configuración debe incluir lxc.mount.entry: /dev/bus/usb dev/bus/usb ..., sin depender directamente de /dev/coral. Vuelve a ejecutar el script si conservas una configuración antigua.", "alpineTitle": "Alpine / Arch / RHEL / SUSE: runtime sin instalar", diff --git a/web/messages/es/docs/hardware/gpu-vm-passthrough.json b/web/messages/es/docs/hardware/gpu-vm-passthrough.json index 28befb6c..f8897dd6 100644 --- a/web/messages/es/docs/hardware/gpu-vm-passthrough.json +++ b/web/messages/es/docs/hardware/gpu-vm-passthrough.json @@ -6,7 +6,7 @@ "header": { "title": "Añadir GPU a VM (Passthrough)", "description": "Detecta GPU Intel, AMD o NVIDIA y prepara acceso directo desde una VM. Revisa IOMMU y los dispositivos asociados, configura VFIO y la VM y aplica sus reglas de compatibilidad. Comprueba siempre todos los dispositivos afectados.", - "section": "Hardware: GPUs y Coral-TPU" + "section": "Hardware: GPU y Coral-TPU" }, "intro": { "title": "Qué hace", @@ -45,7 +45,7 @@ "heading": "Proceso paso a paso", "detect": { "title": "Detectar GPUs y comprobar IOMMU", - "body": "Comprueba IOMMU activo, no solo parámetros. Con confirmación aparte puede añadir intel_iommu=on o amd_iommu=on con iommu=pt. Elige /etc/kernel/cmdline si encuentra una marca ZFS como root=ZFS=; si no, /etc/default/grub. Es una heurística, no una prueba del cargador. Reinicia para activar el cambio y revisa los grupos reales.", + "body": "Considera IOMMU activo solo si el kernel en ejecución tiene intel_iommu=on o amd_iommu=on y existen grupos IOMMU. Si el parámetro ya está guardado para el próximo arranque, continúa en modo pendiente de reinicio; si no, con confirmación aparte puede añadirlo con iommu=pt. Elige /etc/kernel/cmdline si encuentra una marca ZFS como root=ZFS=; si no, /etc/default/grub. Es una heurística, no una prueba del cargador. Reinicia para activar el cambio y revisa los grupos reales.", "tipTitle": "¿Ya configuraste la postinstalación?", "tipBody": "Si el soporte VFIO IOMMU ya está configurado y activo en el kernel, supera la comprobación. Guardarlo para el próximo arranque no prueba que esté activo ahora.", "imageAlt": "Lista de GPUs detectadas con fabricante y dirección PCI" @@ -58,10 +58,10 @@ "Una sola GPU. La consola local puede perder su salida al reservarla para VFIO. Comprueba antes el acceso SSH o web desde otro equipo.", "Política de reinicio AMD. Lee /sys/bus/pci/devices/<pci>/reset_method. Una APU o dedicada sin FLR queda bloqueada por la política del asistente; un subtipo desconocido sin FLR exige confirmación. No demuestra que sea imposible en todo entorno.", "Estado D3cold. El asistente bloquea tarjetas AMD que indican D3cold por riesgo de fallo al activarlas. Revisa alimentación y firmware antes de continuar.", - "Grupo IOMMU. Lee /sys/kernel/iommu_groups/ e incluye todos los miembros que no sean puentes, incluso controladores de red o discos. Revísalos antes de confirmar. Si falta reiniciar para activar IOMMU, solo puede planificar inicialmente la función GPU; comprueba el aislamiento después." + "Grupo IOMMU. Lee /sys/kernel/iommu_groups/ e incluye todos los miembros que no sean puentes, incluso controladores de red o discos. El script no los muestra, así que revisa el grupo antes de confirmar. Si falta reiniciar para activar IOMMU, solo puede planificar inicialmente la función GPU; comprueba el aislamiento después." ], "audioIntro": "Audio asociado. Dos casos según dónde esté el controlador:", - "audioDgpu": "GPU dedicada: el audio HDMI suele ocupar la función .1 de la misma ranura y se incluye al detectarlo. Si el host lo usaba, pierde acceso al reservarlo para la VM.", + "audioDgpu": "GPU dedicada: el audio HDMI suele ocupar la función .1 del mismo slot y se incluye al detectarlo. Si el host lo usaba, pierde acceso al reservarlo para la VM.", "audioIgpu": "Sin función de audio .1: puede estar en otro dispositivo, como 00:1f.3. Lista controladores y sus drivers, por ejemplo snd_hda_intel. Por defecto no selecciona ninguno; elige solo los necesarios." }, "pickVm": { @@ -75,22 +75,22 @@ "items": [ "GPU disponible. Continúa sin retirar asignaciones.", "Asignada a otra VM. Detén primero la VM origen. Puedes conservar sus entradas y desactivar el arranque automático o retirarlas conservando el arranque automático. Si ya usa vfio-pci y no requiere cambios del host, el traspaso VM→VM puede evitar reiniciar el host.", - "Usada por LXC. En contenedores normales elige conservar configuración y desactivar arranque automático o retirar dispositivos y reglas antiguas lxc.cgroup2.devices.allow/lxc.mount.entry, conservando arranque automático. OCI conserva la configuración y se detiene sin arranque automático; retira su GPU desde Apps. La detección por familia puede afectar a otras tarjetas similares." + "Usada por LXC. En contenedores normales elige conservar configuración y desactivar arranque automático o eliminar la configuración de la GPU y conservar arranque automático. Esta opción elimina las entradas devN y, en AMD/Intel, también las reglas antiguas lxc.mount.entry de /dev/dri y lxc.cgroup2.devices.allow. OCI conserva la configuración y se detiene sin arranque automático; elimina su GPU desde Apps del gestor OCI. La detección por familia puede afectar a otras tarjetas similares." ], - "imageAlt": "Diálogo que ofrece quitar la GPU de un LXC antes de asignarla a la VM", + "imageAlt": "Diálogo que ofrece eliminar la GPU de un LXC antes de asignarla a la VM", "smartTitle": "Revisión de audio asociado al retirar la GPU", - "smartBody": "Después ofrece una lista de audio posiblemente sin uso en la VM origen. Desmarca lo que aún necesite. Por ejemplo, puede conservar 02:00.1 y ofrecer retirar 00:1f.3. La lista decide qué audio adicional se quita; no garantiza toda asociación entre pantalla y audio." + "smartBody": "Después ofrece una lista de audio posiblemente sin uso en la VM origen. Desmarca lo que aún necesite. Por ejemplo, puede conservar 02:00.1 y ofrecer retirar 00:1f.3. La lista decide qué audio adicional se elimina; no garantiza toda asociación entre pantalla y audio." }, "audioPick": { "title": "Si no hay audio .1, selecciona los controladores que necesites", "body": "Solo ocurre para iGPUs Intel y setups similares con audio separado. Una checklist muestra cada controlador de audio PCI del host (excluyendo cualquiera ya en el grupo IOMMU de la GPU), etiquetado con su driver actual. Selecciona los que quieras — o ninguno, si la VM no necesita audio del hardware del host.", "imageAlt": "Diálogo checklist con cada controlador de audio PCI del host (BDF + driver) cuando la GPU no tiene audio hermano .1", "warnTitle": "No selecciones audio que necesita el host", - "warnBody": "Asignar audio puede quitar acceso al host; tampoco puede pertenecer a otra VM activa a la vez. Deja audio opcional sin seleccionar si no lo necesitas y revisa sus asignaciones. El pitido de consola no procede necesariamente del audio PCI." + "warnBody": "Asignar audio puede dejar al host sin acceso; tampoco puede pertenecer a otra VM activa a la vez. Deja audio opcional sin seleccionar si no lo necesitas y revisa sus asignaciones. El pitido de consola no procede necesariamente del audio PCI." }, "summary": { "title": "Revisar el resumen de confirmación", - "body": "Revisa el plan final, sobre todo cada miembro del grupo IOMMU, y cancela si no es correcto. Detiene los cambios principales, pero no revierte una activación de IOMMU confirmada anteriormente.", + "body": "Revisa el plan final y cancela si no es correcto. Muestra el grupo IOMMU y su número de dispositivos, no cada miembro, así que revisa el grupo antes. Cancelar detiene los cambios principales, pero no revierte una activación de IOMMU confirmada anteriormente.", "imageAlt": "Resumen de cambios previstos en host y VM" }, "hostApply": { @@ -102,7 +102,7 @@ "Escribe /etc/modprobe.d/iommu_unsafe_interrupts.conf y kvm.conf con allow_unsafe_interrupts=1 e ignore_msrs=1. Son ajustes del script, no requisitos universales de Windows/macOS; permitir interrupciones inseguras reduce esa protección.", "/etc/modprobe.d/blacklist.conf: NVIDIA — nouveau/lbm-nouveau; AMD — radeon + amdgpu; Intel — i915. Estas reglas por fabricante pueden afectar a otras tarjetas con el mismo controlador. El módulo nvidia se bloquea solo mediante /etc/modprobe.d/proxmenux-nvidia-vfio-blacklist.conf cuando todas las NVIDIA del host están reservadas a VFIO.", "/etc/udev/rules.d/10-proxmenux-vfio-bind.rules + /etc/proxmenux/vfio-bind.bdfs — Solo NVIDIA. Aplica ATTR'{'driver_override'}'=\"vfio-pci\" al evento PCI ADD de BDF registrados, incluidas funciones del grupo IOMMU afectado. Fuera de esos grupos puede conservarse nvidia. La política por BDF no divide grupos IOMMU.", - "Solo AMD. Intenta extraer ROM de /sys/bus/pci/.../rom o ACPI VFCT a /usr/share/kvm/vbios_<card>.bin. Si funciona, usa romfile=. Una ROM válida no garantiza que la GPU se inicialice.", + "Solo AMD. Intenta extraer ROM de /sys/bus/pci/.../rom o ACPI VFCT a /usr/share/kvm/vbios_<vendor>_<device>.bin. Si funciona, usa romfile=. Una ROM válida no garantiza que la GPU se inicialice.", "Solo NVIDIA. Detiene y deshabilita nvidia-persistenced, nvidia-powerd, nvidia-fabricmanager solo cuando todas las NVIDIA están reservadas para VFIO. En uso mixto conserva los servicios y nvidia para las tarjetas nativas.", "update-initramfs -u -k all — solo se ejecuta si algo de lo de arriba ha cambiado realmente." ] @@ -148,7 +148,7 @@ }, "revert": { "heading": "Deshacer cambios manualmente", - "intro": "Detén la VM y retira solo sus asignaciones PCI correspondientes desde Hardware o mediante el índice explícito del ejemplo. Quitarla de la VM no devuelve la GPU al controlador del host. Para eso usa Cambiar modo de GPU y revisa los invitados afectados antes de confirmar." + "intro": "Detén la VM y retira solo sus asignaciones PCI correspondientes desde Hardware o mediante el índice explícito del ejemplo. Eliminarla de la VM no devuelve la GPU al controlador del host. Para eso usa Cambiar modo de GPU y revisa los invitados afectados antes de confirmar." }, "related": { "heading": "Relacionado", diff --git a/web/messages/es/docs/hardware/igpu-acceleration-lxc.json b/web/messages/es/docs/hardware/igpu-acceleration-lxc.json index e2af6e06..c290b0b3 100644 --- a/web/messages/es/docs/hardware/igpu-acceleration-lxc.json +++ b/web/messages/es/docs/hardware/igpu-acceleration-lxc.json @@ -6,11 +6,11 @@ "header": { "title": "Añadir GPU a LXC", "description": "Comparte acceso a GPU con LXC mediante dispositivos del host. El controlador sigue en el host; las aplicaciones usan bibliotecas compatibles y requieren su propia configuración.", - "section": "Hardware: GPUs y Coral-TPU" + "section": "Hardware: GPU y Coral-TPU" }, "intro": { "title": "Qué hace", - "body": "Añade entradas dev<N> a /etc/pve/lxc/<ctid>.conf para los dispositivos /dev/dri/*, /dev/kfd o /dev/nvidia* que correspondan. Arranca el LXC e instala paquetes según la distribución, alineando los grupos video y render. La aceleración requiere hardware y bibliotecas compatibles y configurar la app." + "body": "Añade entradas dev<N> a /etc/pve/lxc/<ctid>.conf para los dispositivos /dev/dri/*, /dev/kfd o /dev/nvidia* que correspondan. Arranca el LXC, instala paquetes según la distribución y, en Intel/AMD, alinea los grupos video y render. La aceleración requiere hardware y bibliotecas compatibles y configurar la app." }, "compare": { "heading": "Compartir con LXC frente a asignar a una VM", @@ -78,7 +78,7 @@ }, "pickCt": { "title": "Elige un contenedor LXC", - "body": "Lista los LXC admitidos por ID y nombre. Excluye OCI: sus dispositivos se gestionan en Apps del gestor OCI. Detiene el LXC para configurarlo, lo arranca para instalar y normalmente recupera su estado inicial.", + "body": "Lista los LXC admitidos por ID y nombre. Excluye OCI: sus dispositivos se gestionan en Apps del gestor OCI. Detiene el LXC si está en marcha, lo arranca para instalar y normalmente recupera su estado inicial.", "imageAlt": "Selección de un contenedor LXC existente" }, "selectGpu": { @@ -98,7 +98,7 @@ }, "applyConfig": { "title": "Aplica los cambios de config del LXC", - "body1": "Detiene el LXC y edita /etc/pve/lxc/<ctid>.conf. Las entradas dev<N> incluyen los GID elegidos. Usa el mecanismo dev: en lugar de reglas manuales lxc.mount.entry. Revisa configuración y permisos resultantes.", + "body1": "Detiene el LXC si está en marcha y edita /etc/pve/lxc/<ctid>.conf. Las entradas dev<N> llevan el GID video o render del host. Sustituye las líneas lxc.mount.entry de /dev/dri por entradas dev:. Revisa configuración y permisos resultantes.", "body2": "Ejemplo después de Intel + NVIDIA en el mismo contenedor:" }, "installDrivers": { @@ -127,14 +127,14 @@ }, "alignGids": { "title": "Alinear GIDs y restaurar el estado", - "body1": "Lee los GID del host para video y render; usa 44/104 solo como alternativa. Ajusta /etc/group dentro del LXC. video:44 y render:104 son ejemplos, no valores universales. Verifica grupos de la app y permisos efectivos.", + "body1": "En Intel/AMD, lee los GID del host para video y render; usa 44/104 solo como alternativa. Ajusta /etc/group dentro del LXC; si solo hay NVIDIA, omite este paso. video:44 y render:104 son ejemplos, no valores universales. Verifica grupos de la app y permisos efectivos.", "body2": "Al completar normalmente, vuelve a detener el LXC si inicialmente estaba parado; si estaba funcionando, lo deja activo. Ante un fallo de arranque o instalación, revisa el estado final y el registro." } }, "vendors": { "heading": "Notas por fabricante", "intelHeading": "iGPU Intel", - "intelBody": "La aceleración Intel, incluido Quick Sync, depende de generación, códecs y configuración de la app. Comparte nodos existentes como /dev/dri/card0 y /dev/dri/renderD128, cuya numeración puede variar. Debe crearlos antes el controlador nativo del host, como i915.", + "intelBody": "La aceleración Intel, incluido Quick Sync, depende de generación, códecs y configuración de la app. Comparte los nodos que existan entre /dev/dri/card0, card1, renderD128 y renderD129; no añade otros números. Debe crearlos antes el controlador nativo del host, como i915.", "amdHeading": "AMD", "amdBody": "AMD usa DRI para Mesa/VA-API. Si existe /dev/kfd en el host, lo comparte también. ROCm/OpenCL requiere hardware y paquetes compatibles; compartir el dispositivo no instala toda la pila ROCm.", "nvidiaHeading": "NVIDIA", diff --git a/web/messages/es/docs/hardware/install-coral-tpu-host.json b/web/messages/es/docs/hardware/install-coral-tpu-host.json index 85a5c84a..afd64935 100644 --- a/web/messages/es/docs/hardware/install-coral-tpu-host.json +++ b/web/messages/es/docs/hardware/install-coral-tpu-host.json @@ -6,7 +6,7 @@ "header": { "title": "Instalar Coral TPU en el host", "description": "Prepara el host Proxmox para usar Coral y compartirla con LXC. Detecta M.2 / Mini-PCIe, USB o ambos y ejecuta el proceso correspondiente: módulos DKMS para PCIe y runtime Google Edge TPU para USB.", - "section": "Hardware: GPUs y Coral-TPU" + "section": "Hardware: GPU y Coral-TPU" }, "intro": { "title": "Qué hace", @@ -71,7 +71,7 @@ "title": "PCIe: módulos gasket y apex mediante DKMS", "body": "Solo se ejecuta si detecta una Coral PCIe/M.2. Compila módulos para el kernel que está ejecutando el host.", "items": [ - "Limpieza. Si una instalación anterior de gasket-dkms dejó paquetes en mal estado, intenta purgarla antes de compilar.", + "Limpieza. Elimina cualquier paquete gasket-dkms existente antes de compilar; si está en mal estado, fuerza su eliminación y lo purga.", "Dependencias de compilación: git, dkms, build-essential, proxmox-headers-$(uname -r)." ], "cloneIntro": "Clona el controlador. Prefiere feranick/gasket-driver y recurre a google/gasket-driver si no está disponible. Compilar requiere compatibilidad con el kernel. Al código de Google le aplica estos parches según la versión:", @@ -115,7 +115,7 @@ "Antes de indicar que ha terminado correctamente, el script verifica que el paquete antiguo ya no existe y que el gestor de paquetes está en buen estado." ], "warningTitle": "Confirma primero el hardware", - "warningBody": "Si esperabas una Coral PCIe/M.2 y no aparece, cancela la limpieza y revisa tarjeta, ranura y firmware." + "warningBody": "Si esperabas una Coral PCIe/M.2 y no aparece, cancela la limpieza y revisa tarjeta, slot y firmware." }, "reinstallUninstall": { "heading": "Reinstalar o desinstalar", @@ -128,11 +128,11 @@ "uninstallIntro": "Requiere confirmación. Las apps LXC que usan /dev/apex_* pueden perder acceso durante la desinstalación o tras reiniciar. El proceso es:", "uninstallItems": [ "Intenta descargar apex y gasket; si están en uso pueden permanecer cargados.", - "Quita cada entrada gasket/<version> registrada en DKMS para que los módulos no vuelvan en la siguiente instalación de kernel.", + "Elimina cada entrada gasket/<version> registrada en DKMS para que los módulos no vuelvan en la siguiente instalación de kernel.", "Purga gasket-dkms, libedgetpu1-std y libedgetpu1-max y ejecuta apt-get autoremove --purge.", "Elimina /etc/udev/rules.d/99-coral-apex.rules y restaura el grupo predeterminado de 60-gasket-dkms.rules si aún existe.", "Consulta los miembros secundarios de apex. Si la lista está vacía, intenta eliminar el grupo; si no, conserva apex y muestra sus miembros. No comprueba por completo los usuarios que lo tienen como grupo principal.", - "Elimina repositorios antiguos como /etc/apt/sources.list.d/coral-edgetpu.list y llaveros llamados coral-edgetpu-archive-keyring.gpg. Este proceso no elimina el llavero actual /etc/apt/keyrings/coral-edgetpu.gpg.", + "Elimina la lista del repositorio /etc/apt/sources.list.d/coral-edgetpu.list, la antigua coral-cloud.list y los llaveros antiguos llamados coral-edgetpu-archive-keyring.gpg. Este proceso no elimina el llavero actual /etc/apt/keyrings/coral-edgetpu.gpg.", "Ofrece reiniciar solo si estaba instalado PCIe para descargar los módulos que sigan activos. Desinstalar solo USB no requiere reinicio." ], "lxcWarnTitle": "Contenedores LXC con passthrough de apex", @@ -172,7 +172,7 @@ "dkmsFailTitle": "Falla la compilación DKMS tras actualizar el kernel", "dkmsFailBody": "Una causa posible son cabeceras ausentes. Comprueba proxmox-headers-$(uname -r) con dpkg -l proxmox-headers-$(uname -r). Instálalas si faltan y revisa incompatibilidades en el registro. Al repetir ejecuta cleanup_broken_gasket_dkms, pero limpiar no garantiza compatibilidad con cualquier kernel.", "apexMissTitle": "/dev/apex_0 no está después del reinicio", - "apexMissBody": "Comprueba la detección PCIe y que el módulo corresponda al kernel activo. Prueba modprobe apex y consulta dmesg | grep -iE \"apex|gasket\". Fallos de compilación, carga o configuración de ranura/firmware pueden impedir crear el dispositivo.", + "apexMissBody": "Comprueba la detección PCIe y que el módulo corresponda al kernel activo. Prueba modprobe apex y consulta dmesg | grep -iE \"apex|gasket\". Fallos de compilación, carga o configuración de slot/firmware pueden impedir crear el dispositivo.", "lxcMissTitle": "El host ve /dev/apex_0, pero el LXC no", "lxcMissBody": "Ver el nodo no prueba que funcione. Verifica acceso en el host, montaje LXC, reglas cgroup y permisos de UID/GID. Consulta Añadir Coral TPU a un LXC.", "usbUnreachTitle": "USB Accelerator detectado pero Frigate / TFLite no llega a él", diff --git a/web/messages/es/docs/hardware/nvidia-host.json b/web/messages/es/docs/hardware/nvidia-host.json index 6f647bde..51a259e5 100644 --- a/web/messages/es/docs/hardware/nvidia-host.json +++ b/web/messages/es/docs/hardware/nvidia-host.json @@ -6,11 +6,11 @@ "header": { "title": "Instalar drivers NVIDIA en el host", "description": "Instala NVIDIA en el host Proxmox VE. Filtra las ramas mantenidas según el ID PCI de la GPU, comprueba la compilación, usa DKMS, gestiona nouveau e instala persistencia. También puede actualizar bibliotecas de LXC con acceso NVIDIA.", - "section": "Hardware: GPUs y Coral-TPU" + "section": "Hardware: GPU y Coral-TPU" }, "intro": { "title": "Qué hace", - "body": "Detecta la GPU y ofrece ramas mantenidas que incluyen su ID PCI. Bloquea nouveau, descarga el instalador oficial .run, usa DKMS e instala nvidia-persistenced y reglas udev, con parche NVENC opcional. Las comprobaciones de compilación evalúan el kernel actual; compilar no garantiza que todas las apps funcionen. Puede actualizar bibliotecas de LXC NVIDIA." + "body": "Detecta la GPU y ofrece ramas mantenidas que incluyen su ID PCI. Bloquea nouveau, descarga el instalador oficial .run, usa DKMS, instala nvidia-persistenced, reglas udev y NVIDIA Container Toolkit, con parche NVENC opcional. Las comprobaciones de compilación evalúan el kernel actual; compilar no garantiza que todas las apps funcionen. Ofrece actualizar las bibliotecas de los LXC NVIDIA existentes, con la misma versión salvo en Arch." }, "who": { "heading": "¿Para quién es esto?", @@ -60,7 +60,7 @@ "title": "Preparar el sistema", "body": "Durante la preparación, el script:", "items": [ - "Comprueba repositorios antes de quitar o instalar componentes. Si no hay suscripción y solo está Enterprise, pide permiso para usar no-subscription; si rechazas el cambio, detiene la instalación.", + "Comprueba repositorios antes de eliminar o instalar componentes. Si no hay suscripción y solo está Enterprise, pide permiso para usar no-subscription; si rechazas el cambio, detiene la instalación.", "Instala pve-headers-$(uname -r) (o proxmox-headers-$(uname -r)), build-essential y dkms.", "Crea /etc/modprobe.d/proxmenux-nouveau-blacklist.conf, gestionado por ProxMenux, con blacklist nouveau y options nouveau modeset=0. Registra si añadió la línea complementaria a blacklist.conf e intenta descargar nouveau.", "Escribe /etc/modules-load.d/nvidia-vfio.conf con nvidia y nvidia_uvm para que los módulos se carguen pronto en el arranque." @@ -89,7 +89,7 @@ }, "reboot": { "title": "Reiniciar", - "body": "Regenera initramfs para todos los kernels y ofrece reiniciar. Planifica ese reinicio para verificar módulos y bloqueo de nouveau en un arranque limpio, aunque el controlador ya responda antes." + "body": "Tras instalar el controlador, regenera initramfs para todos los kernels; el último paso ofrece reiniciar. Planifica ese reinicio para verificar módulos y bloqueo de nouveau en un arranque limpio, aunque el controlador ya responda antes." } }, "reinstallUninstall": { @@ -102,9 +102,9 @@ "uninstallHeading": "Desinstalar — qué se elimina", "uninstallIntro": "Tras confirmar con Sí/No, desinstala estos componentes:", "uninstallItems": [ - "Ejecuta nvidia-uninstall --silent para la instalación .run, detiene y deshabilita nvidia-persistenced y nvidia-powerd e intenta descargar nvidia_uvm, nvidia_drm, nvidia_modeset y nvidia. Afecta a las apps LXC que usan NVIDIA; clientes activos pueden impedir la descarga.", - "Ejecuta apt purge sobre nvidia-*, libnvidia-*, cuda-* y libcudnn*, quita el árbol fuente DKMS y la caché del instalador .run de /opt/nvidia.", - "Quita la configuración de carga de módulos (/etc/modules-load.d/nvidia-vfio.conf) y las entradas de blacklist de nouveau creadas por ProxMenux. También migra y elimina los archivos antiguos de ProxMenux con las dos líneas conocidas; conserva los archivos modificados o ajenos del administrador.", + "Detiene y desactiva nvidia-persistenced y nvidia-powerd, intenta descargar nvidia_uvm, nvidia_drm, nvidia_modeset y nvidia y después ejecuta nvidia-uninstall --silent para la instalación .run. Afecta a las apps LXC que usan NVIDIA; clientes activos pueden impedir la descarga.", + "Ejecuta apt purge sobre nvidia-*, libnvidia-*, cuda-* y libcudnn*, elimina el árbol fuente DKMS y las carpetas nvidia-persistenced y nvidia-patch de /opt/nvidia.", + "Elimina la configuración de carga de módulos (/etc/modules-load.d/nvidia-vfio.conf) y las entradas de blacklist de nouveau creadas por ProxMenux. También migra y elimina los archivos antiguos de ProxMenux con las dos líneas conocidas; conserva los archivos modificados o ajenos del administrador.", "Retira /etc/udev/rules.d/70-nvidia.rules y marca el estado NVENC como removed en el registro de instalaciones gestionadas; no hay un archivo de estado separado.", "Regenera initramfs para todos los kernels, ejecuta proxmox-boot-tool refresh según la configuración de arranque y solicita reiniciar." ], diff --git a/web/messages/es/docs/hardware/switch-gpu-mode.json b/web/messages/es/docs/hardware/switch-gpu-mode.json index e764fe81..35f973e8 100644 --- a/web/messages/es/docs/hardware/switch-gpu-mode.json +++ b/web/messages/es/docs/hardware/switch-gpu-mode.json @@ -6,7 +6,7 @@ "header": { "title": "Cambiar modo GPU (VM ↔ LXC)", "description": "Cambia una GPU asignada entre acceso directo a VM y uso compartido en LXC. ProxMenux gestiona controlador, VFIO, módulos e initramfs y pregunta cómo tratar los invitados afectados. Revisa las opciones y verifica el resultado tras reiniciar.", - "section": "Hardware: GPUs y Coral-TPU" + "section": "Hardware: GPU y Coral-TPU" }, "intro": { "title": "Qué hace", @@ -42,21 +42,21 @@ }, { "situation": "Quiero retirar todas las asignaciones de esta GPU.", - "use": "El modo LXC devuelve la GPU al controlador del host; retira las asignaciones de invitados con las opciones de conflicto correspondientes. No deja la GPU sin controlador." + "use": "El modo LXC devuelve la GPU al controlador del host; la política de conflictos de VM puede eliminar las entradas hostpci, pero las entradas de dispositivo de los LXC hay que eliminarlas aparte. No deja la GPU sin controlador." } ] }, "prereqs": { "title": "Antes de empezar", "assigned": "Una GPU ya asignada a una VM por VFIO o a un LXC. Para la primera asignación, usa Añadir GPU a VM / LXC.", - "iommu": "IOMMU debe estar activo en el host al pasar a modo VM. Depende del firmware y del kernel; no siempre hacen falta parámetros explícitos. Si es necesario, intenta añadir intel_iommu=on iommu=pt o amd_iommu=on según el arranque, con proxmox-boot-tool refresh o update-grub. Revisa los avisos y reinicia cuando lo solicite.", + "iommu": "IOMMU debe estar activo en el host al pasar a modo VM. Depende del firmware y del kernel. Si al kernel en ejecución le falta intel_iommu=on o amd_iommu=on, el script lo añade con iommu=pt a /etc/kernel/cmdline (marca de raíz ZFS) o a /etc/default/grub y ejecuta proxmox-boot-tool refresh o update-grub. Revisa los avisos y reinicia cuando lo solicite.", "iommuCheck": "dmesg | grep -i 'IOMMU enabled' | head -1", "reboot": "Planifica un reinicio. Los cambios persistentes de controlador y arranque pueden requerir regenerar initramfs y reiniciar. El script muestra la solicitud al terminar.", "knowList": "Identifica las VM y LXC que usan la GPU. El script detecta referencias y pregunta qué hacer con cada invitado; conocerlos facilita revisar la selección." }, "blocklist": { "title": "No todas las GPUs son seguras para pasar a una VM", - "body": "El script bloquea el modo VM para ciertos ID, incluidos 8086:5a84 y 8086:5a85, por su política de compatibilidad. Si coincide la GPU, muestra un aviso. Esta lista no impide pasar a LXC, aunque siguen aplicándose otras comprobaciones." + "body": "El script bloquea el modo VM para los ID 8086:5a84 y 8086:5a85 por su política de compatibilidad. Si coincide la GPU elegida, detiene el cambio a modo VM y vuelve a la selección de GPU, o sale si es la única GPU. Esta lista no impide pasar a LXC, aunque siguen aplicándose otras comprobaciones." }, "running": { "heading": "Ejecutar el script", @@ -85,7 +85,7 @@ "intro": "Según el modo actual, el script propone el opuesto como destino:", "items": [ "VM → LXC: retira la asignación a vfio-pci para que el controlador nativo (nvidia, amdgpu, i915) pueda usar la GPU. En NVIDIA elimina las entradas BDF correspondientes de /etc/udev/rules.d/10-proxmenux-vfio-bind.rules para el próximo arranque.", - "LXC → VM: prepara la asignación a vfio-pci. AMD / Intel bloquea el controlador nativo y usa options vfio-pci ids=…. En NVIDIA, nvidia no se bloquea globalmente: las reglas BDF aplican driver_override=vfio-pci a los dispositivos de los grupos IOMMU afectados. Las GPU externas a esos grupos pueden conservar nvidia. Revisa cada miembro del grupo." + "LXC → VM: prepara la asignación a vfio-pci. AMD / Intel bloquea el controlador nativo y usa options vfio-pci ids=…. En NVIDIA, nvidia solo se bloquea globalmente si todas las GPU NVIDIA del host están en VFIO; si no, las reglas BDF aplican driver_override=vfio-pci a los dispositivos de los grupos IOMMU afectados y las GPU NVIDIA externas a esos grupos conservan nvidia. Revisa cada miembro del grupo." ], "outro": "Confirma la dirección o cancela." }, @@ -98,7 +98,7 @@ "keepPolicy": "Conservar configuración y desactivar arranque automático", "keepEffect": "pct set CTID -onboot 0 o qm set VMID -onboot 0. Conserva las entradas de GPU.", "keepWhen": "Si piensas reutilizar el invitado cuando la GPU vuelva al modo anterior. Opción predeterminada conservadora.", - "removePolicy": "Quitar GPU de la config", + "removePolicy": "Eliminar la GPU de la configuración", "removeEffect": "Retira las entradas hostpci / dev identificadas y las referencias antiguas compatibles.", "removeWhen": "Elígelo si el invitado debe funcionar sin GPU. Revisa antes la aplicación: el uso alternativo de CPU depende de ella y retirar el dispositivo no la reconfigura automáticamente.", "imageAlt": "Diálogo para elegir qué hacer con cada VM o LXC afectado" @@ -133,7 +133,7 @@ "stillVfioTitle": "La GPU sigue mostrando vfio-pci tras cambiar a modo LXC", "stillVfioBody": "Un módulo VFIO cargado no demuestra qué controlador usa esta GPU. Revisa la tarjeta y si finalizaron update-initramfs y el reinicio. lsmod | grep vfio solo lista módulos. En AMD / Intel revisa vfio.conf; en NVIDIA, /etc/proxmenux/vfio-bind.bdfs y /etc/udev/rules.d/10-proxmenux-vfio-bind.rules. Corrige las reglas antiguas antes de ejecutar update-initramfs -u -k all y reiniciar.", "vmFailTitle": "Una VM no arranca tras pasar la GPU a LXC", - "vmFailBody": "Comprueba si conserva referencias hostpci obsoletas. La política Quitar GPU de la configuración puede retirarlas durante el cambio previsto; revisa la dirección antes de repetir el script para no invertir el modo por error. También puedes retirar la asignación en Proxmox con la VM parada.", + "vmFailBody": "Comprueba si conserva referencias hostpci obsoletas. La política Eliminar la GPU de la configuración puede retirarlas durante el cambio previsto; revisa la dirección antes de repetir el script para no invertir el modo por error. También puedes retirar la asignación en Proxmox con la VM parada.", "smiFailTitle": "nvidia-smi muestra «Driver/library version mismatch» al volver a LXC", "smiFailBody": "Compara el módulo NVIDIA cargado con las bibliotecas instaladas, también en LXC. Iguala versiones: reiniciar carga el módulo instalado, pero no corrige paquetes incompatibles. Recargar con modprobe -r nvidia y modprobe nvidia requiere detener los clientes GPU y puede fallar si hay módulos dependientes en uso.", "logTitle": "Registro de ejecución", diff --git a/web/messages/fr/docs/hardware/coral-tpu-lxc.json b/web/messages/fr/docs/hardware/coral-tpu-lxc.json index 3d689170..f93f60c7 100644 --- a/web/messages/fr/docs/hardware/coral-tpu-lxc.json +++ b/web/messages/fr/docs/hardware/coral-tpu-lxc.json @@ -18,7 +18,7 @@ }, "prereqs": { "title": "Avant de commencer", - "drivers": "Préparez le Coral sur l’hôte. M.2 / PCIe nécessite le pilote hôte chargé ; USB nécessite l’accès au périphérique et les droits adaptés. Voir Installer Coral TPU sur l’hôte. L’environnement d’exécution doit être disponible dans le conteneur.", + "drivers": "Préparez le périphérique Coral sur l’hôte. M.2 / PCIe nécessite le pilote hôte chargé ; USB nécessite l’accès au périphérique et les droits adaptés. Voir Installer Coral TPU sur l’hôte. Le script installe l’environnement d’exécution de l’application dans les conteneurs Debian/Ubuntu ; les autres distributions doivent le fournir séparément.", "driversCheck": "ls /dev/apex_* 2>/dev/null ; lsusb | grep -E '1a6e:089a|18d1:9302'", "container": "Un LXC existant, idéalement basé sur Debian / Ubuntu : l’installation utilise apt-get. Les conteneurs d’autres distributions peuvent choisir le mode passthrough uniquement, sans installation APT de libedgetpu. Utile si l’application inclut déjà cet environnement, comme l’image Docker Frigate.", "downtime": "Prévoyez une courte interruption du conteneur. Le script l’arrête pour modifier sa configuration puis le démarre pour installer l’environnement d’exécution. Ces modifications ne nécessitent pas de redémarrage de l’hôte." @@ -44,7 +44,7 @@ }, "gpuHint": { "title": "Suggestion facultative pour l’accès GPU", - "body": "Si un GPU est détecté mais non configuré pour ce conteneur, le dialogue recommande Ajouter un GPU à LXC pour le décodage vidéo, par exemple Quick Sync, VA-API ou NVDEC. Continuer avec Coral uniquement : Oui poursuit ; Non quitte pour configurer d’abord le GPU." + "body": "Si un GPU est détecté mais non configuré pour ce conteneur, un dialogue recommande Ajouter un GPU à LXC pour le décodage vidéo matériel, par exemple Quick Sync, VA-API ou NVENC. Il demande s’il faut continuer avec Coral uniquement : Oui poursuit la configuration du TPU ; Non quitte pour vous permettre de configurer d’abord le GPU." }, "usb": { "title": "Configurer l’accès USB du LXC", @@ -55,7 +55,7 @@ "pcie": { "title": "Configurer l’accès M.2 / PCIe du LXC", "body1": "Si un Coral M.2 / PCIe est détecté et que /dev/apex_0 existe, le script utilise l’API Proxmox dev pour gérer cgroup2 dans les LXC privilégiés et non privilégiés :", - "body2": "Si /dev/apex_0 n’existe pas encore après Installer Coral sur l’hôte, le script utilise cgroup2 et un montage bind facultatif avec create=file. Cela ne crée pas à lui seul un périphérique fonctionnel :", + "body2": "Si /dev/apex_0 est absent après Installer Coral sur l’hôte, le script écrit un montage bind avec create=file et, uniquement lorsque le numéro majeur apex figure dans /proc/devices, une règle cgroup2 classique. Aucun des deux ne crée un périphérique fonctionnel :", "rebootTitle": "Redémarrez l'hôte d'abord si vous venez d'installer des pilotes Coral", "rebootBody": "Le montage de secours ne charge pas apex sur l’hôte. Chargez le pilote ou redémarrez après installation, puis vérifiez le périphérique. Relancez ensuite le script pour appliquer l’entrée moderne et redémarrez le conteneur." }, @@ -92,7 +92,7 @@ "troubleshoot": { "heading": "Dépannage", "apexTitle": "LXC démarré, mais /dev/apex_0 absent", - "apexBody": "Vérifiez le pilote hôte : lsmod | grep apex. S’il manque, essayez modprobe apex ou redémarrez après installation. Une fois /dev/apex_0 présent sur l’hôte, vérifiez l’entrée LXC puis redémarrez avec pct stop <ctid> && pct start <ctid>.", + "apexBody": "Vérifiez d’abord le pilote hôte : lsmod | grep apex. S’il manque, essayez modprobe apex ou redémarrez après l’installation du pilote. Une fois /dev/apex_0 présent sur l’hôte, vérifiez l’entrée de périphérique LXC (relancez le script si seules les entrées de secours ont été écrites) puis redémarrez le conteneur avec pct stop <ctid> && pct start <ctid>.", "replugTitle": "Coral USB disparaît après reconnexion sur un autre port", "replugBody": "Vérifiez que le LXC monte /dev/bus/usb plutôt que le lien /dev/coral. Sa configuration doit contenir lxc.mount.entry: /dev/bus/usb dev/bus/usb ... sans dépendre directement de /dev/coral. Relancez le script si la configuration est ancienne.", "alpineTitle": "Alpine / Arch / RHEL / SUSE : environnement non installé", diff --git a/web/messages/fr/docs/hardware/gpu-vm-passthrough.json b/web/messages/fr/docs/hardware/gpu-vm-passthrough.json index b313f133..9f5d246f 100644 --- a/web/messages/fr/docs/hardware/gpu-vm-passthrough.json +++ b/web/messages/fr/docs/hardware/gpu-vm-passthrough.json @@ -45,7 +45,7 @@ "heading": "Étapes de la procédure", "detect": { "title": "Détecter les GPU et vérifier IOMMU", - "body": "Vérifie IOMMU actif, pas seulement les paramètres. Après confirmation séparée, peut ajouter intel_iommu=on ou amd_iommu=on avec iommu=pt. Choisit /etc/kernel/cmdline si un marqueur ZFS comme root=ZFS= existe, sinon /etc/default/grub. Cette heuristique ne prouve pas le chargeur utilisé. Redémarrez puis vérifiez les groupes réels.", + "body": "Considère IOMMU comme actif uniquement si le noyau en cours a intel_iommu=on ou amd_iommu=on et que des groupes IOMMU existent. Si le paramètre est déjà enregistré pour le prochain démarrage, il continue en mode redémarrage en attente ; sinon, une étape confirmée séparément peut l’ajouter avec iommu=pt. Son heuristique de fichier d’amorçage utilise /etc/kernel/cmdline lorsqu’un marqueur de racine ZFS comme root=ZFS= s’y trouve ; sinon, elle utilise /etc/default/grub. Cette heuristique ne prouve pas le chargeur d’amorçage réellement utilisé. Un IOMMU nouvellement configuré prend effet après redémarrage ; vérifiez ensuite les groupes réels.", "tipTitle": "Post-installation déjà configurée ?", "tipBody": "Si la prise en charge VFIO IOMMU est configurée et active dans le noyau, le contrôle passe. Un réglage prévu pour le prochain démarrage ne prouve pas son activation actuelle.", "imageAlt": "Liste des GPU détectés avec l'adresse du fournisseur et du PCI" @@ -58,7 +58,7 @@ "Un seul GPU. La console locale peut perdre son affichage lorsque VFIO le réserve. Vérifiez d’abord l’accès SSH ou web depuis un autre ordinateur.", "Politique de réinitialisation AMD. Lit /sys/bus/pci/devices/<pci>/reset_method. APU ou carte dédiée sans FLR est bloquée par la politique de l’assistant ; un sous-type inconnu sans FLR exige confirmation. Cela ne prouve pas une impossibilité universelle.", "État D3cold. L’assistant bloque les cartes AMD signalant D3cold en raison du risque d’échec d’activation. Vérifiez alimentation et micrologiciel.", - "Groupe IOMMU. Lit /sys/kernel/iommu_groups/ et inclut tous les membres sauf les ponts, parfois des contrôleurs réseau ou de stockage. Vérifiez avant confirmation. Si IOMMU attend un redémarrage, seule la fonction GPU est initialement prévue ; contrôlez l’isolation après." + "Analyse du groupe IOMMU. Lit /sys/kernel/iommu_groups/ et inclut dans le plan de la VM tous les membres sauf les ponts, éventuellement des contrôleurs réseau ou de stockage. Le script ne les liste pas : vérifiez vous-même le groupe avant de confirmer. Si IOMMU attend un redémarrage, les groupes réels ne sont pas disponibles et le plan ne contient initialement que la fonction GPU sélectionnée ; vérifiez l’isolation après le redémarrage." ], "audioIntro": "Audio associé. Deux cas selon l’emplacement du contrôleur :", "audioDgpu": "GPU dédié : l’audio HDMI occupe souvent la fonction .1 du même emplacement PCI et est inclus si détecté. Si l’hôte l’utilisait, il en perd l’accès lors de la réservation à la VM.", @@ -75,7 +75,7 @@ "items": [ "GPU disponible. Continue sans retirer d’attribution.", "Attribué à une autre VM. Arrêtez d’abord la source. Vous pouvez garder ses entrées et désactiver le démarrage automatique ou retirer les entrées en conservant le démarrage automatique. Avec vfio-pci déjà actif et sans changement hôte, le transfert VM→VM peut éviter un redémarrage hôte.", - "Utilisé par LXC. Pour les conteneurs ordinaires, garder la configuration et désactiver le démarrage automatique ou retirer les périphériques et règles anciennes lxc.cgroup2.devices.allow/lxc.mount.entry en conservant le démarrage automatique. OCI conserve la configuration, est arrêté sans démarrage automatique ; retirez son GPU dans Apps. La détection par famille peut inclure d’autres cartes." + "GPU utilisé par LXC. Pour les conteneurs ordinaires, choisissez garder la configuration GPU et désactiver le démarrage automatique ou retirer la configuration du périphérique GPU en conservant le démarrage automatique. Le retrait supprime les entrées devN et, pour AMD/Intel, aussi les anciennes règles /dev/dri lxc.mount.entry et lxc.cgroup2.devices.allow. Les conteneurs OCI conservent leur configuration et sont arrêtés avec le démarrage automatique désactivé ; retirez leur GPU via OCI manager Apps. La détection des conflits se fait par famille de périphériques GPU et peut inclure d’autres cartes de cette famille." ], "imageAlt": "Boîte de dialogue offrant de supprimer le GPU d'un LXC avant de l'assigner au VM", "smartTitle": "Vérifier l’audio associé au retrait du GPU", @@ -90,7 +90,7 @@ }, "summary": { "title": "Examiner le résumé de la confirmation", - "body": "Vérifiez le plan final, surtout chaque membre IOMMU, et annulez s’il est incorrect. Empêche les changements principaux, sans annuler une activation IOMMU précédemment confirmée.", + "body": "Vérifiez le plan final de l’hôte et de la VM, et annulez s’il est incorrect. Il affiche le groupe IOMMU et son nombre de périphériques, pas chaque membre : vérifiez donc le groupe au préalable. L’annulation empêche les changements principaux, sans annuler une modification de la configuration d’amorçage IOMMU confirmée séparément auparavant.", "imageAlt": "Résumé des modifications prévues sur hôte et VM" }, "hostApply": { @@ -102,7 +102,7 @@ "Écrit /etc/modprobe.d/iommu_unsafe_interrupts.conf et kvm.conf avec allow_unsafe_interrupts=1 et ignore_msrs=1. Réglages du script, pas des exigences universelles Windows/macOS ; les interruptions non sûres réduisent la protection du remappage.", "/etc/modprobe.d/blacklist.conf: NVIDIA — nouveau/lbm-nouveau; AMD — radeon + amdgpu; Intel — i915. Ces règles globales au fabricant peuvent toucher d’autres cartes utilisant le même pilote. Le module nvidia est bloqué uniquement via /etc/modprobe.d/proxmenux-nvidia-vfio-blacklist.conf lorsque toutes les NVIDIA de l’hôte sont réservées à VFIO.", "/etc/udev/rules.d/10-proxmenux-vfio-bind.rules + /etc/proxmenux/vfio-bind.bdfs — NVIDIA seulement. Applique ATTR'{'driver_override'}'=\"vfio-pci\" au PCI ADD des BDF enregistrés, y compris les fonctions du groupe IOMMU concerné. Hors de ces groupes, nvidia peut rester actif. La politique BDF ne divise pas les groupes matériels.", - "AMD seulement. Tente d’extraire la ROM de /sys/bus/pci/.../rom ou ACPI VFCT vers /usr/share/kvm/vbios_<card>.bin. Si réussi, utilise romfile=. Une ROM valide ne garantit pas l’initialisation GPU.", + "AMD seulement. Tente d’extraire la ROM de /sys/bus/pci/.../rom ou ACPI VFCT vers /usr/share/kvm/vbios_<vendor>_<device>.bin. En cas de réussite, la VM utilise romfile=. Une extraction valide ne garantit pas la réussite de l’initialisation du GPU.", "NVIDIA seulement. Arrête et désactive nvidia-persistenced, nvidia-powerd, nvidia-fabricmanager seulement si toutes les NVIDIA sont réservées à VFIO. En usage mixte, conserve les services et nvidia pour les cartes natives.", "update-initramfs -u -k all — ne fonctionne que si l'un des éléments ci-dessus a réellement changé." ] diff --git a/web/messages/fr/docs/hardware/igpu-acceleration-lxc.json b/web/messages/fr/docs/hardware/igpu-acceleration-lxc.json index 0fef4eb1..437226db 100644 --- a/web/messages/fr/docs/hardware/igpu-acceleration-lxc.json +++ b/web/messages/fr/docs/hardware/igpu-acceleration-lxc.json @@ -10,7 +10,7 @@ }, "intro": { "title": "Fonctionnement", - "body": "Ajoute dev<N> à /etc/pve/lxc/<ctid>.conf pour les périphériques /dev/dri/*, /dev/kfd ou /dev/nvidia* concernés. Démarre le conteneur, installe les paquets adaptés et aligne video et render. L’accélération exige matériel, bibliothèques et configuration d’application compatibles." + "body": "Ajoute des entrées dev<N> à /etc/pve/lxc/<ctid>.conf pour les nœuds /dev/dri/*, /dev/kfd ou /dev/nvidia* concernés. Démarre le conteneur, installe les paquets userspace de sa distribution et, pour Intel/AMD, aligne les groupes video et render. L’accélération des applications exige toujours matériel, bibliothèques et configuration d’application compatibles." }, "compare": { "heading": "Partage LXC ou attribution directe à une VM", @@ -78,7 +78,7 @@ }, "pickCt": { "title": "Choisir un conteneur LXC", - "body": "Liste les LXC admissibles par ID et nom. Les conteneurs OCI utilisent Apps du gestionnaire OCI pour leurs périphériques. Le conteneur est arrêté pour configuration, démarré pour installation, puis retrouve normalement son état initial.", + "body": "Liste les conteneurs LXC admissibles par ID et nom ; les conteneurs OCI sont exclus et utilisent OCI manager Apps pour leurs périphériques. Le conteneur est arrêté s’il est en cours d’exécution, démarré pour l’installation des pilotes, puis retrouve normalement son état initial (en marche/arrêté).", "imageAlt": "Sélection d’un conteneur LXC existant" }, "selectGpu": { @@ -98,7 +98,7 @@ }, "applyConfig": { "title": "Appliquer les modifications de configuration LXC", - "body1": "Arrête le conteneur et modifie /etc/pve/lxc/<ctid>.conf. Les entrées dev<N> portent les GID choisis. Le mécanisme dev: remplace ici les règles manuelles lxc.mount.entry. Vérifiez configuration et droits.", + "body1": "Arrête le conteneur s’il est en cours d’exécution et modifie /etc/pve/lxc/<ctid>.conf. Les entrées numérotées dev<N> portent le GID hôte de video ou render. Les lignes bind lxc.mount.entry existantes pour /dev/dri sont remplacées par des entrées dev: ; vérifiez la configuration et les droits obtenus.", "body2": "Exemple après Intel + NVIDIA sur le même conteneur:" }, "installDrivers": { @@ -127,14 +127,14 @@ }, "alignGids": { "title": "Aligner les GID et restaurer l'état", - "body1": "Lit les GID hôte de video et render, avec 44/104 comme valeurs de secours, puis adapte /etc/group dans le conteneur. video:44 et render:104 sont des exemples. Vérifiez les groupes de l’application et les droits effectifs.", + "body1": "Pour Intel/AMD, lit les GID hôte de video et render, avec 44/104 uniquement comme valeurs de secours, puis modifie /etc/group dans le conteneur pour qu’ils correspondent ; les exécutions NVIDIA seul sautent cette étape. Des entrées comme video:44 et render:104 sont des exemples, pas des ID universels. Vérifiez l’appartenance de l’application aux groupes et les droits effectifs sur les périphériques.", "body2": "À la fin normale, un conteneur initialement arrêté est de nouveau arrêté ; un conteneur actif reste actif. En cas d’échec de démarrage ou d’installation, vérifiez l’état final et le journal." } }, "vendors": { "heading": "Notes par fabricant", "intelHeading": "Intel iGPU", - "intelBody": "L’accélération Intel, dont Quick Sync, dépend de la génération, des codecs et de l’application. Partage les nœuds existants comme /dev/dri/card0 et /dev/dri/renderD128, dont les numéros peuvent varier. Le pilote natif de l’hôte, par exemple i915, doit les fournir.", + "intelBody": "L’accélération multimédia Intel, dont Quick Sync, dépend de la génération du GPU, des codecs et de la configuration de l’application. Le script partage ceux de /dev/dri/card0, card1, renderD128 et renderD129 qui existent ; les autres numéros de nœud ne sont pas ajoutés. L’hôte doit déjà les fournir via son pilote natif, par exemple i915.", "amdHeading": "AMD", "amdBody": "AMD utilise DRI pour Mesa/VA-API. Si /dev/kfd existe sur l’hôte, le partage aussi. ROCm/OpenCL exige matériel et bibliothèques compatibles ; partager le périphérique n’installe pas toute la pile ROCm.", "nvidiaHeading": "NVIDIA", diff --git a/web/messages/fr/docs/hardware/install-coral-tpu-host.json b/web/messages/fr/docs/hardware/install-coral-tpu-host.json index fdb584bf..82ea0831 100644 --- a/web/messages/fr/docs/hardware/install-coral-tpu-host.json +++ b/web/messages/fr/docs/hardware/install-coral-tpu-host.json @@ -71,7 +71,7 @@ "title": "PCIe : modules gasket et apex via DKMS", "body": "Exécuté uniquement pour un Coral PCIe/M.2 détecté. Compile les modules pour le noyau actuellement exécuté sur l’hôte.", "items": [ - "Nettoyage. Si une installation précédente de gasket-dkms a laissé les paquets dans un état défectueux, le script tente de la purger avant compilation.", + "Nettoyage. Tout paquet gasket-dkms existant est supprimé avant la recompilation ; s’il est dans un état de paquet défectueux, le script force sa suppression et sa purge.", "Dépendances de compilation : git, dkms, build-essential, proxmox-headers-$(uname -r)." ], "cloneIntro": "Clone les sources du pilote. Préfère feranick/gasket-driver, sinon utilise google/gasket-driver. La compilation dépend de la compatibilité du noyau. Les sources Google reçoivent ces correctifs selon la version :", @@ -132,7 +132,7 @@ "Purge gasket-dkms, libedgetpu1-std et libedgetpu1-max, puis exécute apt-get autoremove --purge.", "Supprime /etc/udev/rules.d/99-coral-apex.rules et restaure le groupe par défaut de 60-gasket-dkms.rules si ce fichier existe encore.", "Vérifie les membres supplémentaires de apex. Si la liste est vide, tente de supprimer le groupe ; sinon conserve apex et liste ses membres. Ce n’est pas une vérification complète des utilisateurs dont c’est le groupe principal.", - "Supprime les anciens dépôts dont /etc/apt/sources.list.d/coral-edgetpu.list et les trousseaux nommés coral-edgetpu-archive-keyring.gpg. Le trousseau actuel /etc/apt/keyrings/coral-edgetpu.gpg reste présent.", + "Supprime la liste de dépôts /etc/apt/sources.list.d/coral-edgetpu.list, l’ancien coral-cloud.list et les anciens trousseaux nommés coral-edgetpu-archive-keyring.gpg. Le trousseau actuel /etc/apt/keyrings/coral-edgetpu.gpg n’est pas supprimé par cette séquence.", "Propose un redémarrage seulement si PCIe était installé pour retirer les modules encore actifs. USB seul ne nécessite pas de redémarrage." ], "lxcWarnTitle": "Récipients LXC avec passage apex", diff --git a/web/messages/fr/docs/hardware/nvidia-host.json b/web/messages/fr/docs/hardware/nvidia-host.json index 7d83c4ab..0488c75c 100644 --- a/web/messages/fr/docs/hardware/nvidia-host.json +++ b/web/messages/fr/docs/hardware/nvidia-host.json @@ -10,7 +10,7 @@ }, "intro": { "title": "Fonctionnement", - "body": "Détecte le GPU et propose des branches maintenues incluant son ID PCI. Bloque nouveau, télécharge l’installateur officiel .run, utilise DKMS et installe nvidia-persistenced avec les règles udev ; correctif NVENC facultatif. La compilation vérifie le noyau actuel sans garantir toutes les applications. Les LXC NVIDIA peuvent recevoir des bibliothèques correspondantes." + "body": "ProxMenux détecte le GPU et propose des branches NVIDIA maintenues incluant son ID PCI. Il bloque nouveau, télécharge l’installateur officiel .run, utilise DKMS, installe nvidia-persistenced, les règles udev et le NVIDIA Container Toolkit, et propose un correctif NVENC facultatif. Les vérifications de compilation portent sur le noyau en cours ; une compilation réussie ne garantit pas que toutes les applications fonctionnent. Les LXC NVIDIA existants se voient proposer une mise à jour des bibliothèques userspace, de version correspondante sauf sous Arch." }, "who": { "heading": "C'est pour qui ?", @@ -89,7 +89,7 @@ }, "reboot": { "title": "Redémarrer", - "body": "Reconstruit initramfs pour tous les noyaux et propose un redémarrage. Prévoyez ce redémarrage pour vérifier modules et configuration nouveau au démarrage, même si le pilote répond déjà." + "body": "Après l’installation du pilote, le script reconstruit initramfs pour tous les noyaux ; sa dernière étape propose un redémarrage. Prévoyez ce redémarrage pour vérifier la configuration persistante des modules et la configuration nouveau lors d’un nouveau démarrage, même si le nouveau pilote répond déjà avant le redémarrage." } }, "reinstallUninstall": { @@ -102,8 +102,8 @@ "uninstallHeading": "Désinstaller — ce qui est enlevé", "uninstallIntro": "Après confirmation Oui/Non, retire les composants suivants :", "uninstallItems": [ - "Exécute nvidia-uninstall --silent pour l’installation .run, arrête et désactive nvidia-persistenced et nvidia-powerd, puis tente de décharger nvidia_uvm, nvidia_drm, nvidia_modeset et nvidia. Les applications LXC NVIDIA sont affectées ; des clients actifs peuvent empêcher le déchargement.", - "Exécute apt purge sur nvidia-*, libnvidia-*, cuda-* et libcudnn*, supprime l'arborescence des sources DKMS et le cache d'installation /opt/nvidia .run.", + "Arrête et désactive nvidia-persistenced et nvidia-powerd, tente de décharger nvidia_uvm, nvidia_drm, nvidia_modeset et nvidia, puis exécute nvidia-uninstall --silent pour l’installation .run. Les charges de travail LXC dépendant de NVIDIA sont affectées ; des clients actifs peuvent empêcher le déchargement.", + "Exécute apt purge sur nvidia-*, libnvidia-*, cuda-* et libcudnn*, supprime l'arborescence des sources DKMS et les dossiers nvidia-persistenced et nvidia-patch sous /opt/nvidia.", "Supprime la configuration de chargement des modules (/etc/modules-load.d/nvidia-vfio.conf) et les entrées de liste noire de nouveau gérées par ProxMenux. Les anciens fichiers ProxMenux de liste noire à deux lignes sont également migrés puis supprimés. Les fichiers modifiés ou indépendants de l’administrateur sont conservés.", "Retire /etc/udev/rules.d/70-nvidia.rules et marque NVENC removed dans le registre des installations gérées ; aucun fichier d’état séparé.", "Reconstruit initramfs pour tous les noyaux, exécute proxmox-boot-tool refresh selon l’amorçage et propose un redémarrage." diff --git a/web/messages/fr/docs/hardware/switch-gpu-mode.json b/web/messages/fr/docs/hardware/switch-gpu-mode.json index d4d32803..5367aaec 100644 --- a/web/messages/fr/docs/hardware/switch-gpu-mode.json +++ b/web/messages/fr/docs/hardware/switch-gpu-mode.json @@ -42,21 +42,21 @@ }, { "situation": "Je veux retirer toutes les affectations de ce GPU.", - "use": "Le mode LXC rend le GPU au pilote hôte ; retirez les affectations des invités via les choix de conflit correspondants. Le GPU reste associé à un pilote." + "use": "Le mode LXC rend le GPU au pilote hôte ; la politique de conflit VM peut retirer les entrées hostpci, mais les entrées de périphérique LXC doivent être retirées séparément. Le GPU reste associé à un pilote." } ] }, "prereqs": { "title": "Avant de commencer", "assigned": "Un GPU déjà attribué à une VM via VFIO ou à un LXC. Pour la première affectation, utilisez Ajouter un GPU à VM / LXC.", - "iommu": "IOMMU doit être actif sur l’hôte pour passer au mode VM. Firmware et noyau doivent le permettre ; les paramètres explicites ne sont pas toujours nécessaires. Si besoin, le script tente intel_iommu=on iommu=pt ou amd_iommu=on selon le système d’amorçage, avec proxmox-boot-tool refresh ou update-grub. Vérifiez les avertissements et redémarrez si demandé.", + "iommu": "IOMMU doit être actif sur l’hôte pour passer au mode VM. Les réglages du firmware et la prise en charge par le noyau comptent tous les deux. Si intel_iommu=on ou amd_iommu=on manque dans le noyau en cours, le script l’ajoute avec iommu=pt à /etc/kernel/cmdline (marqueur de racine ZFS) ou à /etc/default/grub, puis exécute proxmox-boot-tool refresh ou update-grub. Vérifiez les éventuels avertissements et redémarrez si demandé.", "iommuCheck": "dmesg | grep -i 'IOMMU enabled' | head -1", "reboot": "Prévoyez un redémarrage. Les changements persistants de pilote et d’amorçage peuvent nécessiter de reconstruire initramfs puis de redémarrer. Le script le demande à la fin.", "knowList": "Identifiez les VM et LXC utilisant le GPU. Le script détecte les références et demande quoi faire pour chaque invité ; connaître la liste facilite la vérification." }, "blocklist": { "title": "Tous les GPU ne sont pas sûrs de passer à un VM", - "body": "Le script bloque le mode VM pour certains identifiants, dont 8086:5a84 et 8086:5a85, selon sa politique de compatibilité. Une correspondance déclenche un avertissement. Cette liste n’empêche pas de passer au mode LXC ; d’autres contrôles restent possibles." + "body": "Le script bloque le mode VM pour les identifiants de périphérique 8086:5a84 et 8086:5a85 selon sa politique de compatibilité. Si un GPU sélectionné correspond, il interrompt le passage en mode VM et revient à la sélection du GPU, ou quitte s’il s’agit du seul GPU. Cette liste de blocage n’empêche pas de passer au mode LXC ; d’autres contrôles peuvent encore s’appliquer." }, "running": { "heading": "Exécuter le script", @@ -85,7 +85,7 @@ "intro": "Basé sur le mode actuel, le script propose le contraire comme cible:", "items": [ "VM → LXC : retire l’affectation à vfio-pci pour permettre au pilote natif (nvidia, amdgpu, i915) de prendre en charge le GPU. Pour NVIDIA, supprime les entrées BDF correspondantes de /etc/udev/rules.d/10-proxmenux-vfio-bind.rules au prochain démarrage.", - "LXC → VM : prépare l’affectation à vfio-pci. AMD / Intel bloque le pilote natif et utilise options vfio-pci ids=…. Pour NVIDIA, nvidia n’est pas bloqué globalement : les règles BDF appliquent driver_override=vfio-pci aux périphériques des groupes IOMMU concernés. Les GPU hors de ces groupes peuvent conserver nvidia. Vérifiez chaque membre." + "LXC → VM : prépare l’affectation à vfio-pci. AMD / Intel bloquent le pilote natif et utilisent options vfio-pci ids=…. Pour NVIDIA, nvidia n’est bloqué globalement que si chaque GPU NVIDIA de l’hôte est en VFIO ; sinon, des règles par BDF appliquent driver_override=vfio-pci aux périphériques des groupes IOMMU concernés, et les GPU NVIDIA hors de ces groupes conservent nvidia. Vérifiez chaque membre du groupe avant de basculer." ], "outro": "Confirmez la direction ou annulez." }, diff --git a/web/messages/it/docs/hardware/coral-tpu-lxc.json b/web/messages/it/docs/hardware/coral-tpu-lxc.json index 4560119e..f730c27b 100644 --- a/web/messages/it/docs/hardware/coral-tpu-lxc.json +++ b/web/messages/it/docs/hardware/coral-tpu-lxc.json @@ -18,7 +18,7 @@ }, "prereqs": { "title": "Prima di iniziare", - "drivers": "Prepara Coral sull’host. M.2 / PCIe richiede il driver host caricato; USB richiede accesso al dispositivo e permessi adeguati. Vedi Installa Coral TPU sull’host. Il runtime dell’applicazione deve essere disponibile nel container.", + "drivers": "Prepara il dispositivo Coral sull’host. M.2 / PCIe richiede il driver host caricato; USB richiede accesso al dispositivo e permessi adeguati. Vedi Installa Coral TPU sull’host. Lo script installa il runtime dell’applicazione nei container Debian/Ubuntu; le altre distribuzioni devono fornirlo separatamente.", "driversCheck": "ls /dev/apex_* 2>/dev/null ; lsusb | grep -E '1a6e:089a|18d1:9302'", "container": "Un LXC esistente, preferibilmente basato su Debian / Ubuntu: l’installazione usa apt-get. I container di altre distribuzioni possono usare la modalità solo passthrough, che salta l’installazione APT di libedgetpu. Utile se l’applicazione include già il runtime, come l’immagine Docker Frigate.", "downtime": "Prevedi una breve interruzione del container. Lo script lo ferma per configurarlo e lo avvia per installare il runtime. Queste modifiche non richiedono il riavvio dell’host." @@ -44,7 +44,7 @@ }, "gpuHint": { "title": "Suggerimento facoltativo per l’accesso GPU", - "body": "Se rileva un GPU non configurato per il container, un dialogo consiglia Aggiungi GPU a LXC per decodifica video, come Quick Sync, VA-API o NVDEC. Alla domanda se proseguire solo con Coral, Sì continua e No esce per configurare prima il GPU." + "body": "Se viene rilevato un GPU non configurato per questo container, un dialogo consiglia Aggiungi GPU a LXC per la decodifica video hardware, come Quick Sync, VA-API o NVENC. Chiede se proseguire solo con Coral: Sì continua la configurazione del TPU; No esce per permetterti di configurare prima il GPU." }, "usb": { "title": "Configurare l’accesso USB del LXC", @@ -55,7 +55,7 @@ "pcie": { "title": "Configurare l’accesso M.2 / PCIe del LXC", "body1": "Se rileva Coral M.2 / PCIe ed esiste /dev/apex_0, usa l’API Proxmox dev per gestire cgroup2 nei LXC privilegiati e non privilegiati:", - "body2": "Se /dev/apex_0 non esiste ancora dopo Installa Coral sull’host, usa cgroup2 e un bind mount facoltativo con create=file. Questo non crea da solo un dispositivo funzionante:", + "body2": "Se /dev/apex_0 è assente dopo Installa Coral sull’host, lo script scrive un bind mount con create=file e, solo quando il numero major di apex è elencato in /proc/devices, una regola cgroup2 classica. Nessuno dei due crea un dispositivo funzionante:", "rebootTitle": "Riavviare l'host prima se hai appena installato i driver Coral", "rebootBody": "Il montaggio alternativo non carica apex sull’host. Carica il driver o riavvia dopo l’installazione e verifica il dispositivo. Poi riesegui lo script per applicare la voce moderna e riavvia il container." }, @@ -92,7 +92,7 @@ "troubleshoot": { "heading": "Risoluzione dei problemi", "apexTitle": "LXC avviato, ma manca /dev/apex_0", - "apexBody": "Verifica il driver host: lsmod | grep apex. Se manca, prova modprobe apex o riavvia dopo l’installazione. Quando /dev/apex_0 esiste sull’host, verifica la voce LXC e riavvia con pct stop <ctid> && pct start <ctid>.", + "apexBody": "Verifica prima il driver host: lsmod | grep apex. Se manca, prova modprobe apex o riavvia dopo l’installazione del driver. Quando /dev/apex_0 esiste sull’host, verifica la voce del dispositivo LXC (riesegui lo script se sono state scritte solo le voci di ripiego) e riavvia il container con pct stop <ctid> && pct start <ctid>.", "replugTitle": "Coral USB scompare dopo la riconnessione a un’altra porta", "replugBody": "Verifica che il LXC monti /dev/bus/usb anziché il link /dev/coral. La configurazione deve contenere lxc.mount.entry: /dev/bus/usb dev/bus/usb ... senza dipendere direttamente da /dev/coral. Riesegui lo script se la configurazione è vecchia.", "alpineTitle": "Alpine / Arch / RHEL / SUSE: runtime non installato", diff --git a/web/messages/it/docs/hardware/gpu-vm-passthrough.json b/web/messages/it/docs/hardware/gpu-vm-passthrough.json index 30ae8678..1441584b 100644 --- a/web/messages/it/docs/hardware/gpu-vm-passthrough.json +++ b/web/messages/it/docs/hardware/gpu-vm-passthrough.json @@ -45,7 +45,7 @@ "heading": "Procedura passo per passo", "detect": { "title": "Rileva GPU e controlla IOMMU", - "body": "Verifica IOMMU attivo, non solo i parametri. Con conferma separata può aggiungere intel_iommu=on o amd_iommu=on con iommu=pt. Usa /etc/kernel/cmdline con un marcatore ZFS come root=ZFS=, altrimenti /etc/default/grub. È un’euristica, non prova del bootloader. Riavvia per attivare e verifica i gruppi reali.", + "body": "Considera IOMMU attivo solo quando il kernel in esecuzione ha intel_iommu=on o amd_iommu=on ed esistono gruppi IOMMU. Se il parametro è già salvato per il prossimo avvio, prosegue in modalità riavvio in sospeso; altrimenti un passaggio confermato separatamente può aggiungerlo con iommu=pt. La sua euristica per il file di avvio usa /etc/kernel/cmdline quando vi si trova un marcatore di root ZFS come root=ZFS=; altrimenti usa /etc/default/grub. Questa euristica non prova quale sia il bootloader effettivo. L’IOMMU appena configurato ha effetto dopo il riavvio; verifica poi i gruppi reali.", "tipTitle": "Hai già configurato la post-installazione?", "tipBody": "Se il supporto VFIO IOMMU è già configurato e attivo nel kernel, il controllo passa. Un’impostazione per il prossimo avvio non prova che sia attivo ora.", "imageAlt": "Elenco delle GPU rilevate con indirizzo fornitore e PCI" @@ -58,7 +58,7 @@ "Una sola GPU. La console locale può perdere l’uscita quando VFIO la riserva. Verifica prima l’accesso SSH o web da un altro computer.", "Politica di reset AMD. Legge /sys/bus/pci/devices/<pci>/reset_method. APU o scheda dedicata senza FLR viene bloccata dalla politica dell’assistente; un sottotipo sconosciuto senza FLR richiede conferma. Non prova un’impossibilità universale.", "Stato D3cold. Blocca schede AMD che indicano D3cold per il rischio di mancata attivazione. Verifica alimentazione e firmware.", - "Gruppo IOMMU. Legge /sys/kernel/iommu_groups/ e include tutti i membri non bridge, anche controller di rete o dischi. Verifica prima di confermare. Se IOMMU attende un riavvio, pianifica inizialmente solo la funzione GPU; verifica poi l’isolamento." + "Analisi del gruppo IOMMU. Legge /sys/kernel/iommu_groups/ e include nel piano della VM tutti i membri non bridge, eventualmente controller di rete o di archiviazione. Lo script non li elenca, quindi verifica tu stesso il gruppo prima di confermare. Se IOMMU attende un riavvio, i gruppi reali non sono disponibili e il piano contiene inizialmente solo la funzione GPU selezionata; verifica l’isolamento dopo il riavvio." ], "audioIntro": "Audio associato. Due casi secondo la posizione del controller:", "audioDgpu": "GPU dedicata: l’audio HDMI occupa spesso la funzione .1 dello stesso slot PCI ed è incluso se rilevato. Se l’host lo usava, perde l’accesso riservandolo alla VM.", @@ -75,7 +75,7 @@ "items": [ "GPU disponibile. Prosegue senza rimuovere assegnazioni.", "Assegnata a un’altra VM. Arresta prima la sorgente. Puoi mantenere le voci disattivando l’avvio automatico oppure rimuoverle mantenendo l’avvio automatico. Con vfio-pci già attivo e nessuna modifica host necessaria, il trasferimento VM→VM può evitare il riavvio host.", - "Usata da LXC. Nei container normali scegli mantenere la configurazione e disattivare l’avvio automatico o rimuovere dispositivi e vecchie regole lxc.cgroup2.devices.allow/lxc.mount.entry, mantenendo l’avvio automatico. OCI conserva la configurazione e viene fermato senza avvio automatico; rimuovi la GPU da Apps. Il rilevamento per famiglia può includere altre schede." + "GPU usata da LXC. Nei container normali scegli mantenere la configurazione GPU e disattivare l’avvio automatico o rimuovere la configurazione del dispositivo GPU mantenendo l’avvio automatico. La rimozione elimina le voci devN e, per AMD/Intel, anche le vecchie regole /dev/dri lxc.mount.entry e lxc.cgroup2.devices.allow. I container OCI conservano la configurazione e vengono fermati con l’avvio automatico disattivato; rimuovi la loro GPU tramite OCI manager Apps. Il rilevamento dei conflitti avviene per famiglia di dispositivi GPU e può includere altre schede della stessa famiglia." ], "imageAlt": "Offerta di dialogo per rimuovere il GPU da un LXC prima di assegnarlo al VM", "smartTitle": "Verificare l’audio associato rimuovendo la GPU", @@ -90,7 +90,7 @@ }, "summary": { "title": "Riepilogo della conferma", - "body": "Verifica il piano finale, soprattutto ogni membro IOMMU, e annulla se errato. Ferma le modifiche principali, ma non annulla un’attivazione IOMMU confermata in precedenza.", + "body": "Verifica il piano finale dell’host e della VM e annulla se è errato. Mostra il gruppo IOMMU e il numero dei suoi dispositivi, non ogni membro, quindi controlla prima il gruppo. L’annullamento ferma le modifiche principali, ma non annulla una modifica della configurazione di avvio IOMMU confermata separatamente in precedenza.", "imageAlt": "Riepilogo delle modifiche previste a host e VM" }, "hostApply": { @@ -102,7 +102,7 @@ "Scrive /etc/modprobe.d/iommu_unsafe_interrupts.conf e kvm.conf con allow_unsafe_interrupts=1 e ignore_msrs=1. Sono impostazioni dello script, non requisiti universali Windows/macOS; gli interrupt non sicuri riducono la protezione del remapping.", "/etc/modprobe.d/blacklist.conf: NVIDIA — nouveau/lbm-nouveau; AMD — radeon + amdgpu; Intel — i915. Queste regole per produttore possono influire su altre schede con lo stesso driver. Il modulo nvidia è bloccato solo tramite /etc/modprobe.d/proxmenux-nvidia-vfio-blacklist.conf quando tutte le NVIDIA host sono riservate a VFIO.", "/etc/udev/rules.d/10-proxmenux-vfio-bind.rules + /etc/proxmenux/vfio-bind.bdfs — Solo NVIDIA. Applica ATTR'{'driver_override'}'=\"vfio-pci\" al PCI ADD dei BDF registrati, incluse le funzioni del gruppo IOMMU interessato. Fuori da quei gruppi può restare nvidia. La politica BDF non divide gruppi IOMMU hardware.", - "Solo AMD. Tenta di estrarre la ROM da /sys/bus/pci/.../rom o ACPI VFCT in /usr/share/kvm/vbios_<card>.bin. Se riesce, usa romfile=. Una ROM valida non garantisce l’inizializzazione GPU.", + "Solo AMD. Tenta un dump della ROM da /sys/bus/pci/.../rom o ACPI VFCT in /usr/share/kvm/vbios_<vendor>_<device>.bin. Se riesce, la VM usa romfile=. Un dump valido non garantisce la corretta inizializzazione della GPU.", "Solo NVIDIA. Ferma e disattiva nvidia-persistenced, nvidia-powerd, nvidia-fabricmanager solo se tutte le NVIDIA sono riservate a VFIO. In uso misto mantiene servizi e nvidia per le schede native.", "update-initramfs -u -k all — funziona solo se uno dei suddetti effettivamente cambiato." ] diff --git a/web/messages/it/docs/hardware/igpu-acceleration-lxc.json b/web/messages/it/docs/hardware/igpu-acceleration-lxc.json index e2e23d62..4a2e48b6 100644 --- a/web/messages/it/docs/hardware/igpu-acceleration-lxc.json +++ b/web/messages/it/docs/hardware/igpu-acceleration-lxc.json @@ -10,7 +10,7 @@ }, "intro": { "title": "Cosa fa", - "body": "Aggiunge dev<N> a /etc/pve/lxc/<ctid>.conf per i dispositivi /dev/dri/*, /dev/kfd o /dev/nvidia* pertinenti. Avvia il container, installa i pacchetti adatti e allinea video e render. L’accelerazione richiede hardware e librerie compatibili e configurazione dell’app." + "body": "Aggiunge voci dev<N> a /etc/pve/lxc/<ctid>.conf per i nodi /dev/dri/*, /dev/kfd o /dev/nvidia* pertinenti. Avvia il container, installa i pacchetti userspace della sua distribuzione e, per Intel/AMD, allinea i gruppi video e render. L’accelerazione delle applicazioni richiede comunque hardware e librerie compatibili e configurazione dell’app." }, "compare": { "heading": "Condivisione LXC e passthrough VM a confronto", @@ -78,7 +78,7 @@ }, "pickCt": { "title": "Scegli un container LXC", - "body": "Elenca i LXC idonei per ID e nome. I container OCI sono esclusi: gestisci i dispositivi da Apps nel gestore OCI. Arresta per configurare, avvia per installare e normalmente ripristina lo stato iniziale.", + "body": "Elenca i container LXC idonei per ID e nome; i container OCI sono esclusi e usano OCI manager Apps per i dispositivi. Il container viene arrestato se è in esecuzione, avviato per l’installazione dei driver e normalmente riportato allo stato iniziale (in esecuzione/arrestato).", "imageAlt": "Selezione di un container LXC esistente" }, "selectGpu": { @@ -98,7 +98,7 @@ }, "applyConfig": { "title": "Applicare le modifiche di configurazione LXC", - "body1": "Arresta il container e modifica /etc/pve/lxc/<ctid>.conf. Le voci dev<N> includono i GID scelti. Il meccanismo dev: sostituisce qui le regole manuali lxc.mount.entry. Verifica configurazione e permessi.", + "body1": "Arresta il container se è in esecuzione e modifica /etc/pve/lxc/<ctid>.conf. Le voci numerate dev<N> includono il GID host di video o render. Le righe bind lxc.mount.entry esistenti per /dev/dri vengono sostituite da voci dev:; verifica la configurazione e i permessi risultanti.", "body2": "Esempio dopo Intel + NVIDIA sullo stesso contenitore:" }, "installDrivers": { @@ -127,14 +127,14 @@ }, "alignGids": { "title": "Allineare GID e ripristinare lo stato", - "body1": "Legge i GID host di video e render, con 44/104 come ripiego, poi adatta /etc/group nel container. video:44 e render:104 sono esempi, non ID universali. Verifica gruppi dell’app e permessi effettivi.", + "body1": "Per Intel/AMD legge i GID host di video e render, usando 44/104 solo come ripiego, poi modifica /etc/group nel container perché corrispondano; le esecuzioni solo NVIDIA saltano questo passaggio. Voci come video:44 e render:104 sono esempi, non ID universali. Verifica l’appartenenza dell’app ai gruppi e i permessi effettivi sui dispositivi.", "body2": "Al termine normale, arresta di nuovo il container se inizialmente era fermo; se era attivo lo lascia attivo. In caso di errore di avvio o installazione, verifica stato finale e log." } }, "vendors": { "heading": "Note per produttore", "intelHeading": "Intel iGPU", - "intelBody": "L’accelerazione Intel, incluso Quick Sync, dipende da generazione, codec e app. Condivide nodi esistenti come /dev/dri/card0 e /dev/dri/renderD128; i numeri possono variare. Deve fornirli il driver nativo host, per esempio i915.", + "intelBody": "L’accelerazione multimediale Intel, incluso Quick Sync, dipende da generazione del GPU, codec e configurazione dell’app. Lo script condivide quelli tra /dev/dri/card0, card1, renderD128 e renderD129 che esistono; altri numeri di nodo non vengono aggiunti. L’host deve già fornirli tramite il proprio driver nativo, per esempio i915.", "amdHeading": "AMD", "amdBody": "AMD usa DRI per Mesa/VA-API. Se l’host espone /dev/kfd, lo condivide. ROCm/OpenCL richiede hardware e librerie compatibili; condividere il dispositivo non installa l’intero stack ROCm.", "nvidiaHeading": "NVIDIA", diff --git a/web/messages/it/docs/hardware/install-coral-tpu-host.json b/web/messages/it/docs/hardware/install-coral-tpu-host.json index 0bb0b1b5..e602999b 100644 --- a/web/messages/it/docs/hardware/install-coral-tpu-host.json +++ b/web/messages/it/docs/hardware/install-coral-tpu-host.json @@ -71,7 +71,7 @@ "title": "PCIe: moduli gasket e apex tramite DKMS", "body": "Eseguito solo se rileva un Coral PCIe/M.2. Compila i moduli per il kernel attualmente in esecuzione sull’host.", "items": [ - "Pulizia. Se una precedente installazione di gasket-dkms ha lasciato pacchetti in stato incoerente, tenta di eliminarla prima della compilazione.", + "Pulizia. Qualsiasi pacchetto gasket-dkms esistente viene rimosso prima della ricompilazione; se è in uno stato incoerente, lo script ne forza la rimozione e la purga.", "Dipendenze di compilazione: git, dkms, build-essential, proxmox-headers-$(uname -r)." ], "cloneIntro": "Clona i sorgenti del driver. Preferisce feranick/gasket-driver, altrimenti usa google/gasket-driver. La compilazione dipende dalla compatibilità del kernel. Applica queste patch ai sorgenti Google secondo la versione:", @@ -132,7 +132,7 @@ "Elimina completamente gasket-dkms, libedgetpu1-std e libedgetpu1-max, poi esegue apt-get autoremove --purge.", "Elimina /etc/udev/rules.d/99-coral-apex.rules e ripristina il gruppo predefinito in 60-gasket-dkms.rules, se esiste ancora.", "Controlla i membri supplementari di apex. Se l’elenco è vuoto, tenta di rimuovere il gruppo; altrimenti mantiene apex ed elenca i membri. Non verifica completamente gli utenti che lo hanno come gruppo principale.", - "Rimuove i vecchi repository, tra cui /etc/apt/sources.list.d/coral-edgetpu.list, e portachiavi chiamati coral-edgetpu-archive-keyring.gpg. Il portachiavi attuale /etc/apt/keyrings/coral-edgetpu.gpg rimane.", + "Rimuove l’elenco dei repository /etc/apt/sources.list.d/coral-edgetpu.list, il vecchio coral-cloud.list e i vecchi portachiavi chiamati coral-edgetpu-archive-keyring.gpg. Il portachiavi attuale in /etc/apt/keyrings/coral-edgetpu.gpg non viene rimosso da questa sequenza.", "Propone un riavvio solo se PCIe era installato per scaricare i moduli ancora attivi. Rimuovere solo USB non richiede riavvio." ], "lxcWarnTitle": "LXC contenitori con apex passthrough", diff --git a/web/messages/it/docs/hardware/nvidia-host.json b/web/messages/it/docs/hardware/nvidia-host.json index 6721274e..728b1725 100644 --- a/web/messages/it/docs/hardware/nvidia-host.json +++ b/web/messages/it/docs/hardware/nvidia-host.json @@ -10,7 +10,7 @@ }, "intro": { "title": "Cosa fa", - "body": "Rileva il GPU e propone rami mantenuti che includono il suo ID PCI. Blocca nouveau, scarica l’installer ufficiale .run, usa DKMS e installa nvidia-persistenced con regole udev; patch NVENC facoltativa. La compilazione verifica il kernel attuale senza garantire tutte le app. I LXC NVIDIA possono ricevere librerie corrispondenti." + "body": "ProxMenux rileva il GPU e propone rami NVIDIA mantenuti che includono il suo ID PCI. Blocca nouveau, scarica l’installer ufficiale .run, usa DKMS, installa nvidia-persistenced, le regole udev e NVIDIA Container Toolkit e propone una patch NVENC facoltativa. I controlli di compilazione riguardano il kernel in esecuzione; una compilazione riuscita non garantisce che ogni app funzioni. Ai LXC NVIDIA esistenti viene proposto un aggiornamento delle librerie userspace, con versione corrispondente tranne su Arch." }, "who": { "heading": "Per chi è questo?", @@ -89,7 +89,7 @@ }, "reboot": { "title": "Riavvia", - "body": "Rigenera initramfs per tutti i kernel e propone il riavvio. Prevedi questo riavvio per verificare moduli e configurazione nouveau all’avvio, anche se il driver risponde già prima." + "body": "Dopo l’installazione del driver, lo script rigenera initramfs per tutti i kernel; il suo ultimo passaggio propone il riavvio. Prevedi questo riavvio per verificare la configurazione persistente dei moduli e di nouveau a un nuovo avvio, anche se il nuovo driver risponde già prima del riavvio." } }, "reinstallUninstall": { @@ -102,8 +102,8 @@ "uninstallHeading": "Disinstallare — ciò che viene rimosso", "uninstallIntro": "Dopo conferma Sì/No, rimuove i seguenti componenti:", "uninstallItems": [ - "Esegue nvidia-uninstall --silent per l’installazione .run, ferma e disabilita nvidia-persistenced e nvidia-powerd e tenta di scaricare nvidia_uvm, nvidia_drm, nvidia_modeset e nvidia. Le app LXC NVIDIA sono coinvolte; client attivi possono impedire lo scaricamento.", - "Esegue apt purge su nvidia-*, libnvidia-*, cuda-* e libcudnn*, rimuove l'albero sorgente DKMS e la cache dell'installatore /opt/nvidia .run.", + "Ferma e disabilita nvidia-persistenced e nvidia-powerd, tenta di scaricare nvidia_uvm, nvidia_drm, nvidia_modeset e nvidia, poi esegue nvidia-uninstall --silent per l’installazione .run. I carichi di lavoro LXC che dipendono da NVIDIA sono coinvolti; client attivi possono impedire lo scaricamento.", + "Esegue apt purge su nvidia-*, libnvidia-*, cuda-* e libcudnn*, rimuove l'albero sorgente DKMS e le cartelle nvidia-persistenced e nvidia-patch in /opt/nvidia.", "Rimuove la configurazione di caricamento moduli /etc/modules-load.d/nvidia-vfio.conf e le regole nouveau gestite da ProxMenux. Migra e rimuove anche i vecchi file ProxMenux con le due righe note; conserva i file modificati o estranei dell’amministratore.", "Rimuove /etc/udev/rules.d/70-nvidia.rules e imposta NVENC su removed nel registro delle installazioni gestite; non esiste un file di stato separato.", "Rigenera initramfs per tutti i kernel, esegue proxmox-boot-tool refresh secondo la configurazione di avvio e chiede di riavviare." diff --git a/web/messages/it/docs/hardware/switch-gpu-mode.json b/web/messages/it/docs/hardware/switch-gpu-mode.json index 25ebd2c5..49a8ee5b 100644 --- a/web/messages/it/docs/hardware/switch-gpu-mode.json +++ b/web/messages/it/docs/hardware/switch-gpu-mode.json @@ -42,21 +42,21 @@ }, { "situation": "Voglio rimuovere tutte le assegnazioni di questo GPU.", - "use": "La modalità LXC restituisce il GPU al driver host; rimuovi le assegnazioni degli ospiti con le opzioni di conflitto appropriate. Il GPU resta associato a un driver." + "use": "La modalità LXC restituisce il GPU al driver host; la politica di conflitto VM può rimuovere le voci hostpci, ma le voci dei dispositivi LXC vanno rimosse separatamente. Il GPU resta associato a un driver." } ] }, "prereqs": { "title": "Prima di iniziare", "assigned": "Un GPU già assegnato a una VM tramite VFIO o a un LXC. Per la prima assegnazione usa Aggiungi GPU a VM / LXC.", - "iommu": "IOMMU deve essere attivo sull’host passando alla modalità VM. Contano firmware e supporto del kernel; i parametri espliciti non sono sempre necessari. Se serve, lo script tenta intel_iommu=on iommu=pt o amd_iommu=on tramite il sistema di avvio attivo, con proxmox-boot-tool refresh o update-grub. Controlla gli avvisi e riavvia quando richiesto.", + "iommu": "IOMMU deve essere attivo sull’host passando alla modalità VM. Contano sia le impostazioni del firmware sia il supporto del kernel. Se intel_iommu=on o amd_iommu=on manca nel kernel in esecuzione, lo script lo aggiunge con iommu=pt a /etc/kernel/cmdline (marcatore di root ZFS) o a /etc/default/grub, poi esegue proxmox-boot-tool refresh o update-grub. Controlla eventuali avvisi e riavvia quando richiesto.", "iommuCheck": "dmesg | grep -i 'IOMMU enabled' | head -1", "reboot": "Prevedi un riavvio. Le modifiche persistenti a driver e avvio possono richiedere la rigenerazione di initramfs e un riavvio. Lo script lo propone al termine.", "knowList": "Identifica VM e LXC che usano il GPU. Lo script rileva i riferimenti e chiede come trattare ogni ospite; conoscere l’elenco facilita la verifica." }, "blocklist": { "title": "Non tutte le GPU sono sicure per passare a un VM", - "body": "Lo script blocca la modalità VM per alcuni ID, inclusi 8086:5a84 e 8086:5a85, secondo la propria politica di compatibilità. In caso di corrispondenza mostra un avviso. L’elenco non impedisce il passaggio alla modalità LXC; restano gli altri controlli." + "body": "Lo script blocca la modalità VM per gli ID dispositivo 8086:5a84 e 8086:5a85 secondo la propria politica di compatibilità. Se un GPU selezionato corrisponde, interrompe il passaggio alla modalità VM e torna alla selezione del GPU, oppure esce se è l’unico GPU. Questa blocklist non impedisce il passaggio alla modalità LXC; altri controlli possono comunque applicarsi." }, "running": { "heading": "Eseguire lo script", @@ -85,7 +85,7 @@ "intro": "Sulla base della modalità corrente, lo script propone il contrario come obiettivo:", "items": [ "VM → LXC: rimuove l’associazione a vfio-pci affinché il driver nativo (nvidia, amdgpu, i915) possa usare il GPU. Per NVIDIA elimina le voci BDF corrispondenti da /etc/udev/rules.d/10-proxmenux-vfio-bind.rules per il prossimo avvio.", - "LXC → VM: prepara l’associazione a vfio-pci. AMD / Intel blocca il driver nativo e usa options vfio-pci ids=…. Per NVIDIA, nvidia non è bloccato globalmente: regole BDF applicano driver_override=vfio-pci ai dispositivi dei gruppi IOMMU coinvolti. I GPU esterni a questi gruppi possono conservare nvidia. Controlla ogni membro." + "LXC → VM: prepara l’associazione a vfio-pci. AMD / Intel bloccano il driver nativo e usano options vfio-pci ids=…. Per NVIDIA, nvidia viene bloccato globalmente solo quando ogni GPU NVIDIA dell’host è in VFIO; altrimenti regole per BDF applicano driver_override=vfio-pci ai dispositivi dei gruppi IOMMU coinvolti, e i GPU NVIDIA esterni a questi gruppi conservano nvidia. Controlla ogni membro del gruppo prima del passaggio." ], "outro": "Confermare la direzione o annullare." }, diff --git a/web/messages/pt/docs/hardware/coral-tpu-lxc.json b/web/messages/pt/docs/hardware/coral-tpu-lxc.json index e2fde029..c308f707 100644 --- a/web/messages/pt/docs/hardware/coral-tpu-lxc.json +++ b/web/messages/pt/docs/hardware/coral-tpu-lxc.json @@ -18,7 +18,7 @@ }, "prereqs": { "title": "Antes de começar", - "drivers": "Prepare o Coral no anfitrião. M.2 / PCIe exige o controlador carregado; USB exige acesso ao dispositivo e permissões adequadas. Consulte Instalar Coral TPU no anfitrião. O runtime da aplicação deve estar disponível no contentor.", + "drivers": "Prepare o dispositivo Coral no anfitrião. M.2 / PCIe exige o controlador do anfitrião carregado; USB exige acesso ao dispositivo e permissões adequadas. Consulte Instalar Coral TPU no anfitrião. O script instala o runtime da aplicação em contentores Debian/Ubuntu; as outras distribuições têm de o disponibilizar separadamente.", "driversCheck": "ls /dev/apex_* 2>/dev/null ; lsusb | grep -E '1a6e:089a|18d1:9302'", "container": "Um LXC existente, de preferência baseado em Debian / Ubuntu: a instalação utiliza apt-get. Os contentores de outras distribuições podem usar o modo apenas de passagem direta, que omite a instalação APT de libedgetpu. É útil se a aplicação já incluir o runtime, como a imagem Docker Frigate.", "downtime": "Preveja uma breve interrupção do contentor. O script para-o para alterar a configuração e inicia-o para instalar o runtime. Estas alterações não exigem reiniciar o anfitrião." @@ -44,7 +44,7 @@ }, "gpuHint": { "title": "Sugestão opcional de acesso ao GPU", - "body": "Se detetar um GPU não configurado para o contentor, recomenda Adicionar GPU ao LXC para descodificação de vídeo, como Quick Sync, VA-API ou NVDEC. Pergunta se pretende continuar apenas com Coral: Sim continua; Não sai para configurar primeiro o GPU." + "body": "Se for detetado um GPU não configurado para este contentor, uma caixa de diálogo recomenda Adicionar GPU ao LXC para descodificação de vídeo por hardware, como Quick Sync, VA-API ou NVENC. Pergunta se pretende continuar apenas com Coral: Sim continua a configuração do TPU; Não sai para que possa configurar primeiro o GPU." }, "usb": { "title": "Configurar acesso USB no LXC", @@ -55,7 +55,7 @@ "pcie": { "title": "Configurar acesso M.2 / PCIe no LXC", "body1": "Se detetar Coral M.2 / PCIe e existir /dev/apex_0, utiliza a API Proxmox dev para gerir cgroup2 em LXC com e sem privilégios:", - "body2": "Se /dev/apex_0 ainda não existir após Instalar Coral no anfitrião, utiliza cgroup2 e um bind mount opcional com create=file. Isto não cria por si só um dispositivo funcional:", + "body2": "Se /dev/apex_0 estiver ausente após Instalar Coral no anfitrião, o script escreve um bind mount com create=file e, apenas quando o número major do apex consta de /proc/devices, uma regra cgroup2 clássica. Nenhum dos dois cria um dispositivo funcional:", "rebootTitle": "Reiniciar o host primeiro se você acabou de instalar os drivers Coral", "rebootBody": "A montagem alternativa não carrega apex no anfitrião. Carregue o controlador ou reinicie após a instalação e verifique o dispositivo. Execute novamente o script para aplicar a entrada moderna e reinicie o contentor." }, @@ -92,7 +92,7 @@ "troubleshoot": { "heading": "Resolução de problemas", "apexTitle": "LXC iniciado, mas falta /dev/apex_0", - "apexBody": "Verifique o controlador do anfitrião: lsmod | grep apex. Se faltar, tente modprobe apex ou reinicie após a instalação. Quando existir /dev/apex_0 no anfitrião, verifique a entrada LXC e reinicie com pct stop <ctid> && pct start <ctid>.", + "apexBody": "Verifique primeiro o controlador do anfitrião: lsmod | grep apex. Se faltar, tente modprobe apex ou reinicie após a instalação do controlador. Quando existir /dev/apex_0 no anfitrião, verifique a entrada de dispositivo LXC (volte a executar o script se só foram escritas as entradas alternativas) e reinicie o contentor com pct stop <ctid> && pct start <ctid>.", "replugTitle": "Coral USB desaparece ao ligar noutra porta", "replugBody": "Confirme que o LXC monta /dev/bus/usb em vez da ligação /dev/coral. A configuração deve incluir lxc.mount.entry: /dev/bus/usb dev/bus/usb ... sem depender diretamente de /dev/coral. Execute novamente o script se a configuração for antiga.", "alpineTitle": "Alpine / Arch / RHEL / SUSE: runtime não instalado", diff --git a/web/messages/pt/docs/hardware/gpu-vm-passthrough.json b/web/messages/pt/docs/hardware/gpu-vm-passthrough.json index 921e85fd..2a156b9f 100644 --- a/web/messages/pt/docs/hardware/gpu-vm-passthrough.json +++ b/web/messages/pt/docs/hardware/gpu-vm-passthrough.json @@ -45,7 +45,7 @@ "heading": "Procedimento passo a passo", "detect": { "title": "Detectar GPUs e verificar IOMMU", - "body": "Verifica IOMMU ativo, não só parâmetros. Com confirmação separada pode adicionar intel_iommu=on ou amd_iommu=on com iommu=pt. Usa /etc/kernel/cmdline se houver marca ZFS como root=ZFS=, senão /etc/default/grub. É uma heurística, não prova do carregador. Reinicie para ativar e verifique os grupos reais.", + "body": "Considera o IOMMU ativo apenas quando o kernel em execução tem intel_iommu=on ou amd_iommu=on e existem grupos IOMMU. Se o parâmetro já estiver guardado para o próximo arranque, continua em modo de reinício pendente; caso contrário, um passo confirmado separadamente pode adicioná-lo com iommu=pt. A sua heurística de ficheiro de arranque utiliza /etc/kernel/cmdline quando aí existe uma marca de raiz ZFS como root=ZFS=; caso contrário, utiliza /etc/default/grub. Essa heurística não é prova do carregador de arranque real. O IOMMU recém-configurado entra em vigor após o reinício; verifique depois os grupos reais.", "tipTitle": "Já configurou a pós-instalação?", "tipBody": "Se o suporte VFIO IOMMU já estiver configurado e ativo no kernel, passa a verificação. Uma definição para o próximo arranque não prova que esteja ativo agora.", "imageAlt": "Lista de GPUs detectadas com fornecedor e endereço PCI" @@ -58,7 +58,7 @@ "Uma só GPU. A consola local pode perder a imagem ao reservá-la para VFIO. Verifique antes o acesso SSH ou web de outro computador.", "Política de reset AMD. Lê /sys/bus/pci/devices/<pci>/reset_method. APU ou dedicada sem FLR fica bloqueada pela política do assistente; subtipo desconhecido sem FLR exige confirmação. Não prova impossibilidade universal.", "Estado D3cold. Bloqueia placas AMD que indicam D3cold pelo risco de falha na ativação. Verifique alimentação e firmware.", - "Grupo IOMMU. Lê /sys/kernel/iommu_groups/ e inclui todos os membros exceto pontes, mesmo controladores de rede ou discos. Verifique antes de confirmar. Se IOMMU aguardar reinício, planeia inicialmente só a função GPU; confirme o isolamento depois." + "Análise do grupo IOMMU. Lê /sys/kernel/iommu_groups/ e inclui no plano da VM todos os membros exceto pontes, possivelmente controladores de rede ou de armazenamento. O script não os lista, por isso verifique o grupo por si mesmo antes de confirmar. Se o IOMMU aguardar reinício, os grupos reais não estão disponíveis e o plano contém inicialmente só a função GPU selecionada; verifique o isolamento após o reinício." ], "audioIntro": "Áudio associado. Dois casos consoante a localização do controlador:", "audioDgpu": "GPU dedicada: o áudio HDMI ocupa frequentemente a função .1 da mesma ranhura PCI e é incluído se detetado. Se o anfitrião o usava, perde acesso ao reservá-lo à VM.", @@ -75,7 +75,7 @@ "items": [ "GPU disponível. Continua sem remover atribuições.", "Atribuída a outra VM. Pare primeiro a origem. Pode manter as entradas e desativar o arranque automático ou removê-las mantendo o arranque automático. Com vfio-pci já ativo e sem alterações necessárias no anfitrião, VM→VM pode evitar reiniciá-lo.", - "Usada por LXC. Nos contentores normais escolha manter a configuração e desativar o arranque automático ou remover dispositivos e regras antigas lxc.cgroup2.devices.allow/lxc.mount.entry, mantendo o arranque automático. OCI conserva a configuração e é parado sem arranque automático; remova a GPU em Apps. A deteção por família pode abranger outras placas." + "GPU usada por LXC. Nos contentores normais escolha manter a configuração da GPU e desativar o arranque automático ou remover a configuração do dispositivo GPU, mantendo o arranque automático. A remoção elimina as entradas devN e, em AMD/Intel, também as regras antigas /dev/dri lxc.mount.entry e lxc.cgroup2.devices.allow. Os contentores OCI conservam a configuração e são parados com o arranque automático desativado; remova a sua GPU através de OCI manager Apps. A deteção de conflitos é feita por família de dispositivos GPU e pode abranger outras placas dessa família." ], "imageAlt": "Oferecendo diálogo para remover o GPU de um LXC antes de atribuí-lo ao VM", "smartTitle": "Rever áudio associado ao remover a GPU", @@ -90,7 +90,7 @@ }, "summary": { "title": "Rever o resumo da confirmação", - "body": "Verifique o plano final, sobretudo cada membro IOMMU, e cancele se incorreto. Impede as alterações principais, mas não reverte uma ativação IOMMU confirmada anteriormente.", + "body": "Verifique o plano final do anfitrião e da VM e cancele se estiver incorreto. Mostra o grupo IOMMU e o número dos seus dispositivos, não cada membro, por isso verifique o grupo antecipadamente. O cancelamento impede as alterações principais, mas não reverte uma alteração da configuração de arranque IOMMU confirmada separadamente antes.", "imageAlt": "Resumo das alterações previstas no anfitrião e VM" }, "hostApply": { @@ -102,7 +102,7 @@ "Escreve /etc/modprobe.d/iommu_unsafe_interrupts.conf e kvm.conf com allow_unsafe_interrupts=1 e ignore_msrs=1. São definições do script, não requisitos universais Windows/macOS; interrupções inseguras reduzem a proteção do remapeamento.", "/etc/modprobe.d/blacklist.conf: NVIDIA — nouveau/lbm-nouveau; AMD — radeon + amdgpu; Intel — i915. Estas regras por fabricante podem afetar outras placas com o mesmo controlador. O módulo nvidia é bloqueado apenas por /etc/modprobe.d/proxmenux-nvidia-vfio-blacklist.conf quando todas as NVIDIA do anfitrião estão reservadas a VFIO.", "/etc/udev/rules.d/10-proxmenux-vfio-bind.rules + /etc/proxmenux/vfio-bind.bdfs — Apenas NVIDIA. Aplica ATTR'{'driver_override'}'=\"vfio-pci\" no PCI ADD dos BDF registados, incluindo funções do grupo IOMMU afetado. Fora desses grupos pode manter-se nvidia. A política BDF não divide grupos IOMMU físicos.", - "Apenas AMD. Tenta extrair ROM de /sys/bus/pci/.../rom ou ACPI VFCT para /usr/share/kvm/vbios_<card>.bin. Se conseguir, usa romfile=. Uma ROM válida não garante inicialização da GPU.", + "Apenas AMD. Tenta extrair a ROM de /sys/bus/pci/.../rom ou ACPI VFCT para /usr/share/kvm/vbios_<vendor>_<device>.bin. Se conseguir, a VM usa romfile=. Uma extração válida não garante a inicialização bem-sucedida da GPU.", "Apenas NVIDIA. Para e desativa nvidia-persistenced, nvidia-powerd, nvidia-fabricmanager só quando todas as NVIDIA estão reservadas a VFIO. Em uso misto conserva os serviços e nvidia para as placas nativas.", "update-initramfs -u -k all — só é executado se alguma das acima referidas tiver realmente mudado." ] diff --git a/web/messages/pt/docs/hardware/igpu-acceleration-lxc.json b/web/messages/pt/docs/hardware/igpu-acceleration-lxc.json index b4f6df0d..fe7cbeed 100644 --- a/web/messages/pt/docs/hardware/igpu-acceleration-lxc.json +++ b/web/messages/pt/docs/hardware/igpu-acceleration-lxc.json @@ -10,7 +10,7 @@ }, "intro": { "title": "O que faz", - "body": "Adiciona dev<N> a /etc/pve/lxc/<ctid>.conf para os dispositivos /dev/dri/*, /dev/kfd ou /dev/nvidia* aplicáveis. Inicia o contentor, instala pacotes adequados e alinha video e render. A aceleração exige hardware, bibliotecas e configuração da aplicação compatíveis." + "body": "Adiciona entradas dev<N> a /etc/pve/lxc/<ctid>.conf para os nós /dev/dri/*, /dev/kfd ou /dev/nvidia* aplicáveis. Inicia o contentor, instala pacotes userspace da sua distribuição e, para Intel/AMD, alinha os grupos video e render. A aceleração das aplicações continua a exigir hardware, bibliotecas e configuração da aplicação compatíveis." }, "compare": { "heading": "Partilha LXC ou atribuição direta a uma VM", @@ -78,7 +78,7 @@ }, "pickCt": { "title": "Escolha um contentor LXC", - "body": "Lista os LXC elegíveis por ID e nome. Exclui OCI: os seus dispositivos gerem-se em Apps do gestor OCI. Para para configurar, inicia para instalar e normalmente recupera o estado inicial.", + "body": "Lista os contentores LXC elegíveis por ID e nome; os contentores OCI são excluídos e utilizam OCI manager Apps para os dispositivos. O contentor é parado se estiver em execução, iniciado para a instalação dos controladores e normalmente reposto no estado original (em execução/parado).", "imageAlt": "Seleção de um contentor LXC existente" }, "selectGpu": { @@ -98,7 +98,7 @@ }, "applyConfig": { "title": "Aplicar as alterações de configuração do LXC", - "body1": "Para o contentor e altera /etc/pve/lxc/<ctid>.conf. As entradas dev<N> incluem os GID escolhidos. O mecanismo dev: substitui aqui regras manuais lxc.mount.entry. Verifique configuração e permissões.", + "body1": "Para o contentor, se estiver em execução, e altera /etc/pve/lxc/<ctid>.conf. As entradas numeradas dev<N> incluem o GID do anfitrião de video ou render. As linhas bind lxc.mount.entry existentes para /dev/dri são substituídas por entradas dev:; verifique a configuração e as permissões resultantes.", "body2": "Exemplo após Intel + NVIDIA no mesmo recipiente:" }, "installDrivers": { @@ -127,14 +127,14 @@ }, "alignGids": { "title": "Alinhar GIDs e restaurar o estado", - "body1": "Lê os GID do anfitrião de video e render, usando 44/104 como alternativa, e ajusta /etc/group no contentor. video:44 e render:104 são exemplos. Verifique grupos da aplicação e permissões efetivas.", + "body1": "Para Intel/AMD, lê os GID do anfitrião de video e render, usando 44/104 apenas como alternativa, e depois altera /etc/group no contentor para corresponderem; as execuções apenas com NVIDIA saltam este passo. Entradas como video:44 e render:104 são exemplos, não ID universais. Verifique a pertença da aplicação aos grupos e as permissões efetivas dos dispositivos.", "body2": "Ao concluir normalmente, volta a parar o contentor se estava parado; se estava ativo mantém-no ativo. Se falhar o arranque ou a instalação, verifique o estado final e o registo." } }, "vendors": { "heading": "Notas por fabricante", "intelHeading": "Intel iGPU", - "intelBody": "A aceleração Intel, incluindo Quick Sync, depende da geração, codecs e aplicação. Partilha nós existentes como /dev/dri/card0 e /dev/dri/renderD128; a numeração pode variar. O controlador nativo do anfitrião, como i915, tem de os disponibilizar.", + "intelBody": "A aceleração multimédia Intel, incluindo Quick Sync, depende da geração do GPU, dos codecs e da configuração da aplicação. O script partilha os que existirem de entre /dev/dri/card0, card1, renderD128 e renderD129; outros números de nó não são adicionados. O anfitrião tem de os disponibilizar já através do seu controlador nativo, por exemplo i915.", "amdHeading": "AMD", "amdBody": "AMD usa DRI para Mesa/VA-API. Se existir /dev/kfd no anfitrião, também o partilha. ROCm/OpenCL exige hardware e bibliotecas compatíveis; partilhar o dispositivo não instala toda a pilha ROCm.", "nvidiaHeading": "NVIDIA", diff --git a/web/messages/pt/docs/hardware/install-coral-tpu-host.json b/web/messages/pt/docs/hardware/install-coral-tpu-host.json index 71bd9bbf..b60e4ece 100644 --- a/web/messages/pt/docs/hardware/install-coral-tpu-host.json +++ b/web/messages/pt/docs/hardware/install-coral-tpu-host.json @@ -71,7 +71,7 @@ "title": "PCIe: módulos gasket e apex via DKMS", "body": "Executado apenas se detetar um Coral PCIe/M.2. Compila os módulos para o kernel em execução no anfitrião.", "items": [ - "Limpeza. Se uma instalação anterior de gasket-dkms deixou pacotes num estado incorreto, tenta purgá-la antes de compilar.", + "Limpeza. Qualquer pacote gasket-dkms existente é removido antes de recompilar; se estiver num estado incorreto, o script força a sua remoção e purga.", "Dependências de compilação: git, dkms, build-essential, proxmox-headers-$(uname -r)." ], "cloneIntro": "Clona o código do controlador. Prefere feranick/gasket-driver, recorrendo a google/gasket-driver se indisponível. A compilação depende da compatibilidade do kernel. Aplica estas correções ao código Google conforme a versão:", @@ -132,7 +132,7 @@ "Purga gasket-dkms, libedgetpu1-std e libedgetpu1-max e executa apt-get autoremove --purge.", "Elimina /etc/udev/rules.d/99-coral-apex.rules e restaura o grupo predefinido de 60-gasket-dkms.rules se ainda existir.", "Verifica os membros suplementares de apex. Se a lista estiver vazia, tenta remover o grupo; caso contrário mantém apex e lista os membros. Não verifica completamente os utilizadores que o têm como grupo principal.", - "Remove repositórios antigos como /etc/apt/sources.list.d/coral-edgetpu.list e chaveiros chamados coral-edgetpu-archive-keyring.gpg. O chaveiro atual /etc/apt/keyrings/coral-edgetpu.gpg permanece.", + "Remove a lista de repositórios /etc/apt/sources.list.d/coral-edgetpu.list, o antigo coral-cloud.list e chaveiros antigos chamados coral-edgetpu-archive-keyring.gpg. O chaveiro atual em /etc/apt/keyrings/coral-edgetpu.gpg não é removido por esta sequência.", "Propõe reiniciar apenas se PCIe estava instalado para descarregar os módulos ainda ativos. Remover apenas USB não exige reinício." ], "lxcWarnTitle": "LXC contêineres com apex passagem", diff --git a/web/messages/pt/docs/hardware/nvidia-host.json b/web/messages/pt/docs/hardware/nvidia-host.json index 5fe2902c..9a1daf6d 100644 --- a/web/messages/pt/docs/hardware/nvidia-host.json +++ b/web/messages/pt/docs/hardware/nvidia-host.json @@ -10,7 +10,7 @@ }, "intro": { "title": "O que faz", - "body": "Deteta o GPU e oferece ramos mantidos que incluem o ID PCI. Bloqueia nouveau, descarrega o instalador oficial .run, utiliza DKMS e instala nvidia-persistenced com regras udev; patch NVENC opcional. A compilação verifica o kernel atual sem garantir todas as aplicações. Os LXC NVIDIA podem receber bibliotecas correspondentes." + "body": "O ProxMenux deteta o GPU e oferece ramos NVIDIA mantidos que incluem o seu ID PCI. Bloqueia nouveau, descarrega o instalador oficial .run, utiliza DKMS, instala nvidia-persistenced, regras udev e o NVIDIA Container Toolkit, e oferece um patch NVENC opcional. As verificações de compilação avaliam o kernel em execução; uma compilação bem-sucedida não garante que todas as aplicações funcionem. Aos LXC NVIDIA existentes é oferecida uma atualização das bibliotecas userspace, com versão correspondente exceto em Arch." }, "who": { "heading": "Para quem é isto?", @@ -89,7 +89,7 @@ }, "reboot": { "title": "Reiniciar", - "body": "Regenera initramfs para todos os kernels e oferece reiniciar. Preveja esse reinício para verificar módulos e configuração nouveau no arranque, mesmo que o controlador já responda antes." + "body": "Após a instalação do controlador, o script regenera initramfs para todos os kernels; o seu último passo oferece reiniciar. Preveja esse reinício para verificar a configuração persistente dos módulos e do nouveau num novo arranque, mesmo que o novo controlador já responda antes do reinício." } }, "reinstallUninstall": { @@ -102,8 +102,8 @@ "uninstallHeading": "Desinstalar — o que é removido", "uninstallIntro": "Após confirmação Sim/Não, remove os seguintes componentes:", "uninstallItems": [ - "Executa nvidia-uninstall --silent para a instalação .run, para e desativa nvidia-persistenced e nvidia-powerd e tenta descarregar nvidia_uvm, nvidia_drm, nvidia_modeset e nvidia. Afeta aplicações LXC NVIDIA; clientes ativos podem impedir a descarga.", - "Executa apt purge em nvidia-*, libnvidia-*, cuda-* e libcudnn*, remove a árvore fonte DKMS e o cache do instalador /opt/nvidia.run.", + "Para e desativa nvidia-persistenced e nvidia-powerd, tenta descarregar nvidia_uvm, nvidia_drm, nvidia_modeset e nvidia e depois executa nvidia-uninstall --silent para a instalação .run. Afeta as cargas de trabalho LXC dependentes de NVIDIA; clientes ativos podem impedir a descarga.", + "Executa apt purge em nvidia-*, libnvidia-*, cuda-* e libcudnn*, remove a árvore fonte DKMS e as pastas nvidia-persistenced e nvidia-patch em /opt/nvidia.", "Remove a configuração de carregamento /etc/modules-load.d/nvidia-vfio.conf e regras nouveau geridas pelo ProxMenux. Migra e remove também os antigos ficheiros ProxMenux com as duas linhas conhecidas; preserva ficheiros modificados ou não relacionados do administrador.", "Remove /etc/udev/rules.d/70-nvidia.rules e marca NVENC como removed no registo de instalações geridas; não existe ficheiro de estado separado.", "Regenera initramfs para todos os kernels, executa proxmox-boot-tool refresh conforme o arranque e pede reinício." diff --git a/web/messages/pt/docs/hardware/switch-gpu-mode.json b/web/messages/pt/docs/hardware/switch-gpu-mode.json index bc882684..c347520b 100644 --- a/web/messages/pt/docs/hardware/switch-gpu-mode.json +++ b/web/messages/pt/docs/hardware/switch-gpu-mode.json @@ -42,21 +42,21 @@ }, { "situation": "Quero remover todas as atribuições deste GPU.", - "use": "O modo LXC devolve o GPU ao controlador do anfitrião; remova as atribuições dos convidados nas opções de conflito correspondentes. O GPU continua associado a um controlador." + "use": "O modo LXC devolve o GPU ao controlador do anfitrião; a política de conflitos da VM pode remover as entradas hostpci, mas as entradas de dispositivo LXC têm de ser removidas separadamente. O GPU continua associado a um controlador." } ] }, "prereqs": { "title": "Antes de começar", "assigned": "Um GPU já atribuído a uma VM por VFIO ou a um LXC. Para a primeira atribuição utilize Adicionar GPU a VM / LXC.", - "iommu": "IOMMU deve estar ativo no anfitrião ao passar para modo VM. Depende do firmware e do kernel; parâmetros explícitos nem sempre são necessários. Se necessário, tenta intel_iommu=on iommu=pt ou amd_iommu=on conforme o arranque, com proxmox-boot-tool refresh ou update-grub. Reveja os avisos e reinicie quando solicitado.", + "iommu": "IOMMU deve estar ativo no anfitrião ao passar para modo VM. Tanto as definições do firmware como o suporte do kernel são importantes. Se faltar intel_iommu=on ou amd_iommu=on no kernel em execução, o script adiciona-o com iommu=pt a /etc/kernel/cmdline (marca de raiz ZFS) ou a /etc/default/grub e depois executa proxmox-boot-tool refresh ou update-grub. Reveja eventuais avisos e reinicie quando solicitado.", "iommuCheck": "dmesg | grep -i 'IOMMU enabled' | head -1", "reboot": "Preveja um reinício. Alterações persistentes ao controlador e ao arranque podem exigir regenerar initramfs e reiniciar. O script apresenta a opção no final.", "knowList": "Identifique as VM e LXC que utilizam o GPU. O script deteta referências e pergunta como tratar cada convidado; conhecer a lista facilita a revisão." }, "blocklist": { "title": "Nem todas as GPUs são seguras para passar para um VM", - "body": "O script bloqueia o modo VM para certos ID, incluindo 8086:5a84 e 8086:5a85, segundo a política de compatibilidade. Uma correspondência apresenta um aviso. A lista não impede passar para modo LXC; continuam a aplicar-se outras verificações." + "body": "O script bloqueia o modo VM para os ID de dispositivo 8086:5a84 e 8086:5a85, segundo a sua política de compatibilidade. Se um GPU selecionado corresponder, interrompe a mudança para modo VM e volta à seleção do GPU, ou sai quando é o único GPU. Esta lista de bloqueio não impede passar para modo LXC; outras verificações podem continuar a aplicar-se." }, "running": { "heading": "Executar o script", @@ -85,7 +85,7 @@ "intro": "Com base no modo atual, o script propõe o oposto como alvo:", "items": [ "VM → LXC: remove a associação a vfio-pci para que o controlador nativo (nvidia, amdgpu, i915) possa utilizar o GPU. Para NVIDIA remove as entradas BDF correspondentes de /etc/udev/rules.d/10-proxmenux-vfio-bind.rules para o próximo arranque.", - "LXC → VM: prepara a associação a vfio-pci. AMD / Intel bloqueia o controlador nativo e utiliza options vfio-pci ids=…. Em NVIDIA, nvidia não é bloqueado globalmente: regras BDF aplicam driver_override=vfio-pci aos dispositivos dos grupos IOMMU afetados. GPU fora desses grupos podem manter nvidia. Reveja todos os membros." + "LXC → VM: prepara a associação a vfio-pci. AMD / Intel bloqueiam o controlador nativo e utilizam options vfio-pci ids=…. Em NVIDIA, nvidia só é bloqueado globalmente quando todas as GPU NVIDIA do anfitrião estão em VFIO; caso contrário, regras por BDF aplicam driver_override=vfio-pci aos dispositivos dos grupos IOMMU afetados, e as GPU NVIDIA fora desses grupos mantêm nvidia. Reveja todos os membros do grupo antes de mudar." ], "outro": "Confirme a direção ou cancele." }, diff --git a/web/messages/sk/docs/hardware/coral-tpu-lxc.json b/web/messages/sk/docs/hardware/coral-tpu-lxc.json index ffce5a4c..3df4b7c6 100644 --- a/web/messages/sk/docs/hardware/coral-tpu-lxc.json +++ b/web/messages/sk/docs/hardware/coral-tpu-lxc.json @@ -18,7 +18,7 @@ }, "prereqs": { "title": "Skôr ako začnete", - "drivers": "Pripravte Coral na hostiteľovi. M.2 / PCIe vyžaduje načítaný ovládač hostiteľa; USB prístup k zariadeniu a správne oprávnenia. Pozrite Inštalácia Coral TPU na hostiteľa. Runtime aplikácie musí byť dostupný v kontajneri.", + "drivers": "Pripravte zariadenie Coral na hostiteľovi. M.2 / PCIe vyžaduje načítaný ovládač hostiteľa; USB prístup k zariadeniu a správne oprávnenia. Pozrite Inštalácia Coral TPU na hostiteľa. Skript nainštaluje runtime aplikácie v kontajneroch Debian/Ubuntu; ostatné distribúcie ho musia poskytnúť samostatne.", "driversCheck": "ls /dev/apex_* 2>/dev/null ; lsusb | grep -E '1a6e:089a|18d1:9302'", "container": "Existujúci LXC, ideálne založený na Debian / Ubuntu: inštalácia používa apt-get. Kontajnery iných distribúcií môžu zvoliť režim iba sprístupnenia zariadenia, ktorý preskočí APT inštaláciu libedgetpu. Hodí sa, ak aplikácia už runtime obsahuje, napríklad Docker obraz Frigate.", "downtime": "Počítajte s krátkym výpadkom kontajnera. Skript ho zastaví kvôli konfigurácii a spustí na inštaláciu runtime. Tieto zmeny nevyžadujú reštart hostiteľa." @@ -44,7 +44,7 @@ }, "gpuHint": { "title": "Voliteľné odporúčanie prístupu ku GPU", - "body": "Ak zistí GPU bez konfigurácie pre kontajner, odporučí Pridať GPU do LXC na dekódovanie videa, napríklad Quick Sync, VA-API alebo NVDEC. Pýta sa, či pokračovať iba s Coral: Áno pokračuje; Nie ukončí postup, aby ste najprv nastavili GPU." + "body": "Ak sa zistí GPU, ktorá nie je nakonfigurovaná pre tento kontajner, dialóg odporučí Pridať GPU do LXC na hardvérové dekódovanie videa, napríklad Quick Sync, VA-API alebo NVENC. Pýta sa, či pokračovať iba s Coral: Áno pokračuje v nastavení TPU; Nie ukončí postup, aby ste najprv mohli nastaviť GPU." }, "usb": { "title": "Nastavenie prístupu USB v LXC", @@ -55,7 +55,7 @@ "pcie": { "title": "Nastavenie prístupu M.2 / PCIe v LXC", "body1": "Ak zistí Coral M.2 / PCIe a existuje /dev/apex_0, použije API Proxmoxu dev na správu cgroup2 v privilegovaných aj neprivilegovaných LXC:", - "body2": "Ak po Inštalácii Coral na hostiteľa ešte neexistuje /dev/apex_0, použije klasické cgroup2 a voliteľný bind mount s create=file. Samotný zápis nevytvorí funkčné zariadenie:", + "body2": "Ak po Inštalácii Coral na hostiteľa chýba /dev/apex_0, skript zapíše bind mount s create=file a iba vtedy, keď je číslo major zariadenia apex uvedené v /proc/devices, aj klasické pravidlo cgroup2. Ani jedno nevytvorí funkčné zariadenie:", "rebootTitle": "Reštartovať hostiteľa ako prvý, ak ste práve nainštalovali Coral ovládače", "rebootBody": "Náhradné pripojenie nenačíta ovládač apex na hostiteľovi. Načítajte ho alebo po inštalácii reštartujte a overte zariadenie. Potom znova spustite skript pre modernú položku zariadenia a reštartujte kontajner." }, @@ -92,7 +92,7 @@ "troubleshoot": { "heading": "Riešenie problémov", "apexTitle": "LXC je spustený, ale chýba /dev/apex_0", - "apexBody": "Overte ovládač hostiteľa: lsmod | grep apex. Ak chýba, skúste modprobe apex alebo po inštalácii reštartujte. Keď na hostiteľovi existuje /dev/apex_0, overte položku LXC a reštartujte cez pct stop <ctid> && pct start <ctid>.", + "apexBody": "Najprv overte ovládač hostiteľa: lsmod | grep apex. Ak chýba, skúste modprobe apex alebo po inštalácii ovládača reštartujte. Keď na hostiteľovi existuje /dev/apex_0, overte položku zariadenia LXC (ak sa zapísali iba náhradné položky, spustite skript znova) a reštartujte kontajner cez pct stop <ctid> && pct start <ctid>.", "replugTitle": "USB Coral zmizne po pripojení do iného portu", "replugBody": "Overte, že LXC pripája /dev/bus/usb namiesto odkazu /dev/coral. Konfigurácia má obsahovať lxc.mount.entry: /dev/bus/usb dev/bus/usb ... bez priamej závislosti od /dev/coral. Pri starej konfigurácii skript spustite znova.", "alpineTitle": "Alpine / Arch / RHEL / SUSE: runtime nie je nainštalovaný", diff --git a/web/messages/sk/docs/hardware/gpu-vm-passthrough.json b/web/messages/sk/docs/hardware/gpu-vm-passthrough.json index 6b37d339..87b469b7 100644 --- a/web/messages/sk/docs/hardware/gpu-vm-passthrough.json +++ b/web/messages/sk/docs/hardware/gpu-vm-passthrough.json @@ -45,7 +45,7 @@ "heading": "Postup krok za krokom", "detect": { "title": "Detekovať GPU a skontrolovať IOMMU", - "body": "Overí aktívne IOMMU, nielen parametre. Po samostatnom potvrdení môže pridať intel_iommu=on alebo amd_iommu=on s iommu=pt. Použije /etc/kernel/cmdline pri značke ZFS ako root=ZFS=, inak /etc/default/grub. Heuristika nedokazuje použitý zavádzač. Reštartujte a overte skutočné skupiny.", + "body": "Považuje IOMMU za aktívne iba vtedy, keď bežiace jadro má intel_iommu=on alebo amd_iommu=on a existujú skupiny IOMMU. Ak je parameter už uložený pre ďalší štart, pokračuje v režime čakajúceho reštartu; inak ho samostatne potvrdený krok môže pridať s iommu=pt. Jeho heuristika zavádzacieho súboru použije /etc/kernel/cmdline, keď sa v ňom nachádza značka koreňa ZFS ako root=ZFS=; inak použije /etc/default/grub. Táto heuristika nedokazuje skutočne použitý zavádzač. Novo nakonfigurované IOMMU sa prejaví po reštarte; potom overte skutočné skupiny.", "tipTitle": "Už ste nastavili kroky po inštalácii?", "tipBody": "Ak je podpora VFIO IOMMU nastavená a aktívna v jadre, kontrola prejde. Nastavenie pre ďalší štart samo osebe nedokazuje aktuálne zapnutie.", "imageAlt": "Zoznam zistených GPU s predávajúcim a PCI adresa" @@ -58,7 +58,7 @@ "Jediná GPU. Po rezervovaní pre VFIO môže miestna konzola stratiť obraz. Najprv overte SSH alebo webový prístup z iného počítača.", "Politika resetovania AMD. Číta /sys/bus/pci/devices/<pci>/reset_method. APU alebo samostatná karta bez FLR je blokovaná politikou sprievodcu; neznámy podtyp bez FLR vyžaduje potvrdenie. Nedokazuje to všeobecnú nemožnosť.", "Stav D3cold. Sprievodca blokuje AMD karty so stavom D3cold pre riziko zlyhania aktivácie. Overte napájanie a firmvér.", - "Skupina IOMMU. Číta /sys/kernel/iommu_groups/ a zahrnie všetkých členov okrem mostov, aj sieťové či diskové radiče. Overte ich pred potvrdením. Pri čakajúcom reštarte IOMMU plánuje najprv iba funkciu GPU; izoláciu overte po reštarte." + "Analýza skupiny IOMMU. Číta /sys/kernel/iommu_groups/ a do plánu VM zahrnie všetkých členov okrem mostov, prípadne aj sieťové či úložné radiče. Skript ich nevypíše, preto skupinu pred potvrdením overte sami. Pri čakajúcom reštarte IOMMU nie sú skutočné skupiny dostupné a plán najprv obsahuje iba vybranú funkciu GPU; izoláciu overte po reštarte." ], "audioIntro": "Pridružený zvuk. Dva prípady podľa umiestnenia radiča:", "audioDgpu": "Samostatná GPU: zvuk HDMI býva vo funkcii .1 rovnakého PCI slotu a pri zistení sa zahrnie. Ak ho používal hostiteľ, rezervovaním pre VM stratí prístup.", @@ -75,7 +75,7 @@ "items": [ "GPU je voľná. Pokračuje bez odstránenia priradení.", "Priradená inej VM. Najprv zastavte zdrojovú VM. Môžete ponechať položky a vypnúť automatický štart alebo odstrániť položky a ponechať automatický štart. Pri aktívnom vfio-pci bez potrebných zmien hostiteľa možno presun VM→VM vykonať bez jeho reštartu.", - "Používaná LXC. Pri bežných kontajneroch ponechať konfiguráciu a vypnúť automatický štart alebo odstrániť zariadenia a staré pravidlá lxc.cgroup2.devices.allow/lxc.mount.entry, automatický štart ponechať. OCI ponechá konfiguráciu a zastaví sa bez automatického štartu; GPU odstráňte cez Apps. Detekcia podľa rodiny môže zahrnúť ďalšie karty." + "GPU používaná LXC. Pri bežných kontajneroch zvoľte ponechať konfiguráciu GPU a vypnúť automatický štart alebo odstrániť konfiguráciu zariadenia GPU a automatický štart ponechať. Odstránenie vymaže položky devN a pri AMD/Intel aj staré pravidlá /dev/dri lxc.mount.entry a lxc.cgroup2.devices.allow. Kontajnery OCI si ponechajú konfiguráciu a zastavia sa s vypnutým automatickým štartom; ich GPU odstráňte cez OCI manager Apps. Detekcia konfliktov prebieha podľa rodiny zariadení GPU a môže zahrnúť ďalšie karty tejto rodiny." ], "imageAlt": "Dialóg ponúka odstrániť GPU z LXC pred pridelením do VM", "smartTitle": "Kontrola pridruženého zvuku pri odstránení GPU", @@ -90,7 +90,7 @@ }, "summary": { "title": "Preskúmanie zhrnutia potvrdenia", - "body": "Overte konečný plán, najmä všetkých členov IOMMU, a pri chybe zrušte. Zastaví hlavné zmeny, nevráti však skoršie potvrdené zapnutie IOMMU v nastavení štartu.", + "body": "Overte konečný plán hostiteľa a VM a pri chybe ho zrušte. Zobrazuje skupinu IOMMU a počet jej zariadení, nie jednotlivých členov, preto skupinu overte vopred. Zrušenie zastaví hlavné zmeny, nevráti však skoršiu samostatne potvrdenú zmenu nastavenia štartu pre IOMMU.", "imageAlt": "Súhrn plánovaných zmien hostiteľa a VM" }, "hostApply": { @@ -102,7 +102,7 @@ "Zapíše /etc/modprobe.d/iommu_unsafe_interrupts.conf a kvm.conf s allow_unsafe_interrupts=1 a ignore_msrs=1. Ide o nastavenia skriptu, nie všeobecné požiadavky Windows/macOS; nebezpečné prerušenia oslabujú ochranu premapovania.", "/etc/modprobe.d/blacklist.conf: NVIDIA — nouveau/lbm-nouveau; AMD — radeon + amdgpu; Intel — i915. Tieto pravidlá výrobcu môžu ovplyvniť ďalšie karty s rovnakým ovládačom. Modul nvidia sa blokuje iba cez /etc/modprobe.d/proxmenux-nvidia-vfio-blacklist.conf, keď sú všetky NVIDIA hostiteľa evidované pre VFIO.", "/etc/udev/rules.d/10-proxmenux-vfio-bind.rules + /etc/proxmenux/vfio-bind.bdfs — Iba NVIDIA. Nastaví ATTR'{'driver_override'}'=\"vfio-pci\" pri PCI ADD pre evidované BDF vrátane funkcií dotknutej skupiny IOMMU. Mimo skupín môže zostať nvidia. Politika BDF nerozdelí hardvérovú skupinu IOMMU.", - "Iba AMD. Pokúsi sa získať ROM z /sys/bus/pci/.../rom alebo ACPI VFCT do /usr/share/kvm/vbios_<card>.bin. Pri úspechu použije romfile=. Platná ROM nezaručí inicializáciu GPU.", + "Iba AMD. Pokúsi sa o výpis ROM z /sys/bus/pci/.../rom alebo ACPI VFCT do /usr/share/kvm/vbios_<vendor>_<device>.bin. Pri úspechu VM použije romfile=. Platný výpis nezaručí úspešnú inicializáciu GPU.", "Iba NVIDIA. Zastaví a vypne nvidia-persistenced, nvidia-powerd, nvidia-fabricmanager iba ak sú všetky NVIDIA rezervované pre VFIO. Pri zmiešanom použití zachová služby a nvidia pre natívne karty.", "update-initramfs -u -k all — spustí sa iba pri zmene nastavenia hostiteľa." ] diff --git a/web/messages/sk/docs/hardware/igpu-acceleration-lxc.json b/web/messages/sk/docs/hardware/igpu-acceleration-lxc.json index e14fef01..ca86ae9f 100644 --- a/web/messages/sk/docs/hardware/igpu-acceleration-lxc.json +++ b/web/messages/sk/docs/hardware/igpu-acceleration-lxc.json @@ -10,7 +10,7 @@ }, "intro": { "title": "Čo robí", - "body": "Pridá dev<N> do /etc/pve/lxc/<ctid>.conf pre príslušné zariadenia /dev/dri/*, /dev/kfd alebo /dev/nvidia*. Spustí kontajner, nainštaluje balíky distribúcie a zosúladí video a render. Akcelerácia vyžaduje kompatibilný hardvér, knižnice a nastavenie aplikácie." + "body": "Pridá položky dev<N> do /etc/pve/lxc/<ctid>.conf pre príslušné uzly /dev/dri/*, /dev/kfd alebo /dev/nvidia*. Spustí kontajner, nainštaluje balíky používateľského priestoru pre jeho distribúciu a pri Intel/AMD zosúladí skupiny video a render. Akcelerácia aplikácií naďalej vyžaduje kompatibilný hardvér, knižnice a nastavenie aplikácie." }, "compare": { "heading": "Zdieľanie LXC a priame priradenie VM", @@ -78,7 +78,7 @@ }, "pickCt": { "title": "Vyberte kontajner LXC", - "body": "Zobrazí vhodné LXC podľa ID a názvu. OCI sú vylúčené; ich zariadenia nastavíte v Apps správcu OCI. Kontajner zastaví na konfiguráciu, spustí na inštaláciu a bežne obnoví pôvodný stav.", + "body": "Zobrazí vhodné kontajnery LXC podľa ID a názvu; kontajnery OCI sú vylúčené a pre zariadenia používajú OCI manager Apps. Kontajner sa zastaví, ak beží, spustí sa na inštaláciu ovládačov a bežne sa vráti do pôvodného stavu (spustený/zastavený).", "imageAlt": "Výber existujúceho kontajnera LXC" }, "selectGpu": { @@ -98,7 +98,7 @@ }, "applyConfig": { "title": "Použiť zmeny konfigurácie LXC", - "body1": "Zastaví kontajner a upraví /etc/pve/lxc/<ctid>.conf. Položky dev<N> obsahujú zvolené GID. Mechanizmus dev: tu nahrádza ručné pravidlá lxc.mount.entry. Overte výslednú konfiguráciu a oprávnenia.", + "body1": "Zastaví kontajner, ak beží, a upraví /etc/pve/lxc/<ctid>.conf. Číslované položky dev<N> obsahujú GID hostiteľa pre video alebo render. Existujúce riadky bind lxc.mount.entry pre /dev/dri sa nahradia položkami dev:; overte výslednú konfiguráciu a oprávnenia.", "body2": "Príklad po Intel + NVIDIA na tom istom kontajneri:" }, "installDrivers": { @@ -127,14 +127,14 @@ }, "alignGids": { "title": "Zarovnať GID a obnoviť stav", - "body1": "Načíta GID hostiteľa pre video a render; 44/104 použije iba ako náhradné hodnoty. Upraví /etc/group v kontajneri. video:44 a render:104 sú príklady, nie univerzálne ID. Overte členstvo aplikácie a účinné oprávnenia.", + "body1": "Pri Intel/AMD načíta GID hostiteľa pre video a render, pričom 44/104 použije iba ako náhradné hodnoty, a potom upraví /etc/group v kontajneri tak, aby zodpovedali; pri behu iba s NVIDIA sa tento krok preskočí. Položky ako video:44 a render:104 sú príklady, nie univerzálne ID. Overte členstvo aplikácie a účinné oprávnenia k zariadeniam.", "body2": "Pri bežnom dokončení pôvodne zastavený kontajner znovu zastaví; pôvodne spustený nechá bežať. Pri chybe spustenia alebo inštalácie overte konečný stav a záznam." } }, "vendors": { "heading": "Poznámky podľa výrobcu", "intelHeading": "Intel iGPU", - "intelBody": "Akcelerácia Intel vrátane Quick Sync závisí od generácie, kodekov a aplikácie. Zdieľa existujúce uzly ako /dev/dri/card0 a /dev/dri/renderD128; číslovanie sa môže líšiť. Musí ich poskytovať natívny ovládač hostiteľa, napríklad i915.", + "intelBody": "Akcelerácia médií Intel vrátane Quick Sync závisí od generácie GPU, kodekov a nastavenia aplikácie. Skript zdieľa tie z /dev/dri/card0, card1, renderD128 a renderD129, ktoré existujú; iné čísla uzlov sa nepridajú. Hostiteľ ich už musí poskytovať prostredníctvom natívneho ovládača, napríklad i915.", "amdHeading": "AMD", "amdBody": "AMD používa DRI pre Mesa/VA-API. Ak hostiteľ poskytuje /dev/kfd, zdieľa aj ten. ROCm/OpenCL potrebuje podporovaný hardvér a kompatibilné knižnice; zdieľanie zariadenia nenainštaluje celé prostredie ROCm.", "nvidiaHeading": "NVIDIA", diff --git a/web/messages/sk/docs/hardware/install-coral-tpu-host.json b/web/messages/sk/docs/hardware/install-coral-tpu-host.json index 5f052d12..b0b7ae5b 100644 --- a/web/messages/sk/docs/hardware/install-coral-tpu-host.json +++ b/web/messages/sk/docs/hardware/install-coral-tpu-host.json @@ -71,7 +71,7 @@ "title": "PCIe: moduly gasket a apex cez DKMS", "body": "Spustí sa iba pri zistenom Coral PCIe/M.2. Zostaví moduly pre aktuálne spustené jadro hostiteľa.", "items": [ - "Čistenie. Ak predchádzajúca inštalácia gasket-dkms zanechala chybný stav balíkov, skript sa ju pred zostavením pokúsi odstrániť.", + "Čistenie. Existujúci balík gasket-dkms sa pred opätovným zostavením odstráni; ak je v chybnom stave, skript vynúti jeho odstránenie a vyčistenie (purge).", "Závislosti na zostavenie: git, dkms, build-essential, proxmox-headers-$(uname -r)." ], "cloneIntro": "Klonuje zdroje ovládača. Uprednostní feranick/gasket-driver, inak použije google/gasket-driver. Úspešné zostavenie závisí od kompatibility jadra. Na zdroje Google aplikuje tieto opravy podľa verzie:", @@ -132,7 +132,7 @@ "Úplne odstráni gasket-dkms, libedgetpu1-std a libedgetpu1-max a spustí apt-get autoremove --purge.", "Odstráni /etc/udev/rules.d/99-coral-apex.rules a obnoví predvolenú skupinu v 60-gasket-dkms.rules, ak súbor ešte existuje.", "Skontroluje doplnkových členov apex. Ak je zoznam prázdny, pokúsi sa skupinu odstrániť; inak apex zachová a vypíše členov. Nejde o úplnú kontrolu používateľov s touto primárnou skupinou.", - "Odstráni staré repozitáre vrátane /etc/apt/sources.list.d/coral-edgetpu.list a zväzky kľúčov s názvom coral-edgetpu-archive-keyring.gpg. Aktuálny zväzok /etc/apt/keyrings/coral-edgetpu.gpg zostane.", + "Odstráni zoznam repozitárov /etc/apt/sources.list.d/coral-edgetpu.list, starší coral-cloud.list a staré zväzky kľúčov s názvom coral-edgetpu-archive-keyring.gpg. Aktuálny zväzok kľúčov v /etc/apt/keyrings/coral-edgetpu.gpg tento postup neodstráni.", "Ponúkne reštart iba ak bol nainštalovaný PCIe postup, aby uvoľnil stále aktívne moduly. Odstránenie samotného USB reštart nevyžaduje." ], "lxcWarnTitle": "Nádoby LXC s priechodom apex", diff --git a/web/messages/sk/docs/hardware/nvidia-host.json b/web/messages/sk/docs/hardware/nvidia-host.json index 4c4a4a78..89762a7c 100644 --- a/web/messages/sk/docs/hardware/nvidia-host.json +++ b/web/messages/sk/docs/hardware/nvidia-host.json @@ -10,7 +10,7 @@ }, "intro": { "title": "Čo robí", - "body": "Zistí GPU a ponúkne udržiavané vetvy s jeho PCI ID. Zablokuje nouveau, stiahne oficiálny inštalátor .run, používa DKMS a nainštaluje nvidia-persistenced s pravidlami udev; patch NVENC je voliteľný. Zostavenie overuje aktuálne jadro, nezaručuje však všetky aplikácie. LXC NVIDIA môžu dostať zodpovedajúce knižnice." + "body": "ProxMenux zistí GPU a ponúkne udržiavané vetvy NVIDIA, ktoré uvádzajú jeho PCI ID. Zablokuje nouveau, stiahne oficiálny inštalátor .run, používa DKMS, nainštaluje nvidia-persistenced, pravidlá udev a NVIDIA Container Toolkit a ponúkne voliteľný patch NVENC. Kontroly zostavenia overujú bežiace jadro; úspešná kompilácia nezaručuje, že bude fungovať každá aplikácia. Existujúcim LXC NVIDIA sa ponúkne aktualizácia knižníc používateľského priestoru so zodpovedajúcou verziou, okrem Arch." }, "who": { "heading": "Pre koho je toto?", @@ -89,7 +89,7 @@ }, "reboot": { "title": "Reštartovať", - "body": "Obnoví initramfs pre všetky jadrá a ponúkne reštart. Naplánujte tento reštart na overenie modulov a konfigurácie nouveau pri štarte, aj keď ovládač odpovedá už predtým." + "body": "Po inštalácii ovládača skript obnoví initramfs pre všetky jadrá; jeho posledný krok ponúkne reštart. Naplánujte tento reštart na overenie trvalej konfigurácie modulov a nouveau pri novom štarte, aj keď nový ovládač odpovedá už pred reštartom." } }, "reinstallUninstall": { @@ -102,8 +102,8 @@ "uninstallHeading": "Odinštalovať čo sa odstráni", "uninstallIntro": "Po potvrdení Áno/Nie odstráni nasledujúce komponenty:", "uninstallItems": [ - "Spustí nvidia-uninstall --silent pre inštaláciu .run, zastaví a zakáže nvidia-persistenced a nvidia-powerd a skúsi odpojiť nvidia_uvm, nvidia_drm, nvidia_modeset a nvidia. Ovplyvní aplikácie LXC NVIDIA; aktívni klienti môžu odpojenie blokovať.", - "Spustí apt purge pre nvidia-*, libnvidia-*, cuda-* a libcudnn*, odstráni zdrojový strom DKMS a vyrovnávaciu pamäť inštalátora .run v /opt/nvidia.", + "Zastaví a zakáže nvidia-persistenced a nvidia-powerd, skúsi odpojiť nvidia_uvm, nvidia_drm, nvidia_modeset a nvidia a potom spustí nvidia-uninstall --silent pre inštaláciu .run. Ovplyvní záťaže LXC závislé od NVIDIA; aktívni klienti môžu odpojenie blokovať.", + "Spustí apt purge pre nvidia-*, libnvidia-*, cuda-* a libcudnn*, odstráni zdrojový strom DKMS a priečinky nvidia-persistenced a nvidia-patch v /opt/nvidia.", "Odstráni konfiguráciu načítavania modulov (/etc/modules-load.d/nvidia-vfio.conf) a položky blokovania ovládača nouveau spravované ProxMenux. Staré dvojriadkové súbory blokovania ProxMenux sa tiež migrujú a odstránia. Upravené alebo nesúvisiace súbory správcu sa zachovajú.", "Odstráni /etc/udev/rules.d/70-nvidia.rules a nastaví stav NVENC na removed v registri spravovaných inštalácií; samostatný stavový súbor neexistuje.", "Obnoví initramfs pre všetky jadrá, podľa konfigurácie zavádzania spustí proxmox-boot-tool refresh a vyzve na reštart." diff --git a/web/messages/sk/docs/hardware/switch-gpu-mode.json b/web/messages/sk/docs/hardware/switch-gpu-mode.json index 63e3bff6..cdd4f760 100644 --- a/web/messages/sk/docs/hardware/switch-gpu-mode.json +++ b/web/messages/sk/docs/hardware/switch-gpu-mode.json @@ -42,21 +42,21 @@ }, { "situation": "Chcem odstrániť všetky priradenia tohto GPU.", - "use": "Režim LXC vráti GPU ovládaču hostiteľa; priradenia hostí odstráňte príslušnými voľbami konfliktov. GPU zostane pripojený k ovládaču." + "use": "Režim LXC vráti GPU ovládaču hostiteľa; postup pri konflikte pre VM môže odstrániť položky hostpci, položky zariadení LXC však treba odstrániť samostatne. GPU zostane pripojený k ovládaču." } ] }, "prereqs": { "title": "Skôr ako začnete", "assigned": "Už priradený GPU do VM cez VFIO alebo do LXC. Pri prvom priradení použite Pridať GPU do VM / LXC.", - "iommu": "IOMMU musí byť aktívne na hostiteľovi pri prechode do režimu VM. Záleží na firmvéri a podpore jadra; explicitné parametre nie sú vždy potrebné. V prípade potreby skript skúsi intel_iommu=on iommu=pt alebo amd_iommu=on cez aktívny spôsob zavádzania s proxmox-boot-tool refresh alebo update-grub. Skontrolujte varovania a podľa výzvy reštartujte.", + "iommu": "IOMMU musí byť aktívne na hostiteľovi pri prechode do režimu VM. Záleží na nastaveniach firmvéru aj na podpore jadra. Ak v bežiacom jadre chýba intel_iommu=on alebo amd_iommu=on, skript ho pridá s iommu=pt do /etc/kernel/cmdline (značka koreňa ZFS) alebo /etc/default/grub a potom spustí proxmox-boot-tool refresh alebo update-grub. Skontrolujte prípadné varovania a podľa výzvy reštartujte.", "iommuCheck": "dmesg | grep -i 'IOMMU enabled' | head -1", "reboot": "Počítajte s reštartom. Trvalé zmeny ovládača a zavádzania môžu vyžadovať obnovu initramfs a reštart. Skript na to vyzve na konci.", "knowList": "Zistite, ktoré VM a LXC používajú GPU. Skript vyhľadá odkazy a spýta sa na každého hosťa; známy zoznam uľahčí kontrolu." }, "blocklist": { "title": "Nie všetky GPU sú bezpečné prejsť na VM", - "body": "Skript blokuje režim VM pre niektoré ID vrátane 8086:5a84 a 8086:5a85 podľa pravidiel kompatibility. Pri zhode zobrazí varovanie. Tento zoznam nebráni prechodu do režimu LXC; ďalšie kontroly naďalej platia." + "body": "Skript podľa svojich pravidiel kompatibility blokuje režim VM pre ID zariadení 8086:5a84 a 8086:5a85. Ak vybraná GPU zodpovedá, zastaví prechod do režimu VM a vráti sa na výber GPU, alebo skončí, ak je to jediná GPU. Tento zoznam blokovaných nebráni prechodu do režimu LXC; ďalšie kontroly môžu naďalej platiť." }, "running": { "heading": "Spustenie skriptu", @@ -85,7 +85,7 @@ "intro": "Na základe aktuálneho režimu, skript navrhuje opak ako cieľ:", "items": [ "VM → LXC: odstráni väzbu na vfio-pci, aby GPU mohol používať natívny ovládač (nvidia, amdgpu, i915). Pre NVIDIA odstráni príslušné položky BDF z /etc/udev/rules.d/10-proxmenux-vfio-bind.rules pre ďalší štart.", - "LXC → VM: pripraví priradenie k vfio-pci. AMD / Intel blokuje natívny ovládač a používa options vfio-pci ids=…. Pre NVIDIA sa nvidia neblokuje globálne: pravidlá BDF nastavia driver_override=vfio-pci zariadeniam dotknutých skupín IOMMU. GPU mimo týchto skupín si môžu ponechať nvidia. Skontrolujte každého člena skupiny." + "LXC → VM: pripraví priradenie k vfio-pci. AMD / Intel blokujú natívny ovládač a používajú options vfio-pci ids=…. Pre NVIDIA sa nvidia globálne blokuje iba vtedy, keď je každá NVIDIA GPU hostiteľa vo VFIO; inak pravidlá podľa BDF nastavia driver_override=vfio-pci zariadeniam dotknutých skupín IOMMU a NVIDIA GPU mimo týchto skupín si ponechajú nvidia. Pred prepnutím skontrolujte každého člena skupiny." ], "outro": "Potvrdiť smer alebo zrušiť." }, diff --git a/web/messages/sv/docs/hardware/coral-tpu-lxc.json b/web/messages/sv/docs/hardware/coral-tpu-lxc.json index 34a25383..af76627f 100644 --- a/web/messages/sv/docs/hardware/coral-tpu-lxc.json +++ b/web/messages/sv/docs/hardware/coral-tpu-lxc.json @@ -18,7 +18,7 @@ }, "prereqs": { "title": "Innan du börjar", - "drivers": "Förbered Coral på värden. M.2 / PCIe kräver att värddrivrutinen är laddad; USB kräver enhetsåtkomst och rätt behörigheter. Se Installera Coral TPU på värden. Appens körmiljö måste finnas i containern.", + "drivers": "Förbered Coral-enheten på värden. M.2 / PCIe kräver att värddrivrutinen är laddad; USB kräver enhetsåtkomst och rätt behörigheter. Se Installera Coral TPU på värden. Skriptet installerar appens körmiljö i Debian/Ubuntu-containrar; andra distributioner måste tillhandahålla den separat.", "driversCheck": "ls /dev/apex_* 2>/dev/null ; lsusb | grep -E '1a6e:089a|18d1:9302'", "container": "En befintlig LXC, helst baserad på Debian / Ubuntu: installationen använder apt-get. Containrar med andra distributioner kan välja läge med enbart enhetsåtkomst, som hoppar över APT-installationen av libedgetpu. Passar om appen redan innehåller körmiljön, som Frigates Docker-avbildning.", "downtime": "Planera ett kort driftstopp för containern. Skriptet stoppar den för konfiguration och startar den för installation av körmiljön. Dessa ändringar kräver ingen omstart av värden." @@ -44,7 +44,7 @@ }, "gpuHint": { "title": "Valfritt förslag om GPU-åtkomst", - "body": "Om en GPU hittas men inte är konfigurerad för containern rekommenderas Lägg till GPU i LXC för videoavkodning, som Quick Sync, VA-API eller NVDEC. Frågan gäller fortsatt installation av enbart Coral: Ja fortsätter, Nej avslutar så att GPU:n kan konfigureras först." + "body": "Om en GPU hittas men inte är konfigurerad för den här containern rekommenderar en dialog Lägg till GPU i LXC för hårdvaruavkodning av video, som Quick Sync, VA-API eller NVENC. Den frågar om installationen ska fortsätta med enbart Coral: Ja fortsätter TPU-konfigurationen, Nej avslutar så att du kan konfigurera GPU:n först." }, "usb": { "title": "Konfigurera USB-åtkomst i LXC", @@ -55,7 +55,7 @@ "pcie": { "title": "Konfigurera M.2 / PCIe-åtkomst i LXC", "body1": "Om M.2 / PCIe-Coral hittas och /dev/apex_0 finns används Proxmox API dev för cgroup2-behörigheter i privilegierade och oprivilegierade LXC:", - "body2": "Om /dev/apex_0 ännu saknas efter Installera Coral på värden används klassisk cgroup2-konfiguration och en valfri bind-montering med create=file. Det skapar inte i sig en fungerande enhet:", + "body2": "Om /dev/apex_0 saknas efter Installera Coral på värden skriver skriptet en bind-montering med create=file och, endast när apex-majornumret finns listat i /proc/devices, en klassisk cgroup2-regel. Ingen av dem skapar en fungerande enhet:", "rebootTitle": "Starta om värden först om du nyss installerat Coral-drivrutiner", "rebootBody": "Reservmonteringen laddar inte värdens apex-drivrutin. Ladda den eller starta om efter installationen och kontrollera enheten. Kör sedan skriptet igen för den moderna enhetsposten och starta om containern." }, @@ -92,7 +92,7 @@ "troubleshoot": { "heading": "Felsökning", "apexTitle": "LXC har startat men /dev/apex_0 saknas", - "apexBody": "Kontrollera värdens drivrutin: lsmod | grep apex. Om den saknas, prova modprobe apex eller starta om efter installationen. När /dev/apex_0 finns på värden, kontrollera LXC-enhetsposten och starta om med pct stop <ctid> && pct start <ctid>.", + "apexBody": "Kontrollera först värdens drivrutin: lsmod | grep apex. Om den saknas, prova modprobe apex eller starta om efter installationen av drivrutinen. När /dev/apex_0 finns på värden, kontrollera LXC-enhetsposten (kör skriptet igen om bara reservposterna skrevs) och starta om containern med pct stop <ctid> && pct start <ctid>.", "replugTitle": "USB-Coral försvinner efter återanslutning till en annan port", "replugBody": "Kontrollera att LXC monterar /dev/bus/usb i stället för länken /dev/coral. Konfigurationen ska innehålla lxc.mount.entry: /dev/bus/usb dev/bus/usb ... utan direkt beroende av /dev/coral. Kör skriptet igen om konfigurationen är gammal.", "alpineTitle": "Alpine / Arch / RHEL / SUSE: körmiljö inte installerad", diff --git a/web/messages/sv/docs/hardware/gpu-vm-passthrough.json b/web/messages/sv/docs/hardware/gpu-vm-passthrough.json index 77e21b5c..6e6bb008 100644 --- a/web/messages/sv/docs/hardware/gpu-vm-passthrough.json +++ b/web/messages/sv/docs/hardware/gpu-vm-passthrough.json @@ -45,7 +45,7 @@ "heading": "Steg för steg", "detect": { "title": "Upptäck GPU och kontrollera IOMMU", - "body": "Kontrollerar aktiv IOMMU, inte bara parametrar. Separat bekräftelse kan lägga till intel_iommu=on eller amd_iommu=on med iommu=pt. Väljer /etc/kernel/cmdline vid ZFS-markör som root=ZFS=, annars /etc/default/grub. Heuristiken bevisar inte vilken starthanterare som används. Starta om och kontrollera faktiska grupper.", + "body": "Betraktar IOMMU som aktivt endast när den körande kärnan har intel_iommu=on eller amd_iommu=on och IOMMU-grupper finns. Om parametern redan är sparad för nästa start fortsätter den i läget väntande omstart; annars kan ett separat bekräftat steg lägga till den med iommu=pt. Dess heuristik för startfilen använder /etc/kernel/cmdline när en ZFS-rotmarkör som root=ZFS= finns där; annars används /etc/default/grub. Heuristiken bevisar inte vilken starthanterare som faktiskt används. Nykonfigurerad IOMMU börjar gälla efter omstart; kontrollera de faktiska grupperna efteråt.", "tipTitle": "Har du redan gjort efterinstallationen?", "tipBody": "Om VFIO IOMMU-stöd redan är inställt och aktivt i kerneln godkänns kontrollen. En inställning för nästa start bevisar inte att det är aktivt nu.", "imageAlt": "Lista över upptäckta GPU med leverantör och PCI-adress" @@ -58,7 +58,7 @@ "En enda GPU. Den lokala konsolen kan förlora bildutmatningen när VFIO reserverar GPU:n. Kontrollera först SSH- eller webbåtkomst från en annan dator.", "AMD-policy för återställning. Läser /sys/bus/pci/devices/<pci>/reset_method. APU eller separat kort utan FLR blockeras av guidens policy; okänd undertyp utan FLR kräver bekräftelse. Det bevisar inte att funktionen är omöjlig i alla miljöer.", "D3cold-läge. Guiden blockerar AMD-kort som rapporterar D3cold på grund av risk för aktiveringsfel. Kontrollera strömhantering och firmware.", - "IOMMU-grupp. Läser /sys/kernel/iommu_groups/ och tar med alla medlemmar utom bryggor, även nätverks- eller lagringskontroller. Kontrollera före bekräftelse. Om IOMMU väntar på omstart planeras först bara GPU-funktionen; kontrollera isoleringen efteråt." + "Analys av IOMMU-grupp. Läser /sys/kernel/iommu_groups/ och tar med alla medlemmar utom bryggor i VM-planen, möjligen nätverks- eller lagringskontroller. Skriptet listar dem inte, så kontrollera gruppen själv före bekräftelse. Om IOMMU väntar på omstart är de faktiska grupperna inte tillgängliga och planen innehåller först bara den valda GPU-funktionen; kontrollera isoleringen efter omstarten." ], "audioIntro": "Tillhörande ljud. Två fall beroende på var kontrollern finns:", "audioDgpu": "Separat GPU: HDMI-ljud finns ofta på funktion .1 i samma PCI-plats och tas med om det hittas. Om värden använde ljudet förlorar den åtkomsten när det reserveras för VM:n.", @@ -75,7 +75,7 @@ "items": [ "GPU tillgänglig. Fortsätter utan att ta bort tilldelningar.", "Tilldelad till en annan VM. Stoppa först källan. Välj behåll poster och inaktivera automatisk start eller ta bort poster och behåll automatisk start. Med aktiv vfio-pci utan nödvändiga värdändringar kan VM→VM ske utan omstart av värden.", - "Används av LXC. För vanliga containrar, behåll konfigurationen och inaktivera automatisk start eller ta bort enheter och äldre lxc.cgroup2.devices.allow/lxc.mount.entry-regler men behåll automatisk start. OCI behåller konfigurationen och stoppas utan automatisk start; ta bort dess GPU i Apps. Familjebaserad identifiering kan omfatta fler kort." + "GPU som används av LXC. För vanliga containrar, välj behåll GPU-konfigurationen och inaktivera automatisk start eller ta bort GPU-enhetskonfigurationen och behåll automatisk start. Borttagningen raderar devN-posterna och, för AMD/Intel, även äldre /dev/dri-regler för lxc.mount.entry och lxc.cgroup2.devices.allow. OCI-containrar behåller sin konfiguration och stoppas med automatisk start inaktiverad; ta bort deras GPU via OCI manager Apps. Konfliktidentifieringen sker per GPU-enhetsfamilj och kan omfatta andra kort i samma familj." ], "imageAlt": "Dialog erbjudande att ta bort GPU från en LXC innan tilldela den till VM", "smartTitle": "Granska tillhörande ljud när GPU:n tas bort", @@ -90,7 +90,7 @@ }, "summary": { "title": "Granska bekräftelse sammanfattning", - "body": "Granska slutplanen, särskilt varje IOMMU-medlem, och avbryt om något är fel. Stoppar huvudändringarna men återställer inte en tidigare separat bekräftad IOMMU-startändring.", + "body": "Granska den slutliga planen för värd och VM och avbryt om den är fel. Den visar IOMMU-gruppen och antalet enheter i den, inte varje medlem, så kontrollera gruppen i förväg. Att avbryta stoppar huvudändringarna men återställer inte en tidigare separat bekräftad ändring av IOMMU-startkonfigurationen.", "imageAlt": "Översikt över planerade ändringar på värd och VM" }, "hostApply": { @@ -102,7 +102,7 @@ "Skriver /etc/modprobe.d/iommu_unsafe_interrupts.conf och kvm.conf med allow_unsafe_interrupts=1 och ignore_msrs=1. Detta är skriptets kompatibilitetsval, inga universella Windows/macOS-krav; osäkra avbrott försvagar avbrottsomappningens skydd.", "/etc/modprobe.d/blacklist.conf: NVIDIA — nouveau/lbm-nouveau; AMD — radeon + amdgpu; Intel — i915. Dessa regler per tillverkare kan påverka andra kort med samma drivrutin. Modulen nvidia blockeras bara via /etc/modprobe.d/proxmenux-nvidia-vfio-blacklist.conf när alla värdens NVIDIA-kort är registrerade för VFIO.", "/etc/udev/rules.d/10-proxmenux-vfio-bind.rules + /etc/proxmenux/vfio-bind.bdfs — Endast NVIDIA. Sätter ATTR'{'driver_override'}'=\"vfio-pci\" vid PCI ADD för registrerade BDF:er, inklusive berörda IOMMU-gruppfunktioner. Utanför grupperna kan nvidia behållas. BDF-policy delar inte upp hårdvarans IOMMU-grupp.", - "Endast AMD. Försöker läsa ROM från /sys/bus/pci/.../rom eller ACPI VFCT till /usr/share/kvm/vbios_<card>.bin. Vid framgång används romfile=. En giltig ROM garanterar inte GPU-initialisering.", + "Endast AMD. Försöker dumpa ROM från /sys/bus/pci/.../rom eller ACPI VFCT till /usr/share/kvm/vbios_<vendor>_<device>.bin. Vid framgång använder VM:en romfile=. En giltig dump garanterar inte att GPU-initialiseringen lyckas.", "Endast NVIDIA. Stoppar och inaktiverar nvidia-persistenced, nvidia-powerd, nvidia-fabricmanager bara när alla NVIDIA-kort reserverats för VFIO. Vid blandad användning behålls tjänsterna och nvidia för vanliga värdkort.", "update-initramfs -u -k all - körs endast om något av ovanstående faktiskt ändrats." ] diff --git a/web/messages/sv/docs/hardware/igpu-acceleration-lxc.json b/web/messages/sv/docs/hardware/igpu-acceleration-lxc.json index 286dda26..5ceb8dfd 100644 --- a/web/messages/sv/docs/hardware/igpu-acceleration-lxc.json +++ b/web/messages/sv/docs/hardware/igpu-acceleration-lxc.json @@ -10,7 +10,7 @@ }, "intro": { "title": "Vad det gör", - "body": "Lägger till dev<N> i /etc/pve/lxc/<ctid>.conf för tillämpliga /dev/dri/*-, /dev/kfd- eller /dev/nvidia*-enheter. Startar containern, installerar distributionspaket och anpassar video och render. Acceleration kräver kompatibel hårdvara, bibliotek och appinställningar." + "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", @@ -78,7 +78,7 @@ }, "pickCt": { "title": "Välj en LXC-container", - "body": "Listar lämpliga LXC-containrar med ID och namn. OCI undantas; enheterna ändras under Apps i OCI-hanteraren. Containern stoppas för konfigurering, startas för installation och återgår normalt till ursprungligt läge.", + "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": { @@ -98,7 +98,7 @@ }, "applyConfig": { "title": "Tillämpa ändringarna i LXC-konfigurationen", - "body1": "Stoppar containern och ändrar /etc/pve/lxc/<ctid>.conf. Poster av typen dev<N> innehåller valda GID:n. Mekanismen dev: ersätter här manuella lxc.mount.entry-regler. Kontrollera slutlig konfiguration och rättigheter.", + "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": { @@ -127,14 +127,14 @@ }, "alignGids": { "title": "Anpassa GID:n och återställ tillståndet", - "body1": "Läser värdens GID:n för video och render, med 44/104 som reservvärden, och ändrar /etc/group i containern. video:44 och render:104 är exempel, inte universella ID:n. Kontrollera appens grupper och faktiska rättigheter.", + "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": "Intel-acceleration med Quick Sync beror på generation, kodekar och appinställningar. Delar befintliga noder som /dev/dri/card0 och /dev/dri/renderD128; numreringen kan variera. Värdens vanliga drivrutin, exempelvis i915, måste tillhandahålla dem.", + "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", diff --git a/web/messages/sv/docs/hardware/install-coral-tpu-host.json b/web/messages/sv/docs/hardware/install-coral-tpu-host.json index cb4683fa..6dccb0d5 100644 --- a/web/messages/sv/docs/hardware/install-coral-tpu-host.json +++ b/web/messages/sv/docs/hardware/install-coral-tpu-host.json @@ -71,7 +71,7 @@ "title": "PCIe: modulerna gasket och apex med DKMS", "body": "Körs bara om en PCIe/M.2-Coral hittas. Bygger moduler för den kernel som värden kör.", "items": [ - "Rensning. Om en tidigare installation av gasket-dkms lämnat paketen i felaktigt tillstånd försöker skriptet rensa bort den före bygget.", + "Rensning. Ett befintligt gasket-dkms-paket tas bort före ombygget; om paketet är i ett felaktigt tillstånd tvingar skriptet fram borttagning och rensning (purge).", "Byggberoenden: git, dkms, build-essential, proxmox-headers-$(uname -r)." ], "cloneIntro": "Klonar drivrutinens källkod. Föredrar feranick/gasket-driver, annars används google/gasket-driver. Bygget kräver en kompatibel kernel. Google-koden får följande versionsberoende ändringar:", @@ -132,7 +132,7 @@ "Rensar bort gasket-dkms, libedgetpu1-std och libedgetpu1-max och kör apt-get autoremove --purge.", "Tar bort /etc/udev/rules.d/99-coral-apex.rules och återställer standardgruppen i 60-gasket-dkms.rules om filen finns kvar.", "Kontrollerar kompletterande medlemmar i apex. Om listan är tom försöker skriptet ta bort gruppen; annars behålls apex och medlemmarna listas. Användare med gruppen som primär grupp kontrolleras inte fullständigt.", - "Tar bort äldre förrådsfiler som /etc/apt/sources.list.d/coral-edgetpu.list och nyckelringar med namnet coral-edgetpu-archive-keyring.gpg. Den aktuella nyckelringen /etc/apt/keyrings/coral-edgetpu.gpg lämnas kvar.", + "Tar bort förrådslistan /etc/apt/sources.list.d/coral-edgetpu.list, den äldre coral-cloud.list och gamla nyckelringar med namnet coral-edgetpu-archive-keyring.gpg. Den aktuella nyckelringen i /etc/apt/keyrings/coral-edgetpu.gpg tas inte bort av den här sekvensen.", "Erbjuder omstart bara om PCIe var installerat för att ta bort kvarvarande moduler ur kerneln. Avinstallation av enbart USB kräver ingen omstart." ], "lxcWarnTitle": "LXC containrar med apex genomgång", diff --git a/web/messages/sv/docs/hardware/nvidia-host.json b/web/messages/sv/docs/hardware/nvidia-host.json index df07603b..0401a1db 100644 --- a/web/messages/sv/docs/hardware/nvidia-host.json +++ b/web/messages/sv/docs/hardware/nvidia-host.json @@ -10,7 +10,7 @@ }, "intro": { "title": "Vad det gör", - "body": "Identifierar GPU:n och erbjuder underhållna grenar med dess PCI-ID. Blockerar nouveau, hämtar den officiella .run-installationen, använder DKMS och installerar nvidia-persistenced med udev-regler; NVENC-patch är valfri. Byggkontroller gäller aktuell kärna utan att garantera alla appar. NVIDIA-LXC kan få matchande användarbibliotek." + "body": "ProxMenux identifierar GPU:n och erbjuder underhållna NVIDIA-grenar som listar dess PCI-ID. Det blockerar nouveau, hämtar den officiella .run-installationen, använder DKMS, installerar nvidia-persistenced, udev-regler och NVIDIA Container Toolkit och erbjuder en valfri NVENC-patch. Byggkontroller bedömer den körande kärnan; en lyckad kompilering garanterar inte att alla appar fungerar. Befintliga NVIDIA-LXC erbjuds en uppdatering av användarbiblioteken, med matchande version utom på Arch." }, "who": { "heading": "Vem är detta för?", @@ -89,7 +89,7 @@ }, "reboot": { "title": "Starta om", - "body": "Bygger om initramfs för alla kärnor och erbjuder omstart. Planera den omstarten för att kontrollera moduler och nouveau-konfiguration vid ny start, även om drivrutinen redan svarar före omstarten." + "body": "Efter installationen av drivrutinen bygger skriptet om initramfs för alla kärnor; dess sista steg erbjuder omstart. Planera den omstarten för att kontrollera den beständiga modul- och nouveau-konfigurationen vid en ny start, även om den nya drivrutinen redan svarar före omstarten." } }, "reinstallUninstall": { @@ -102,8 +102,8 @@ "uninstallHeading": "Avinstallera - vad som tas bort", "uninstallIntro": "Efter Ja/Nej-bekräftelse tas följande komponenter bort:", "uninstallItems": [ - "Kör nvidia-uninstall --silent för .run-installationen, stoppar och inaktiverar nvidia-persistenced och nvidia-powerd och försöker ladda ur nvidia_uvm, nvidia_drm, nvidia_modeset och nvidia. NVIDIA-LXC påverkas; aktiva klienter kan hindra urladdningen.", - "Kör apt purge på nvidia-*, libnvidia-*, cuda-* och libcudnn*, tar bort DKMS källträd och /opt/nvidia .run installer cache.", + "Stoppar och inaktiverar nvidia-persistenced och nvidia-powerd, försöker ladda ur nvidia_uvm, nvidia_drm, nvidia_modeset och nvidia och kör sedan nvidia-uninstall --silent för .run-installationen. NVIDIA-beroende LXC-arbetslaster påverkas; aktiva klienter kan hindra urladdningen.", + "Kör apt purge på nvidia-*, libnvidia-*, cuda-* och libcudnn*, tar bort DKMS-källträdet och mapparna nvidia-persistenced och nvidia-patch under /opt/nvidia.", "Tar bort modulkonfigurationen /etc/modules-load.d/nvidia-vfio.conf och ProxMenux egna nouveau-blockeringar. Äldre ProxMenux-filer med de två kända raderna migreras och tas bort; ändrade eller orelaterade administratörsfiler bevaras.", "Tar bort /etc/udev/rules.d/70-nvidia.rules och sätter NVENC-status till removed i registret för hanterade installationer; ingen separat statusfil finns.", "Bygger om initramfs för alla kärnor, kör proxmox-boot-tool refresh enligt startkonfigurationen och frågar om omstart." diff --git a/web/messages/sv/docs/hardware/switch-gpu-mode.json b/web/messages/sv/docs/hardware/switch-gpu-mode.json index ca5135d1..14c4fac1 100644 --- a/web/messages/sv/docs/hardware/switch-gpu-mode.json +++ b/web/messages/sv/docs/hardware/switch-gpu-mode.json @@ -42,21 +42,21 @@ }, { "situation": "Jag vill ta bort alla tilldelningar av denna GPU.", - "use": "LXC-läget återför GPU:n till värdens drivrutin; ta bort gästtilldelningar med motsvarande konfliktval. GPU:n är fortfarande bunden till en drivrutin." + "use": "LXC-läget återför GPU:n till värdens drivrutin; VM-konfliktpolicyn kan ta bort hostpci-poster, men LXC-enhetsposter måste tas bort separat. GPU:n är fortfarande bunden till en drivrutin." } ] }, "prereqs": { "title": "Innan du börjar", "assigned": "En redan tilldelad GPU i en VM via VFIO eller i en LXC. För första tilldelningen, använd Lägg till GPU i VM / LXC.", - "iommu": "IOMMU måste vara aktivt på värden vid byte till VM-läge. Firmware och kärnstöd behövs; explicita parametrar är inte alltid nödvändiga. Vid behov försöker skriptet lägga till intel_iommu=on iommu=pt eller amd_iommu=on via aktiv startkonfiguration med proxmox-boot-tool refresh eller update-grub. Granska varningar och starta om när du uppmanas.", + "iommu": "IOMMU måste vara aktivt på värden vid byte till VM-läge. Både firmwareinställningar och kärnstöd spelar roll. Om intel_iommu=on eller amd_iommu=on saknas i den körande kärnan lägger skriptet till det med iommu=pt i /etc/kernel/cmdline (ZFS-rotmarkör) eller /etc/default/grub och kör sedan proxmox-boot-tool refresh eller update-grub. Granska eventuella varningar och starta om när du uppmanas.", "iommuCheck": "dmesg | grep -i 'IOMMU enabled' | head -1", "reboot": "Planera en omstart. Beständiga drivrutins- och startändringar kan kräva ombyggnad av initramfs och omstart. Skriptet frågar om detta i slutet.", "knowList": "Ta reda på vilka VM och LXC som använder GPU:n. Skriptet hittar referenser och frågar hur varje gäst ska hanteras; en känd lista underlättar granskningen." }, "blocklist": { "title": "Inte alla GPU är säkra att passera till en VM", - "body": "Skriptet blockerar VM-läge för vissa enhets-ID, bland annat 8086:5a84 och 8086:5a85, enligt sin kompatibilitetspolicy. En träff visar en varning. Listan hindrar inte byte till LXC-läge; andra kontroller kan fortfarande gälla." + "body": "Skriptet blockerar VM-läge för enhets-ID 8086:5a84 och 8086:5a85 enligt sin kompatibilitetspolicy. Om en vald GPU matchar avbryts bytet till VM-läge och skriptet återgår till GPU-valet, eller avslutas om det är den enda GPU:n. Blocklistan hindrar inte byte till LXC-läge; andra kontroller kan fortfarande gälla." }, "running": { "heading": "Kör skriptet", @@ -85,7 +85,7 @@ "intro": "Baserat på det aktuella läget föreslår manuset motsatsen som mål:", "items": [ "VM → LXC: tar bort bindningen till vfio-pci så att den inbyggda drivrutinen (nvidia, amdgpu, i915) kan använda GPU:n. För NVIDIA tas motsvarande BDF-poster bort från /etc/udev/rules.d/10-proxmenux-vfio-bind.rules inför nästa start.", - "LXC → VM: förbereder bindning till vfio-pci. AMD / Intel blockerar den inbyggda drivrutinen och använder options vfio-pci ids=…. För NVIDIA blockeras nvidia inte globalt: BDF-regler sätter driver_override=vfio-pci för enheterna i berörda IOMMU-grupper. GPU:er utanför grupperna kan behålla nvidia. Granska varje gruppmedlem." + "LXC → VM: förbereder bindning till vfio-pci. AMD / Intel blockerar den inbyggda drivrutinen och använder options vfio-pci ids=…. För NVIDIA blockeras nvidia globalt endast när varje NVIDIA-GPU på värden är i VFIO; annars sätter regler per BDF driver_override=vfio-pci för enheterna i berörda IOMMU-grupper, och NVIDIA-GPU:er utanför grupperna behåller nvidia. Granska varje gruppmedlem före bytet." ], "outro": "Bekräfta riktningen eller avbryt." },