NVIDIA 615.71.09 DKMS build fails on Proxmox kernel 7.0.14-20/-23: incomplete type 'struct cxl_dev_state'
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
- #1438 de @theaathish — cerrado sin fusionar
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- c, linux
- Área
- operating-systems
Línea de trabajo
The failing declaration is at common/inc/nv-linux.h line 1270, guarded by NV_CXL_CXL_H_PRESENT. Compare the generated kernel-open/conftest/headers.h and functions.h, where NV_CXL_INIT_SUPPORTED is undefined, to see how the guard should depend on the functional check. Done means the DKMS build succeeds against 7.0.14-20-pve and 7.0.14-23-pve while still building on 7.0.14-19-pve.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
NVIDIA Open GPU Kernel Modules Version
NVIDIA Open GPU Kernel Modules 615.71.09 Debian package: nvidia-kernel-open-dkms 615.71.09-2 Installed from the official NVIDIA CUDA repository for Debian 13 (trixie), using APT/DKMS. No custom Git commit or local patches.
Operating System and Version
Debian GNU/Linux 13 (trixie) Proxmox VE: pve-manager/9.2.21/4f6e0ac86f9e8c7f. Kernel packages from the official Proxmox pve-no-subscription repository.
Kernel Release
Currently running (working): Linux pve-p520 7.0.14-19-pve #1 SMP PREEMPT_DYNAMIC PMX 7.0.14-19 (2026-09-18T07:31Z) x86_64 GNU/Linux Affected stable Proxmox kernels: - 7.0.14-20-pve - 7.0.14-23-pve Both affected kernels are official Proxmox packages, not locally compiled kernels or release candidates. The NVIDIA DKMS module builds successfully on 7.0.14-19-pve but fails to compile on both newer kernels.
Please confirm you are running a stable release kernel (e.g. not a -rc). We do not accept bug reports for unreleased kernels.
- I am running on a stable kernel release.
Build Command
The issue occurs automatically during a standard Proxmox APT upgrade:
apt update
apt full-upgrade
The kernel package post-installation script invokes DKMS automatically:
run-parts: executing /etc/kernel/postinst.d/dkms 7.0.14-23-pve /boot/vmlinuz-7.0.14-23-pve
Autoinstall of module nvidia/615.71.09 for kernel 7.0.14-23-pve (x86_64)
DKMS then invokes:
make -j20 KERNEL_UNAME=7.0.14-23-pve IGNORE_PREEMPT_RT_PRESENCE=1 IGNORE_XEN_PRESENCE=1 modules
The same failure occurs with kernel 7.0.14-20-pve.
Terminal output/Build Log
Relevant output from /var/lib/dkms/nvidia/615.71.09/build/make.log:
././common/inc/nv-linux.h:1270:34: error: field 'cxlds' has incomplete type
This error is repeated across multiple compilation units.
DKMS reports:
Autoinstall of module nvidia/615.71.09 for kernel 7.0.14-23-pve (x86_64)
Building module(s)...............(bad exit status: 2)
Error! Bad return status for module build on kernel: 7.0.14-23-pve (x86_64)
Autoinstall on 7.0.14-23-pve failed for module(s) nvidia(10).
Generated NVIDIA conftest results:
kernel-open/conftest/headers.h:
#define NV_CXL_CXL_H_PRESENT
#undef NV_CXL_PCI_H_PRESENT
kernel-open/conftest/functions.h:
#define NV_PCIE_IS_CXL_PRESENT
#undef NV_CXL_INIT_SUPPORTED
The build fails because nv-linux.h declares a field of type struct cxl_dev_state when NV_CXL_CXL_H_PRESENT is defined, even though the required CXL API is unavailable.
More Info
The currently running 7.0.14-19-pve kernel works correctly with the NVIDIA 615.71.09 driver and RTX A4000 GPU. The failure is reproducible during DKMS compilation against both newer kernel header versions, without booting those kernels.
Suspected root cause: CXL header-presence detection enables code requiring an unavailable CXL API
I investigated the difference between the working Proxmox kernel 7.0.14-19-pve and the failing kernels 7.0.14-20-pve and 7.0.14-23-pve.
The only difference found when comparing the include/cxl/ header directories between -19 and -20 is the addition of:
include/cxl/cxl.h
The new header contains only the declaration of cxl_region_contains_resource() (and its fallback implementation). It does not define struct cxl_dev_state.
On kernel 7.0.14-19-pve (working)
include/cxl/cxl.his absent.- NVIDIA does not define
NV_CXL_CXL_H_PRESENT. - The NVIDIA DKMS module builds successfully.
On kernels 7.0.14-20-pve and 7.0.14-23-pve (failing)
include/cxl/cxl.hexists.- NVIDIA defines
NV_CXL_CXL_H_PRESENT. - NVIDIA correctly reports
#undef NV_CXL_INIT_SUPPORTED. - However,
common/inc/nv-linux.hstill enables code containingstruct cxl_dev_state cxlds. - Compilation fails because
struct cxl_dev_stateis incomplete.
The relevant declaration is at common/inc/nv-linux.h:1270.
The generated NVIDIA conftest results confirm:
kernel-open/conftest/headers.h:
#define NV_CXL_CXL_H_PRESENT
#undef NV_CXL_PCI_H_PRESENT
kernel-open/conftest/functions.h:
#define NV_PCIE_IS_CXL_PRESENT
#undef NV_CXL_INIT_SUPPORTED
The cxl_init_supported conftest appears to correctly detect the missing API, but the affected declaration is guarded by NV_CXL_CXL_H_PRESENT rather than the functional capability test.
This suggests that the declaration in nv-linux.h should also be conditional on NV_CXL_INIT_SUPPORTED, or otherwise guarded by a more specific API compatibility check.
Expected behavior
When the CXL API required by NVIDIA is unavailable, CXL-specific declarations should be disabled so the driver can compile successfully.
Actual behavior
The presence of a cxl/cxl.h header that does not provide the required CXL API activates incompatible CXL code, causing DKMS compilation to fail:
././common/inc/nv-linux.h:1270:34: error: field 'cxlds' has incomplete type
Hardware
- GPU: NVIDIA RTX A4000 (16 GB)
- CPU: Intel Xeon W-2255
- System: Lenovo ThinkStation P520
- Architecture: x86_64
- OS: Debian GNU/Linux 13 (trixie)
- Hypervisor: Proxmox VE 9.2.21
- NVIDIA package:
nvidia-kernel-open-dkms 615.71.09-2
No local patches have been applied to the NVIDIA driver or kernel sources.
- Lenguaje dominante
- C
- Estrellas
- 17.5k
- Forks
- 1.9k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de NVIDIA/open-gpu-kernel-modules
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
NVIDIA/open-gpu-kernel-modules#1479 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
PlatformRequestHandler: missing !bInit guard on bSystemParamLimitUpdate causes NV_ERR_INVALID_DATA at bootPosiblemente ocupada @SammyTourani la tomó hace 37 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
NVIDIA/open-gpu-kernel-modules#1360 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
NVIDIA/open-gpu-kernel-modules#1343 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
HKC G27H7Pro redundant long-HPD loop after DisplayPort link training (RTX 5060 Laptop, 610.57.04)Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
NVIDIA/open-gpu-kernel-modules#1323 ·
Los mantenedores suelen responder en 1 día
-
build-problem
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
NVIDIA/open-gpu-kernel-modules#1155 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de NVIDIA/open-gpu-kernel-modules
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
FujiNetWIFI/fujinet-firmware#2261 ·
Los mantenedores suelen responder en 1 día
-
area/infrared type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
DarkFlippers/unleashed-firmware#1201 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
pocoproject/poco#5626 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
VMAFx/vmafx#3260 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
FujiNetWIFI/fujinet-lib#272 ·
Los mantenedores suelen responder en 1 día