Nvidia KVM driver not installing

socramusa

Member
Aug 20, 2022
1
0
6
hi everyone

I would like to install the Nvidia kmv vgpu driver into proxmox so I can have it pass thru to my virtual machines, but I keep running into the below issue:

Building module:
cleaning build area...
'make' -j32 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=5.15.39-4-pve
IGNORE_CC_MISMATCH='' modules.....(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.15.39-4-pve
(x86_64)
Consult /var/lib/dkms/nvidia/510.47.03/build/make.log for more
information.


I reviewed the make logs and it seems that the compiler versions are different. can anyone help?
 

Attachments

Building module:
cleaning build area...
'make' -j32 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=5.15.39-4-pve
IGNORE_CC_MISMATCH='' modules.....(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.15.39-4-pve
(x86_64)
Consult /var/lib/dkms/nvidia/510.47.03/build/make.log for more
information.
Code:
/var/lib/dkms/nvidia/510.47.03/build/nvidia-vgpu-vfio/nvidia-vgpu-vfio.c:207:6: error: 'struct mdev_parent_ops' has no member named 'open'
  207 |     .open             = nv_vgpu_vfio_open,
      |      ^~~~
/var/lib/dkms/nvidia/510.47.03/build/nvidia-vgpu-vfio/nvidia-vgpu-vfio.c:207:25: error: initialization of 'long int (*)(struct mdev_device *, unsigned int,  long unsigned int)' from incompatible pointer type 'int (*)(struct mdev_device *)' [-Werror=incompatible-pointer-types]
  207 |     .open             = nv_vgpu_vfio_open,
      |                         ^~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/510.47.03/build/nvidia-vgpu-vfio/nvidia-vgpu-vfio.c:207:25: note: (near initialization for 'vgpu_fops.ioctl')
/var/lib/dkms/nvidia/510.47.03/build/nvidia-vgpu-vfio/nvidia-vgpu-vfio.c:208:6: error: 'struct mdev_parent_ops' has no member named 'release'
  208 |     .release          = nv_vgpu_vfio_close,
      |      ^~~~~~~
/var/lib/dkms/nvidia/510.47.03/build/nvidia-vgpu-vfio/nvidia-vgpu-vfio.c:208:25: error: initialization of 'int (*)(struct mdev_device *, struct vm_area_struct *)' from incompatible pointer type 'void (*)(struct mdev_device *)' [-Werror=incompatible-pointer-types]
  208 |     .release          = nv_vgpu_vfio_close,
      |                         ^~~~~~~~~~~~~~~~~~

These are fatal errors. Structure members and function signatures have apparently changed between the kernel headers you are using and the NVidia driver module. Are you sure the driver supports the 5.15 kernel? Are you sure you have the correct kernel headers? In-kernel API's change all the time and NVidia has historically been bad at keeping up so it is possible that their driver needs to be updated.