Sobre el proyecto

Este repositorio contiene la versión fuente de los módulos de kernel abiertos de NVIDIA para Linux, incluyendo las capas de interfaz de kernel para nvidia.ko, nvidia-drm.ko, nvidia-modeset.ko y nvidia-uvm.ko. Los módulos se compilan con "make modules" y se instalan con "make modules_install" después de eliminar los módulos de kernel NVIDIA existentes. Deben usarse con el firmware GSP y los componentes del controlador de espacio de usuario de NVIDIA de la versión correspondiente 615.71.09; el instalador .run correspondiente se puede ejecutar con --no-kernel-modules para proporcionar esos componentes. El código fuente admite compilaciones nativas o cruzadas para x86_64 y aarch64. La compilación cruzada utiliza TARGET_ARCH junto con configuraciones de CC, LD, AR, CXX y OBJCOPY. Se puede usar GCC o Clang modernos, aunque la capa de interfaz de kernel debe compilarse con la cadena de herramientas utilizada para el kernel objetivo. Los kernels de Linux compatibles comienzan con 4.15. Las opciones de compilación incluyen NV_VERBOSE=1 para salida completa de comandos y DEBUG=1 para compilaciones de depuración y registro adicional. El código se organiza en kernel-open para código de interfaz de kernel específico de Linux, src para código independiente del sistema operativo y utilidades compartidas, y nouveau para un script de Python que extrae imágenes de firmware GSP y datos relacionados para uso del controlador Nouveau. El README documenta que nvidia.ko y nvidia-modeset.ko tienen componentes independientes del sistema operativo, mientras que nvidia-drm.ko y nvidia-uvm.ko no los tienen. El hardware compatible se describe como GPUs NVIDIA Turing o posteriores, con una tabla de ID de PCI proporcionada en el repositorio. Las limitaciones de funciones y los detalles de vGPU se dirigen a la documentación del controlador de NVIDIA. Las contribuciones se manejan a través de solicitudes de extracción de GitHub y requieren un CLA. NVIDIA señala que el repositorio es en gran parte una instantánea por versión de controlador del código propietario compartido, por lo que el historial puede ser limitado y las refactorizaciones grandes pueden requerir coordinación. Los problemas se pueden informar en GitHub, el foro de Linux de NVIDIA o linux-bugs@nvidia.com, con SECURITY.md cubriendo el informe de vulnerabilidades.