Frogging-Family / nvidia-all

Nvidia driver latest to 396 series AIO installer
726 stars 62 forks source link

Vulkan not building with kernel 6.3.1 (DKMS) #164

Open vigilant-hylian opened 1 year ago

vigilant-hylian commented 1 year ago

Not sure if it's because of the lack of a 6.3 patch file or whether something else is going awry but I cannot get the Vulkan drivers to build on 6.3.1.

Fresh install of Endeavour just to confirm.

(5/8) Install DKMS modules ==> dkms install --no-depmod nvidia/525.47.13 -k 6.3.1-arch1-1 Error! Bad return status for module build on kernel: 6.3.1-arch1-1 (x86_64) Consult /var/lib/dkms/nvidia/525.47.13/build/make.log for more information. ==> WARNING: `dkms install --no-depmod nvidia/525.47.13 -k 6.3.1-arch1-1' exited 10

Here's the contents of that logfile:

DKMS make.log for nvidia-525.47.13 for kernel 6.3.1-arch1-1 (x86_64) Fri 05 May 2023 09:56:31 AEST warning: the compiler differs from the one used to build the kernel The kernel was built by: gcc (GCC) 13.1.1 20230429 You are using: cc (GCC) 13.1.1 20230429 SYMLINK /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-kernel.o SYMLINK /var/lib/dkms/nvidia/525.47.13/build/nvidia-modeset/nv-modeset-kernel.o CONFTEST: hash__remap_4k_pfn CONFTEST: set_pages_uc CONFTEST: list_is_first CONFTEST: set_memory_uc CONFTEST: set_memory_array_uc CONFTEST: set_pages_array_uc CONFTEST: ioremap_cache CONFTEST: ioremap_wc CONFTEST: pci_get_domain_bus_and_slot CONFTEST: get_num_physpages CONFTEST: pde_data 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_find_node_by_phandle CONFTEST: of_node_to_nid CONFTEST: of_get_ibm_chip_id CONFTEST: pnv_pci_get_npu_dev CONFTEST: pci_bus_address CONFTEST: pci_stop_and_remove_bus_device CONFTEST: register_cpu_notifier CONFTEST: cpuhp_setup_state CONFTEST: dma_map_resource CONFTEST: timer_setup CONFTEST: get_backlight_device_by_name CONFTEST: pci_enable_msix_range CONFTEST: kernel_read_has_pointer_pos_arg CONFTEST: kernel_write_has_pointer_pos_arg 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: pci_enable_atomic_ops_to_root CONFTEST: vga_tryget CONFTEST: pgprot_decrypted CONFTEST: cc_mkdec CONFTEST: seq_read_iter CONFTEST: unsafe_follow_pfn CONFTEST: drm_gem_object_put_unlocked CONFTEST: drm_gem_object_get 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: of_property_read_variable_u8_array CONFTEST: i2c_new_client_device CONFTEST: of_get_named_gpio CONFTEST: i2c_unregister_device 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: dma_buf_export_args CONFTEST: dma_buf_ops_has_kmap CONFTEST: dma_buf_ops_has_kmap_atomic CONFTEST: dma_buf_ops_has_map CONFTEST: dma_buf_ops_has_map_atomic CONFTEST: dma_buf_has_dynamic_attachment CONFTEST: dma_buf_attachment_has_peer2peer CONFTEST: dma_set_mask_and_coherent CONFTEST: devm_clk_bulk_get_all CONFTEST: get_task_ioprio CONFTEST: wait_on_bit_lock_argument_count CONFTEST: mdev_set_iommu_device 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: mmget_not_zero CONFTEST: acpi_video_backlight_use_native CONFTEST: drm_dev_unref CONFTEST: drm_reinit_primary_mode_group CONFTEST: get_user_pages_remote CONFTEST: pin_user_pages_remote CONFTEST: get_user_pages CONFTEST: pin_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_connector_has_vrr_capable_property 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_present_swiotlb_map_sg_attrs CONFTEST: is_export_symbol_gpl_sme_active 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_dram_clk_to_mc_clk CONFTEST: is_export_symbol_present_get_dram_num_channels CONFTEST: is_export_symbol_present_tegra_dram_types CONFTEST: is_export_symbol_present_pxm_to_node CONFTEST: is_export_symbol_present_screen_info CONFTEST: is_export_symbol_present_int_active_memcg CONFTEST: dma_ops CONFTEST: swiotlb_dma_ops CONFTEST: vm_fault_has_address CONFTEST: noncoherent_swiotlb_dma_ops CONFTEST: vm_insert_pfn_prot CONFTEST: vmf_insert_pfn_prot CONFTEST: vm_ops_fault_removed_vma_arg CONFTEST: vmbus_channel_has_ringbuffer_page CONFTEST: kmem_cache_has_kobj_remove_work CONFTEST: sysfs_slab_unlink CONFTEST: proc_ops CONFTEST: vmalloc_has_pgprot_t_arg CONFTEST: timespec64 CONFTEST: mm_has_mmap_lock CONFTEST: pci_channel_state CONFTEST: pci_dev_has_ats_enabled CONFTEST: remove_memory_has_nid_arg CONFTEST: add_memory_driver_managed_has_mhp_flags_arg CONFTEST: num_registered_fb CONFTEST: pci_driver_has_driver_managed_dma 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_crtc_state_has_vrr_enabled CONFTEST: drm_format_modifiers_present CONFTEST: drm_vma_node_is_allowed_has_tag_arg CONFTEST: drm_display_mode_has_vrefresh CONFTEST: drm_vma_offset_node_has_readonly 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: drm_mode_config_has_allow_fb_modifiers CONFTEST: drm_has_hdr_output_metadata CONFTEST: dma_resv_add_fence CONFTEST: dma_resv_reserve_fences CONFTEST: reservation_object_reserve_shared_has_num_fences_arg CONFTEST: drm_connector_has_override_edid CONFTEST: dom0_kernel_present CONFTEST: nvidia_vgpu_kvm_build CONFTEST: nvidia_grid_build CONFTEST: nvidia_grid_csp_build CONFTEST: pm_runtime_available CONFTEST: vfio_pci_core_available CONFTEST: drm_available CONFTEST: pci_class_multimedia_hd_audio 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/525.47.13/build/nvidia/nv.o CC [M] /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-pci.o CC [M] /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-dmabuf.o CC [M] /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-nano-timer.o CC [M] /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-acpi.o CC [M] /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-cray.o CC [M] /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-dma.o CC [M] /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-i2c.o CC [M] /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-mmap.o CC [M] /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-p2p.o CC [M] /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-procfs.o CC [M] /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-pat.o /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-mmap.c:303:5: warning: conflicting types for ‘nv_encode_caching’ due to enum/integer mismatch; have ‘int(pgprot_t , NvU32, nv_memory_type_t)’ {aka ‘int(struct pgprot , unsigned int, nv_memory_type_t)’} [-Wenum-int-mismatch] 303 | int nv_encode_caching( | ^~~~~ In file included from /var/lib/dkms/nvidia/525.47.13/build/common/inc/nv-linux.h:1727, from /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-mmap.c:27: /var/lib/dkms/nvidia/525.47.13/build/common/inc/nv-proto.h:46:13: note: previous declaration of ‘nv_encode_caching’ with type ‘int(pgprot_t , NvU32, NvU32)’ {aka ‘int(struct pgprot , unsigned int, unsigned int)’} 46 | int nv_encode_caching (pgprot_t *, NvU32, NvU32); | ^~~~~ /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-mmap.c: In function ‘nvidia_mmap_numa’: /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-mmap.c:455:19: error: assignment of read-only member ‘vm_flags’ 455 | vma->vm_flags |= VM_MIXEDMAP; | ^~ /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-mmap.c: In function ‘nvidia_mmap_helper’: /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-mmap.c:599:23: error: assignment of read-only member ‘vm_flags’ 599 | vma->vm_flags |= VM_IO | VM_PFNMAP | VM_DONTEXPAND; | ^~ /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-mmap.c:666:23: error: assignment of read-only member ‘vm_flags’ 666 | vma->vm_flags |= (VM_IO | VM_LOCKED | VM_RESERVED); | ^~ /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-mmap.c:667:23: error: assignment of read-only member ‘vm_flags’ 667 | vma->vm_flags |= (VM_DONTEXPAND | VM_DONTDUMP); | ^~ /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-mmap.c:673:23: error: assignment of read-only member ‘vm_flags’ 673 | vma->vm_flags &= ~VM_WRITE; | ^~ /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-mmap.c:674:23: error: assignment of read-only member ‘vm_flags’ 674 | vma->vm_flags &= ~VM_MAYWRITE; | ^~ /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-mmap.c: In function ‘nv_encode_caching’: /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-mmap.c:353:16: warning: this statement may fall through [-Wimplicit-fallthrough=] 353 | if (NV_ALLOW_CACHING(memory_type)) | ^ /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-mmap.c:356:9: note: here 356 | default: | ^~~ make[2]: [scripts/Makefile.build:252: /var/lib/dkms/nvidia/525.47.13/build/nvidia/nv-mmap.o] Error 1 make[2]: Waiting for unfinished jobs.... make[1]: [Makefile:2025: /var/lib/dkms/nvidia/525.47.13/build] Error 2 make: [Makefile:82: modules] Error 2

Regular 530.41.03 GL driver installs with no issues.

Have set up with a new system a few times to confirm, and it's definitely not working. The error codes don't mean anything to me (Error 1, Error 2) and I can't find any specific referrence to said codes.

vigilant-hylian commented 1 year ago

That being said, using the custom version installer to force vulkan 525.47.22 (via https://developer.nvidia.com/vulkan-driver) does not cause the DKMS build to fail. The current hard-coded version (525.47.13) seems to fail. Might be worth updating to the latest revision?

vigilant-hylian commented 1 year ago

Also, this might be an NVIDIA issue and nothing to do with your software but I have no idea how to tell. The modules of the vulkan builds seem to not be being added correctly to the boot image in kernel 6.3.1. I can attempt to boot with a vulkan driver on a successful build for DKMS + dracut regenerate, but nvidia-persistenced fails to start, and the logs state that the system Failed to find module nvidia-uvm. No errors were found in the entire build process using your scripts. Only happens with Vulkan drivers, too.