mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-01 10:22:08 +00:00
176 lines
17 KiB
JSON
176 lines
17 KiB
JSON
{
|
|
"meta": {
|
|
"title": "Instalar NVIDIA en el host | Documentación de ProxMenux",
|
|
"description": "Instala controladores propietarios NVIDIA en Proxmox VE con ProxMenux: filtrado por GPU, comprobaciones de compilación y DKMS, persistencia, parche NVENC opcional y actualización de bibliotecas en LXC."
|
|
},
|
|
"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: GPU y Coral-TPU"
|
|
},
|
|
"intro": {
|
|
"title": "Qué hace",
|
|
"body": "Detecta la GPU y ofrece ramas mantenidas que incluyen su ID PCI. Bloquea <code>nouveau</code>, descarga el instalador oficial <code>.run</code>, usa DKMS, instala <code>nvidia-persistenced</code>, 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?",
|
|
"body": "Para vídeo o cálculo acelerado en Plex, Jellyfin, Frigate, Immich o Stable Diffusion <strong>dentro de LXC</strong>, instala primero NVIDIA en el <em>host</em> Proxmox. Asignar la GPU directamente a una <strong>VM</strong> usa el procedimiento VFIO."
|
|
},
|
|
"prereqs": {
|
|
"title": "Antes de empezar",
|
|
"gpu": "<strong>Una GPU NVIDIA</strong> instalada en el host. Se detecta automáticamente; esta opción no gestiona AMD ni Intel.",
|
|
"gpuCheck": "lspci | grep -i nvidia",
|
|
"notVm": "La GPU <strong>no debe estar reservada para VM mediante VFIO</strong>. El instalador rechaza esa situación para evitar interferir en la asignación.",
|
|
"internet": "Acceso a internet en el host. El instalador descarga el driver desde <code>download.nvidia.com</code> y, opcionalmente, clona <code>nvidia-persistenced</code> y <code>nvidia-patch</code> desde GitHub.",
|
|
"space": "Reserva espacio en <code>/opt/nvidia</code> para <code>.run</code> y RAM para compilar. La actualización LXC no-Arch comprueba 1500 MiB libres y puede solicitar subir temporalmente a 2048 MiB de RAM si tiene menos; después restaura el límite anterior. Planifica el reinicio del host."
|
|
},
|
|
"vmWarn": {
|
|
"title": "¿GPU reservada para VM? Detente aquí",
|
|
"body": "Si algún dispositivo NVIDIA está vinculado a <code>vfio-pci</code>, el instalador sale aunque la VM esté parada. Estar reservado no implica que una VM lo esté usando. Planifica el regreso al controlador del host y retira asignaciones VM y VFIO obsoletas antes de reiniciar e instalar."
|
|
},
|
|
"running": {
|
|
"heading": "Ejecutar el instalador",
|
|
"body": "Abre <strong>Hardware Graphics → NVIDIA GPU Driver Installer</strong> en ProxMenux. El menú depende de si ya hay un controlador activo.",
|
|
"imageAlt": "Menú de hardware con el instalador NVIDIA resaltado"
|
|
},
|
|
"howRuns": {
|
|
"heading": "Cómo funciona el script",
|
|
"body": "Detecta dispositivos, elige versión e instala. Antes del resumen puede ofrecer limpiar VFIO antiguo con confirmación propia. La preparación de repositorios/cabeceras y la descarga preceden a sustituir el controlador; no todos los cambios empiezan tras una única confirmación final."
|
|
},
|
|
"walkthrough": {
|
|
"detect": {
|
|
"title": "Detección de GPU y resumen",
|
|
"body1": "Muestra las controladoras de vídeo NVIDIA, el estado del controlador o <em>«No NVIDIA driver installed»</em> y los LXC con acceso NVIDIA configurado, con su versión interna.",
|
|
"body2": "Revisa GPU y versiones del host y contenedores. Cancela en el resumen si algo no coincide con lo esperado; una limpieza VFIO confirmada antes ya se habrá aplicado.",
|
|
"imageAlt": "Resumen previo con GPU, controlador y LXC configurados para NVIDIA"
|
|
},
|
|
"version": {
|
|
"title": "Elegir la versión del driver",
|
|
"body1": "Filtra las versiones de <code>nvidia.com</code> que <strong>incluyen el ID PCI de la GPU en la tabla de chips compatibles</strong> y descarta versiones beta/desarrollo mediante heurísticas. <em><versión> — Recomendada</em> prioriza la última de la rama instalada; después Production Branch y, por último, la versión compatible de número más alto.",
|
|
"body2": "Si consta como parcheado por keylase, el selector limita las versiones a la tabla NVENC. <em>Reinstalar / actualizar</em> mantiene las confirmaciones y la opción de parche; comprueba el resultado final.",
|
|
"whyTitle": "Cómo se valida la compatibilidad con el kernel",
|
|
"whyBody": "Filtra por ramas mantenidas e ID PCI, sin una matriz fija de kernel/controlador. Una prueba previa intenta compilar para el kernel actual. Si confirma incompatibilidad, vuelve al selector; si no puede comprobarla, puede avisar y continuar. La instalación y las pruebas de funcionamiento siguen siendo necesarias.",
|
|
"imageAlt": "Selector de ramas compatibles con la GPU y recomendación al principio"
|
|
},
|
|
"uninstall": {
|
|
"title": "Retirar el controlador anterior al reinstalar",
|
|
"body": "Tras descargar y comprobar el instalador elegido, retira el controlador anterior antes de sustituirlo. Detiene servicios NVIDIA, descarga módulos, elimina entradas DKMS y purga <code>nvidia-*</code> / <code>libnvidia-*</code> / <code>cuda-*</code>. También se aplica al reinstalar la misma versión con confirmación."
|
|
},
|
|
"prepare": {
|
|
"title": "Preparar el sistema",
|
|
"body": "Durante la preparación, el script:",
|
|
"items": [
|
|
"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 <code>pve-headers-$(uname -r)</code> (o <code>proxmox-headers-$(uname -r)</code>), <code>build-essential</code> y <code>dkms</code>.",
|
|
"Crea <code>/etc/modprobe.d/proxmenux-nouveau-blacklist.conf</code>, gestionado por ProxMenux, con <code>blacklist nouveau</code> y <code>options nouveau modeset=0</code>. Registra si añadió la línea complementaria a <code>blacklist.conf</code> e intenta descargar nouveau.",
|
|
"Escribe <code>/etc/modules-load.d/nvidia-vfio.conf</code> con <code>nvidia</code> y <code>nvidia_uvm</code> para que los módulos se carguen pronto en el arranque."
|
|
]
|
|
},
|
|
"download": {
|
|
"title": "Descargar y ejecutar el instalador NVIDIA",
|
|
"body": "Descarga <code>NVIDIA-Linux-x86_64-<version>.run</code> a <code>/opt/nvidia</code> y comprueba tamaño y tipo ejecutable. Son comprobaciones de formato, no de firma criptográfica. Registra DKMS para recompilar al cambiar el kernel; sigue necesitando fuentes y kernel compatibles.",
|
|
"imageAlt": "Progreso de descarga y compilación DKMS del instalador NVIDIA"
|
|
},
|
|
"persist": {
|
|
"title": "Servicio de persistencia y reglas udev",
|
|
"body": "Instala <persistLink>nvidia-persistenced</persistLink> y escribe <code>/etc/udev/rules.d/70-nvidia.rules</code> para crear dispositivos <code>/dev/nvidia*</code> al arrancar. Así evita que un LXC intente acceder a la GPU antes de que existan los dispositivos."
|
|
},
|
|
"nvenc": {
|
|
"title": "Opcional: aplicar el parche NVENC",
|
|
"body": "El límite de sesiones NVENC depende de GPU y controlador. <patchLink>keylase/nvidia-patch</patchLink> puede retirar el límite del controlador en versiones compatibles. Elige <strong>Sí</strong> si necesitas ese cambio de codificación y tu versión está soportada. No acelera la decodificación ni elimina los límites físicos.",
|
|
"supportTitle": "Comprobar compatibilidad del parche",
|
|
"supportBody": "Busca la versión exacta en la <patchTableLink>tabla de parches</patchTableLink>. Si falta, usa el controlador sin parche o elige otra versión mantenida compatible con GPU, kernel y parche; no elijas una anterior solo por estar cerca en la lista."
|
|
},
|
|
"propagate": {
|
|
"title": "Opcional: actualizar bibliotecas NVIDIA en LXC",
|
|
"body1": "Ofrece actualizar las bibliotecas del controlador en los LXC detectados. Estas y el módulo del host <strong>deben tener versiones coincidentes</strong>; si no, <code>nvidia-smi</code> puede mostrar «version mismatch».",
|
|
"body2": "Debian / Ubuntu y otros contenedores glibc reciben el instalador <code>.run</code> extraído con <code>--no-kernel-modules --no-dkms --no-install-compat32-libs</code>; puede aumentar temporalmente la RAM a 2 GiB y luego restaurarla. <strong>Arch, Manjaro y EndeavourOS</strong> usan <code>pacman -Syu nvidia-utils</code> de sus repositorios, sin fijar la versión del host: comprueba el resultado. <strong>Alpine</strong> recibe el contenido <code>.run</code> extraído mediante <code>pct push</code>, instala <code>gcompat</code> y <code>binutils</code> con <code>apk</code> y crea enlaces SONAME con <code>readelf</code>. Verifica el funcionamiento: la compatibilidad glibc no garantiza todas las bibliotecas sobre musl.",
|
|
"imageAlt": "Diálogo con los LXC NVIDIA y su versión para confirmar la actualización"
|
|
},
|
|
"reboot": {
|
|
"title": "Reiniciar",
|
|
"body": "Tras instalar el controlador, regenera <code>initramfs</code> para todos los kernels; el último paso ofrece reiniciar. <strong>Planifica ese reinicio</strong> para verificar módulos y bloqueo de nouveau en un arranque limpio, aunque el controlador ya responda antes."
|
|
}
|
|
},
|
|
"reinstallUninstall": {
|
|
"heading": "Reinstalar o desinstalar",
|
|
"intro": "Si el módulo <code>nvidia</code> está cargado y <code>nvidia-smi</code> devuelve una versión, muestra un menú de acciones. Este criterio detecta un controlador activo; puede haber archivos instalados aunque el módulo no esté cargado.",
|
|
"imageAlt": "Menú de acciones NVIDIA ofrecido cuando ya hay un driver instalado — dos opciones: Reinstalar / actualizar driver, o Desinstalar el driver NVIDIA completamente",
|
|
"imageCaption": "El menú de acciones solo aparece cuando hay un driver NVIDIA activo actualmente en el host.",
|
|
"reinstallHeading": "Reinstalar / actualizar",
|
|
"reinstallBody": "Elige versión, prepara repositorios/cabeceras, descarga y prueba la compilación antes de retirar el controlador anterior e instalar el nuevo. Permite actualizar dentro de una rama mantenida o elegir otra compatible. Después vuelven las opciones de bibliotecas LXC y parche NVENC.",
|
|
"uninstallHeading": "Desinstalar — qué se elimina",
|
|
"uninstallIntro": "Tras confirmar con Sí/No, desinstala estos componentes:",
|
|
"uninstallItems": [
|
|
"Detiene y desactiva <code>nvidia-persistenced</code> y <code>nvidia-powerd</code>, intenta descargar <code>nvidia_uvm</code>, <code>nvidia_drm</code>, <code>nvidia_modeset</code> y <code>nvidia</code> y después ejecuta <code>nvidia-uninstall --silent</code> para la instalación <code>.run</code>. Afecta a las apps LXC que usan NVIDIA; clientes activos pueden impedir la descarga.",
|
|
"Ejecuta <code>apt purge</code> sobre <code>nvidia-*</code>, <code>libnvidia-*</code>, <code>cuda-*</code> y <code>libcudnn*</code>, elimina el árbol fuente DKMS y las carpetas <code>nvidia-persistenced</code> y <code>nvidia-patch</code> de <code>/opt/nvidia</code>.",
|
|
"Elimina la configuración de carga de módulos (<code>/etc/modules-load.d/nvidia-vfio.conf</code>) 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 <code>/etc/udev/rules.d/70-nvidia.rules</code> y marca el estado NVENC como <em>removed</em> en el registro de instalaciones gestionadas; no hay un archivo de estado separado.",
|
|
"Regenera <code>initramfs</code> para todos los kernels, ejecuta <code>proxmox-boot-tool refresh</code> según la configuración de arranque y solicita reiniciar."
|
|
],
|
|
"lxcWarnTitle": "LXC con acceso a NVIDIA",
|
|
"lxcWarnBody": "Eliminar el controlador del host interrumpe las apps LXC que usan NVIDIA, aunque conserven sus bibliotecas. Programa mantenimiento para Frigate, Plex, Jellyfin, Ollama y otras apps que dependan de la GPU."
|
|
},
|
|
"updates": {
|
|
"heading": "Avisos de actualizaciones",
|
|
"body": "El driver NVIDIA instalado se rastrea en el registro de instalaciones gestionadas de ProxMenux. En el arranque y cada 24 horas, el Monitor compara el listado de <code>download.nvidia.com/XFree86/Linux-x86_64/</code> con la versión que devuelve <code>nvidia-smi</code> y solo avisa cuando existe una versión de mantenimiento más nueva en la rama instalada.",
|
|
"kindsHeading": "Mensaje de actualización",
|
|
"kindsItems": [
|
|
"<strong>Mantenimiento dentro de la rama.</strong> Por ejemplo, 580.65.06 instalada → 580.105.08 disponible. Monitor no deduce compatibilidad de kernel entre ramas."
|
|
],
|
|
"antiTitle": "Evitar avisos repetidos",
|
|
"antiBody": "Un aviso por cada versión nueva, no en cada comprobación diaria. Si no hay una más reciente en la rama instalada, no notifica.",
|
|
"applyTitle": "Aplicar la actualización",
|
|
"applyBody": "Monitor avisa sin instalar automáticamente. Abre el instalador, elige <strong>Reinstalar / actualizar</strong> y una versión compatible, y completa compilación e instalación. Termina con una solicitud de reinicio; planifícalo y verifica después host y bibliotecas LXC."
|
|
},
|
|
"verify": {
|
|
"heading": "Verificar la instalación",
|
|
"intro": "Tras reiniciar el host, entra por SSH o desde la consola Proxmox y ejecuta:",
|
|
"after": "Comprueba que aparecen la GPU y la versión esperada. Puede haber procesos si servicios del host o contenedores arrancados automáticamente ya usan la GPU. Después comprueba la persistencia:",
|
|
"imageAlt": "Salida de nvidia-smi en el host mostrando la GPU detectada y la versión del driver instalada"
|
|
},
|
|
"troubleshoot": {
|
|
"heading": "Solución de problemas",
|
|
"smiFailTitle": "nvidia-smi muestra «NVIDIA-SMI has failed»",
|
|
"smiFailBody": "Puede deberse a <strong>nouveau</strong>, <strong>cabeceras ausentes o incompatibles</strong>, fuentes del controlador incompatibles u otros errores de carga. Revisa <code>lsmod | grep nouveau</code>, <code>dmesg | grep -i nvidia</code> y los registros del instalador/DKMS. Si hay que corregir nouveau, revisa <code>/etc/modprobe.d/proxmenux-nouveau-blacklist.conf</code> antes de <code>update-initramfs -u -k all</code> y reiniciar. No todo fallo de compilación es de cabeceras.",
|
|
"lxcMissTitle": "El contenedor LXC no ve la GPU tras actualizar el host",
|
|
"lxcMissBody": "Revisa dispositivos del host, permisos LXC y versión de bibliotecas antes de reinstalar. Si no coinciden, instala el controlador de usuario correspondiente mediante el método compatible con la distribución; en glibc usa <code>--no-kernel-modules</code>. Reinstalar bibliotecas no corrige montajes o permisos ausentes.",
|
|
"logTitle": "Revisa el log de instalación",
|
|
"logBody": "La instalación escribe en <code>/tmp/nvidia_install.log</code>. Revisa descargas, compilación DKMS y servicios si falla. Adjunta el registro al comunicar el problema en GitHub."
|
|
},
|
|
"manualSteps": {
|
|
"heading": "¿Buscas los pasos manuales?",
|
|
"body": "Consulta <guideLink>Guías → NVIDIA</guideLink> para los pasos manuales, incluidos <code>wget</code> y <code>./NVIDIA-Linux-...run</code>. Explica los componentes, pero no reproduce exactamente el instalador. El proceso mantenido de ProxMenux añade filtrado GPU, comprobación de compilación, actualizaciones LXC y controles VFIO."
|
|
},
|
|
"related": {
|
|
"heading": "Relacionado",
|
|
"items": [
|
|
{
|
|
"label": "Añadir GPU a VM (Passthrough)",
|
|
"href": "/docs/hardware/gpu-vm-passthrough",
|
|
"tail": " — asignar NVIDIA directamente a una VM mediante VFIO."
|
|
},
|
|
{
|
|
"label": "Añadir GPU a LXC",
|
|
"href": "/docs/hardware/igpu-acceleration-lxc",
|
|
"tail": " — compartir NVIDIA con uno o varios contenedores."
|
|
},
|
|
{
|
|
"label": "Cambiar modo GPU (VM ↔ LXC)",
|
|
"href": "/docs/hardware/switch-gpu-mode",
|
|
"tail": " — alternar entre acceso directo a VM y uso compartido en LXC."
|
|
},
|
|
{
|
|
"label": "ProxMenux Monitor — pestaña Hardware",
|
|
"href": "/docs/monitor/dashboard/hardware",
|
|
"tail": " — ventana GPU que abre este instalador y muestra estadísticas en tiempo real."
|
|
},
|
|
{
|
|
"label": "Comandos de asignación directa de GPU",
|
|
"href": "/docs/help-info/gpu-commands",
|
|
"tail": " — referencia de lspci / dmesg / IOMMU / nvidia-smi."
|
|
}
|
|
]
|
|
}
|
|
}
|