Kernel – 5.11-rc1 Is Out – OK with (patched) VMware, Fails with NVIDIA..
Kernel 5.11-rc1 has been released, and brief details are here: http://lkml.iu.edu/hypermail/linux/kernel/2012.3/00888.html
VMware 16.1.0 (patched) compiles/loads OK, but the latest NVIDIA driver 460.27.04 fails to compile:
...............................
CONFTEST: drm_alpha_blending_available
CC [M] /home/rgadsdon/NVIDIA-Linux-x86_64-460.27.04/kernel/nvidia/nv-frontend.o
In file included from /home/rgadsdon/NVIDIA-Linux-x86_64-460.27.04/kernel/nvidia/nv-frontend.c:13:
/home/rgadsdon/NVIDIA-Linux-x86_64-460.27.04/kernel/common/inc/nv-linux.h:120:10: fatal error: asm/kmap_types.h: No such file or directory
120 | #include <asm/kmap_types.h> /* page table entry lookup */
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
Apparently kmap_types.h was removed, as it is ‘no longer used’, so a simple fix for this is to comment-out the #include.. statement in NVIDIA-Linux-x86_64-460.27.04/kernel/common/inc/nv-linux.h. With this change, the compile continues, until:
........................
CC [M] /home/rgadsdon/NVIDIA-Linux-x86_64-460.27.04/kernel/nvidia/nv-caps.o
/home/rgadsdon/NVIDIA-Linux-x86_64-460.27.04/kernel/nvidia/nv-caps.c: In function ‘nv_cap_close_fd’:
/home/rgadsdon/NVIDIA-Linux-x86_64-460.27.04/kernel/nvidia/nv-caps.c:592:1: error: implicit declaration of function ‘sys_close’ [-Werror=implicit-function-declaration]
592 | sys_close(fd);
| ^~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:279: /home/rgadsdon/NVIDIA-Linux-x86_64-460.27.04/kernel/nvidia/nv-caps.o] Error 1
make[1]: *** [Makefile:1805: /home/rgadsdon/NVIDIA-Linux-x86_64-460.27.04/kernel] Error 2
More research needed, on this one..
Robert Gadsdon. December 27th 2020.
Regarding NVIDIA: Joan Bruguera did it again..:
https://gist.github.com/joanbm/cf75fc567aef271c830a0fcdfc25a94a
Although the patch is over a week old, it patches and compiles oK
.. the patch is for 455.45.01. Do not know if this works for 460.27.04 …
Patch applied OK, but compile failed:
CC [M] /home/rgadsdon/NVIDIA-Linux-x86_64-455.45.01/kernel/nvidia-drm/nvidia-drm-crtc.o
/home/rgadsdon/NVIDIA-Linux-x86_64-455.45.01/kernel/nvidia-drm/nvidia-drm-crtc.c:510:21: error: initialization of ‘int (*)(struct drm_crtc *, struct drm_atomic_state *)’ from incompatible pointer type ‘int (*)(struct drm_crtc *, struct drm_crtc_state *)’ [-Werror=incompatible-pointer-types]
510 | .atomic_check = nv_drm_crtc_atomic_check,
| ^~~~~~~~~~~~~~~~~~~~~~~~
/home/rgadsdon/NVIDIA-Linux-x86_64-455.45.01/kernel/nvidia-drm/nvidia-drm-crtc.c:510:21: note: (near initialization for ‘nv_crtc_helper_funcs.atomic_check’)
/home/rgadsdon/NVIDIA-Linux-x86_64-455.45.01/kernel/nvidia-drm/nvidia-drm-crtc.c:514:22: error: initialization of ‘void (*)(struct drm_crtc *, struct drm_atomic_state *)’ from incompatible pointer type ‘void (*)(struct drm_crtc *, struct drm_crtc_state *)’ [-Werror=incompatible-pointer-types]
514 | .atomic_enable = nv_drm_crtc_atomic_enable,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/rgadsdon/NVIDIA-Linux-x86_64-455.45.01/kernel/nvidia-drm/nvidia-drm-crtc.c:514:22: note: (near initialization for ‘nv_crtc_helper_funcs.atomic_enable’)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:279: /home/rgadsdon/NVIDIA-Linux-x86_64-455.45.01/kernel/nvidia-drm/nvidia-drm-crtc.o] Error 1
make[1]: *** [Makefile:1805: /home/rgadsdon/NVIDIA-Linux-x86_64-455.45.01/kernel] Error 2
make[1]: Leaving directory ‘/usr/src/linux-5.11-rc1’
make: *** [Makefile:81: modules] Error 2
This is with GCC version 10.2.1 (Fedora 33)..
RG
> NVIDIA-Linux-x86_64-455.45.01/kernel/nvidia-drm/nvidia-drm-crtc.c:510:21: error: initialization of ‘int (*)(struct drm_crtc *, struct drm_atomic_state *)’ from incompatible pointer type ‘int (*)(struct drm_crtc *, struct drm_crtc_state *)’ [-Werror=incompatible-pointer-types]
510 | .atomic_check = nv_drm_crtc_atomic_check,
Same issue here.
Jeff.
Try http://ix.io/2K9F based on https://gist.github.com/joanbm/cf75fc567aef271c830a0fcdfc25a94a added support for 351f950db4ab28c321a1bd4b92e4bb03e34c4703 and 29b77ad7b9ca8c87152a1a9e8188970fb2a93df4 applies to 460.27.04
This version works OK..
Thanks!
RG.