Frogging-Family / nvidia-all

Nvidia driver latest to 396 series AIO installer
768 stars 69 forks source link

5.18rc patch causes 510.60.02 DKMS to fail on all kernel versions #95

Closed Daedalusspacegames closed 2 years ago

Daedalusspacegames commented 2 years ago

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:


DKMS make.log for nvidia-510.60.02 for kernel 5.18.0-rc1-252-tkg-cfs (x86_64)
2022-04-06 09:22:19 -0500
make[1]: Entering directory '/usr/lib/modules/5.18.0-rc1-252-tkg-cfs/build'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (GCC) 11.2.0
  You are using:           cc (GCC) 11.2.0
  SYMLINK /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-kernel.o
  SYMLINK /var/lib/dkms/nvidia/510.60.02/build/nvidia-modeset/nv-modeset-kernel.o
 CONFTEST: hash__remap_4k_pfn
 CONFTEST: set_pages_uc
 CONFTEST: list_is_first
 CONFTEST: set_memory_array_uc
 CONFTEST: set_memory_uc
 CONFTEST: acquire_console_sem
 CONFTEST: set_pages_array_uc
 CONFTEST: console_lock
 CONFTEST: ioremap_cache
 CONFTEST: ioremap_wc
 CONFTEST: acpi_walk_namespace
 CONFTEST: sg_alloc_table
 CONFTEST: pci_get_domain_bus_and_slot
 CONFTEST: get_num_physpages
 CONFTEST: efi_enabled
 CONFTEST: pde_data
 CONFTEST: PDE_DATA
 CONFTEST: proc_remove
 CONFTEST: pm_vt_switch_required
 CONFTEST: xen_ioemu_inject_msi
 CONFTEST: phys_to_dma
 CONFTEST: get_dma_ops
 CONFTEST: dma_attr_macros
 CONFTEST: dma_map_page_attrs
 CONFTEST: write_cr4
 CONFTEST: of_get_property
 CONFTEST: of_find_node_by_phandle
 CONFTEST: of_node_to_nid
 CONFTEST: pnv_pci_get_npu_dev
 CONFTEST: of_get_ibm_chip_id
 CONFTEST: node_end_pfn
 CONFTEST: pci_bus_address
 CONFTEST: pci_stop_and_remove_bus_device
 CONFTEST: pci_remove_bus_device
 CONFTEST: register_cpu_notifier
 CONFTEST: cpuhp_setup_state
 CONFTEST: dma_map_resource
 CONFTEST: backlight_device_register
 CONFTEST: get_backlight_device_by_name
 CONFTEST: timer_setup
 CONFTEST: pci_enable_msix_range
 CONFTEST: kernel_read_has_pointer_pos_arg
 CONFTEST: kernel_write
 CONFTEST: kthread_create_on_node
 CONFTEST: of_find_matching_node
 CONFTEST: dev_is_pci
 CONFTEST: dma_direct_map_resource
 CONFTEST: tegra_get_platform
 CONFTEST: tegra_bpmp_send_receive
 CONFTEST: flush_cache_all
 CONFTEST: vmf_insert_pfn
 CONFTEST: jiffies_to_timespec
 CONFTEST: ktime_get_raw_ts64
 CONFTEST: ktime_get_real_ts64
 CONFTEST: full_name_hash
 CONFTEST: hlist_for_each_entry
 CONFTEST: pci_enable_atomic_ops_to_root
 CONFTEST: vga_tryget
 CONFTEST: pgprot_decrypted
 CONFTEST: iterate_fd
 CONFTEST: seq_read_iter
 CONFTEST: sg_page_iter_page
 CONFTEST: unsafe_follow_pfn
 CONFTEST: drm_gem_object_get
 CONFTEST: drm_gem_object_put_unlocked
 CONFTEST: set_close_on_exec
 CONFTEST: add_memory_driver_managed
 CONFTEST: device_property_read_u64
 CONFTEST: devm_of_platform_populate
 CONFTEST: of_dma_configure
 CONFTEST: of_property_count_elems_of_size
 CONFTEST: i2c_new_client_device
 CONFTEST: of_property_read_variable_u8_array
 CONFTEST: i2c_unregister_device
 CONFTEST: of_get_named_gpio
 CONFTEST: devm_gpio_request_one
 CONFTEST: gpio_direction_input
 CONFTEST: gpio_direction_output
 CONFTEST: gpio_get_value
 CONFTEST: gpio_set_value
 CONFTEST: gpio_to_irq
 CONFTEST: icc_get
 CONFTEST: icc_put
 CONFTEST: icc_set_bw
 CONFTEST: address_space_init_once
 CONFTEST: kbasename
 CONFTEST: vzalloc
 CONFTEST: wait_on_bit_lock_argument_count
 CONFTEST: bitmap_clear
 CONFTEST: usleep_range
 CONFTEST: radix_tree_empty
 CONFTEST: radix_tree_replace_slot
 CONFTEST: pnv_npu2_init_context
 CONFTEST: cpumask_of_node
 CONFTEST: ioasid_get
 CONFTEST: migrate_vma_setup
 CONFTEST: drm_dev_unref
 CONFTEST: drm_reinit_primary_mode_group
 CONFTEST: get_user_pages_remote
 CONFTEST: get_user_pages
 CONFTEST: drm_gem_object_lookup
 CONFTEST: drm_atomic_state_ref_counting
 CONFTEST: drm_driver_has_gem_prime_res_obj
 CONFTEST: drm_atomic_helper_connector_dpms
 CONFTEST: drm_connector_funcs_have_mode_in_name
 CONFTEST: drm_framebuffer_get
 CONFTEST: drm_dev_put
 CONFTEST: drm_format_num_planes
 CONFTEST: drm_connector_for_each_possible_encoder
 CONFTEST: drm_rotation_available
 CONFTEST: drm_vma_offset_exact_lookup_locked
 CONFTEST: nvhost_dma_fence_unpack
 CONFTEST: is_export_symbol_gpl_of_node_to_nid
 CONFTEST: is_export_symbol_gpl_sme_active
 CONFTEST: is_export_symbol_present_swiotlb_map_sg_attrs
 CONFTEST: is_export_symbol_present_swiotlb_dma_ops
 CONFTEST: is_export_symbol_present___close_fd
 CONFTEST: is_export_symbol_present_close_fd
 CONFTEST: is_export_symbol_present_get_unused_fd
 CONFTEST: is_export_symbol_present_get_unused_fd_flags
 CONFTEST: is_export_symbol_present_nvhost_get_default_device
 CONFTEST: is_export_symbol_present_nvhost_syncpt_unit_interface_get_byte_offset
 CONFTEST: is_export_symbol_present_nvhost_syncpt_unit_interface_get_aperture
 CONFTEST: is_export_symbol_present_tegra_dce_register_ipc_client
 CONFTEST: is_export_symbol_present_tegra_dce_unregister_ipc_client
 CONFTEST: is_export_symbol_present_tegra_dce_client_ipc_send_recv
 CONFTEST: is_export_symbol_present_get_dram_num_channels
 CONFTEST: is_export_symbol_present_dram_clk_to_mc_clk
 CONFTEST: is_export_symbol_present_tegra_dram_types
 CONFTEST: acpi_op_remove
 CONFTEST: is_export_symbol_present_kthread_create_on_node
 CONFTEST: file_operations
 CONFTEST: file_inode
 CONFTEST: kuid_t
 CONFTEST: dma_ops
 CONFTEST: swiotlb_dma_ops
 CONFTEST: noncoherent_swiotlb_dma_ops
 CONFTEST: vm_fault_has_address
 CONFTEST: backlight_properties_type
 CONFTEST: vm_insert_pfn_prot
 CONFTEST: vmf_insert_pfn_prot
 CONFTEST: vm_ops_fault_removed_vma_arg
 CONFTEST: vmbus_channel_has_ringbuffer_page
 CONFTEST: device_driver_of_match_table
 CONFTEST: device_of_node
 CONFTEST: node_states_n_memory
 CONFTEST: kmem_cache_has_kobj_remove_work
 CONFTEST: sysfs_slab_unlink
 CONFTEST: proc_ops
 CONFTEST: timespec64
 CONFTEST: vmalloc_has_pgprot_t_arg
 CONFTEST: acpi_fadt_low_power_s0
 CONFTEST: mm_has_mmap_lock
 CONFTEST: pci_channel_state
 CONFTEST: pci_dev_has_ats_enabled
 CONFTEST: mt_device_gre
 CONFTEST: remove_memory_has_nid_arg
 CONFTEST: address_space
 CONFTEST: backing_dev_info
 CONFTEST: mm_context_t
 CONFTEST: vm_fault_t
 CONFTEST: mmu_notifier_ops_invalidate_range
 CONFTEST: migrate_vma_added_flags
 CONFTEST: make_device_exclusive_range
 CONFTEST: drm_bus_present
 CONFTEST: drm_bus_has_bus_type
 CONFTEST: drm_bus_has_get_irq
 CONFTEST: drm_bus_has_get_name
 CONFTEST: drm_driver_has_device_list
 CONFTEST: drm_driver_has_legacy_dev_list
 CONFTEST: drm_driver_has_set_busid
 CONFTEST: drm_crtc_state_has_connectors_changed
 CONFTEST: drm_init_function_args
 CONFTEST: drm_helper_mode_fill_fb_struct
 CONFTEST: drm_master_drop_has_from_release_arg
 CONFTEST: drm_driver_unload_has_int_return_type
 CONFTEST: drm_atomic_helper_crtc_destroy_state_has_crtc_arg
 CONFTEST: drm_atomic_helper_plane_destroy_state_has_plane_arg
 CONFTEST: drm_mode_object_find_has_file_priv_arg
 CONFTEST: dma_buf_owner
 CONFTEST: drm_connector_list_iter
 CONFTEST: drm_atomic_helper_swap_state_has_stall_arg
 CONFTEST: drm_driver_prime_flag_present
 CONFTEST: drm_gem_object_has_resv
 CONFTEST: drm_crtc_state_has_async_flip
 CONFTEST: drm_crtc_state_has_pageflip_flags
 CONFTEST: drm_format_modifiers_present
 CONFTEST: drm_vma_node_is_allowed_has_tag_arg
 CONFTEST: drm_vma_offset_node_has_readonly
 CONFTEST: drm_display_mode_has_vrefresh
 CONFTEST: drm_driver_master_set_has_int_return_type
 CONFTEST: drm_driver_has_gem_free_object
 CONFTEST: drm_prime_pages_to_sg_has_drm_device_arg
 CONFTEST: drm_driver_has_gem_prime_callbacks
 CONFTEST: drm_crtc_atomic_check_has_atomic_state_arg
 CONFTEST: drm_gem_object_vmap_has_map_arg
 CONFTEST: drm_plane_atomic_check_has_atomic_state_arg
 CONFTEST: drm_device_has_pdev
 CONFTEST: drm_crtc_state_has_no_vblank
 CONFTEST: dom0_kernel_present
 CONFTEST: nvidia_vgpu_kvm_build
 CONFTEST: nvidia_grid_build
 CONFTEST: nvidia_grid_csp_build
 CONFTEST: pm_runtime_available
 CONFTEST: pci_class_multimedia_hd_audio
 CONFTEST: drm_available
 CONFTEST: drm_atomic_available
 CONFTEST: is_export_symbol_gpl_refcount_inc
 CONFTEST: is_export_symbol_gpl_refcount_dec_and_test
 CONFTEST: drm_alpha_blending_available
 CONFTEST: ib_peer_memory_symbols
  CC [M]  /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv.o
  CC [M]  /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-pci.o
  CC [M]  /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-acpi.o
  CC [M]  /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-dma.o
  CC [M]  /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-cray.o
  CC [M]  /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-i2c.o
  CC [M]  /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-p2p.o
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv.c:25:10: error: #include expects "FILENAME" or <FILENAME>
   25 | #include “linux/dma-mapping.h”
      |          ^
  CC [M]  /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-mmap.o
  CC [M]  /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-pat.o
  CC [M]  /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-procfs.o
  CC [M]  /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-procfs-utils.o
  CC [M]  /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-usermap.o
  CC [M]  /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-vm.o
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-dma.c:986: warning: "IMPORT_SGT_STUBS_NEEDED" redefined
  986 | #define IMPORT_SGT_STUBS_NEEDED 0
      | 
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-dma.c:980: note: this is the location of the previous definition
  980 | #define IMPORT_SGT_STUBS_NEEDED 1
      | 
make[2]: *** [scripts/Makefile.build:288: /var/lib/dkms/nvidia/510.60.02/build/nvidia/nv.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-mmap.c: In function ‘nv_encode_caching’:
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-mmap.c:343:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
  343 |             if (NV_ALLOW_CACHING(memory_type))
      |                ^
/var/lib/dkms/nvidia/510.60.02/build/nvidia/nv-mmap.c:346:9: note: here
  346 |         default:
      |         ^~~~~~~
make[1]: *** [Makefile:1834: /var/lib/dkms/nvidia/510.60.02/build] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.18.0-rc1-252-tkg-cfs/build'
make: *** [Makefile:82: modules] Error 2`
Tk-Glitch commented 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

ptr1337 commented 2 years ago

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