Closed Daedalusspacegames closed 2 years ago
Trying to use 5.18 RCs with Nvidia is a terrible idea. Nonethless, fixed with https://github.com/Frogging-Family/nvidia-all/commit/e2514179f35fac4d13a7246984392d0362d7472b
Seems to be fixed with non rc kernels now. But for rc it seems still need some stuff patched. Actual output of dkms:
CC [M] /var/lib/dkms/nvidia/510.60.02/build/nvidia-peermem/nvidia-peermem.o
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-drv.c: In function ‘nv_drm_init_mode_config’:
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-drv.c:257:21: error: ‘struct drm_mode_config’ has no member named ‘allow_fb_modifiers’
257 | dev->mode_config.allow_fb_modifiers = true;
| ^
LD [M] /var/lib/dkms/nvidia/510.60.02/build/nvidia.o
make[2]: *** [scripts/Makefile.build:288: /var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-drv.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-crtc.c: In function ‘cursor_plane_req_config_update’:
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-crtc.c:81:32: warning: unused variable ‘nv_drm_plane_state’ [-Wunused-variable]
81 | struct nv_drm_plane_state *nv_drm_plane_state =
| ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-crtc.c:80:27: warning: unused variable ‘nv_dev’ [-Wunused-variable]
80 | struct nv_drm_device *nv_dev = to_nv_device(plane->dev);
| ^~~~~~
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-crtc.c: In function ‘plane_req_config_update’:
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-crtc.c:182:9: warning: unused variable ‘ret’ [-Wunused-variable]
182 | int ret = 0;
| ^~~
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-crtc.c: In function ‘nv_drm_plane_atomic_set_property’:
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-crtc.c:497:32: warning: unused variable ‘nv_drm_plane_state’ [-Wunused-variable]
497 | struct nv_drm_plane_state *nv_drm_plane_state =
| ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-crtc.c: In function ‘nv_drm_enumerate_crtcs_and_planes’:
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-crtc.c:1141:13: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
1141 | struct drm_plane *overlay_plane =
| ^~~~~~
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-gem.c:71:35: warning: ‘struct dma_buf_map’ declared inside parameter list will not be visible outside of this definition or declaration
71 | struct dma_buf_map *map)
| ^~~~~~~~~~~
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-gem.c: In function ‘nv_drm_gem_vmap’:
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-gem.c:73:8: error: invalid use of undefined type ‘struct dma_buf_map’
73 | map->vaddr = nv_drm_gem_prime_vmap(gem);
| ^~
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-gem.c:74:12: error: invalid use of undefined type ‘struct dma_buf_map’
74 | if (map->vaddr == NULL) {
| ^~
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-gem.c:77:8: error: invalid use of undefined type ‘struct dma_buf_map’
77 | map->is_iomem = true;
| ^~
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-gem.c: At top level:
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-gem.c:82:38: warning: ‘struct dma_buf_map’ declared inside parameter list will not be visible outside of this definition or declaration
82 | struct dma_buf_map *map)
| ^~~~~~~~~~~
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-gem.c: In function ‘nv_drm_gem_vunmap’:
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-gem.c:84:37: error: invalid use of undefined type ‘struct dma_buf_map’
84 | nv_drm_gem_prime_vunmap(gem, map->vaddr);
| ^~
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-gem.c:85:8: error: invalid use of undefined type ‘struct dma_buf_map’
85 | map->vaddr = NULL;
| ^~
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-gem.c: At top level:
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-gem.c:98:16: error: initialization of ‘int (*)(struct drm_gem_object *, struct iosys_map *)’ from incompatible pointer type ‘int (*)(struct drm_gem_object *, struct dma_buf_map *)’ [-Werror=incompatible-pointer-types]
98 | .vmap = nv_drm_gem_vmap,
| ^~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-gem.c:98:16: note: (near initialization for ‘nv_drm_gem_funcs.vmap’)
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-gem.c:99:16: error: initialization of ‘void (*)(struct drm_gem_object *, struct iosys_map *)’ from incompatible pointer type ‘void (*)(struct drm_gem_object *, struct dma_buf_map *)’ [-Werror=incompatible-pointer-types]
99 | .vunmap = nv_drm_gem_vunmap,
| ^~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-gem.c:99:16: note: (near initialization for ‘nv_drm_gem_funcs.vunmap’)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:288: /var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-gem.o] Error 1
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-modeset.c: In function ‘__will_generate_flip_event’:
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-modeset.c:98:10: warning: unused variable ‘overlay_event’ [-Wunused-variable]
98 | bool overlay_event = false;
| ^~~~~~~~~~~~~
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-modeset.c:97:10: warning: unused variable ‘primary_event’ [-Wunused-variable]
97 | bool primary_event = false;
| ^~~~~~~~~~~~~
/var/lib/dkms/nvidia/510.60.02/build/nvidia-drm/nvidia-drm-modeset.c:96:23: warning: unused variable ‘primary_plane’ [-Wunused-variable]
96 | struct drm_plane *primary_plane = crtc->primary;
| ^~~~~~~~~~~~~
make[1]: *** [Makefile:1832: /var/lib/dkms/nvidia/510.60.02/build] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.18.0-rc1-1-cachyos-rc/build'
make: *** [Makefile:82: modules] Error 2
When trying to install 510.60.02 using DKMS with kernel versions 5.15.32, 5.16.18, 5.17.1, and 5.18rc1 installed, all DKMS builds fail with more-or-less the same output in the make.log: