Arc-Compute / LibVF.IO

A vendor neutral GPU multiplexing tool driven by VFIO & YAML.
GNU Affero General Public License v3.0
822 stars 39 forks source link

Installing patched drivers fails on Fedora 37 #61

Open dszmaj opened 1 year ago

dszmaj commented 1 year ago

I get these errors:

ERROR: Failed to run `/usr/sbin/dkms build -m nvidia -v 510.85.02 -k 6.0.10-300.fc37.x86_64`: Sign command:
         /lib/modules/6.0.10-300.fc37.x86_64/build/scripts/sign-file
         Signing key: /var/lib/dkms/mok.key
         Public certificate (MOK): /var/lib/dkms/mok.pub

         Building module:
         Cleaning build area...                                                                                                              
         'make' -j12 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=6.0.10-300.fc37.x86_64 IGNORE_CC_MISMATCH='' modules.........(bad exit status:
         2)
         Error! Bad return status for module build on kernel: 6.0.10-300.fc37.x86_64 (x86_64)
         Consult /var/lib/dkms/nvidia/510.85.02/build/make.log for more information.
ERROR: Failed to install the kernel module through DKMS. No kernel module was installed; please try installing again without DKMS, or
         check the DKMS logs for more information. 
ERROR: Installation has failed.  Please see the file '/var/log/nvidia-installer.log' for details.  You may find suggestions on fixing      
         installation problems in the README available on the Linux driver download page at www.nvidia.com.

Contents of /var/lib/dkms/nvidia/510.85.02/build/make.log:

DKMS make.log for nvidia-510.85.02 for kernel 6.0.10-300.fc37.x86_64 (x86_64)
pią, 2 gru 2022, 10:57:20 CET
make[1]: Entering directory '/usr/src/kernels/6.0.10-300.fc37.x86_64'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (GCC) 12.2.1 20221121 (Red Hat 12.2.1-4)
  You are using:           cc (GCC) 12.2.1 20221121 (Red Hat 12.2.1-4)
  SYMLINK /var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-kernel.o
  SYMLINK /var/lib/dkms/nvidia/510.85.02/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: acquire_console_sem
 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: cc_mkdec
 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: of_property_read_variable_u8_array
 CONFTEST: i2c_new_client_device
 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: dma_set_coherent_mask
 CONFTEST: acpi_bus_get_device
 CONFTEST: get_task_ioprio
 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: vfio_register_notifier
 CONFTEST: mdev_parent_dev
 CONFTEST: mdev_dev
 CONFTEST: mdev_get_type_group_id
 CONFTEST: mdev_uuid
 CONFTEST: mdev_from_dev
 CONFTEST: mdev_set_iommu_device
 CONFTEST: pci_irq_vector_helpers
 CONFTEST: kvmalloc
 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_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_kthread_create_on_node
 CONFTEST: file_operations
 CONFTEST: kuid_t
 CONFTEST: file_inode
 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: mdev_parent
 CONFTEST: vfio_info_add_capability_has_cap_type_id_arg
 CONFTEST: vfio_device_gfx_plane_info
 CONFTEST: vfio_device_migration_has_start_pfn
 CONFTEST: mdev_parent_ops_has_open_device
 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: drm_mode_config_has_allow_fb_modifiers
 CONFTEST: dma_resv_add_fence
 CONFTEST: dma_resv_reserve_fences
 CONFTEST: reservation_object_reserve_shared_has_num_fences_arg
 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.85.02/build/nvidia/nv.o
  CC [M]  /var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-pci.o
  CC [M]  /var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.o
  CC [M]  /var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-cray.o
  CC [M]  /var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-dma.o
  CC [M]  /var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-i2c.o
  CC [M]  /var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-mmap.o
  CC [M]  /var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-p2p.o
  CC [M]  /var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-pat.o
  CC [M]  /var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-procfs.o
  CC [M]  /var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-procfs-utils.o
  CC [M]  /var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-usermap.o
  CC [M]  /var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-vm.o
In file included from ./include/linux/preempt.h:11,
                 from ./include/linux/spinlock.h:55,
                 from /var/lib/dkms/nvidia/510.85.02/build/common/inc/nv-lock.h:29,
                 from /var/lib/dkms/nvidia/510.85.02/build/common/inc/nv-linux.h:32,
                 from /var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:27:
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c: In function 'nv_acpi_ddc_method':
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:751:43: error: 'struct acpi_device' has no member named 'children'
  751 |     list_for_each_safe(node, next, &device->children)
      |                                           ^~
./include/linux/list.h:643:21: note: in definition of macro 'list_for_each_safe'
  643 |         for (pos = (head)->next, n = pos->next; \
      |                     ^~~~
./include/linux/list.h:643:32: warning: left-hand operand of comma expression has no effect [-Wunused-value]
  643 |         for (pos = (head)->next, n = pos->next; \
      |                                ^
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:751:5: note: in expansion of macro 'list_for_each_safe'
  751 |     list_for_each_safe(node, next, &device->children)
      |     ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:751:43: error: 'struct acpi_device' has no member named 'children'
  751 |     list_for_each_safe(node, next, &device->children)
      |                                           ^~
./include/linux/list.h:644:34: note: in definition of macro 'list_for_each_safe'
  644 |              !list_is_head(pos, (head)); \
      |                                  ^~~~
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-pci.c: In function 'nv_pci_probe':
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-pci.c:591:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  591 |     extern int nv_vgpu_kvm_enable;
      |     ^~~~~~
In file included from ./include/linux/container_of.h:5,
                 from ./include/linux/list.h:5:
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:755:50: error: 'struct acpi_device' has no member named 'node'; did you mean 'fwnode'?
  755 |             list_entry(node, struct acpi_device, node);
      |                                                  ^~~~
./include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
   78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
      |                                                        ^~~~
./include/linux/container_of.h:19:9: note: in expansion of macro 'static_assert'
   19 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
      |         ^~~~~~~~~~~~~
./include/linux/container_of.h:19:23: note: in expansion of macro '__same_type'
   19 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
      |                       ^~~~~~~~~~~
./include/linux/list.h:520:9: note: in expansion of macro 'container_of'
  520 |         container_of(ptr, type, member)
      |         ^~~~~~~~~~~~
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:755:13: note: in expansion of macro 'list_entry'
  755 |             list_entry(node, struct acpi_device, node);
      |             ^~~~~~~~~~
././include/linux/compiler_types.h:295:27: error: expression in static assertion is not an integer
  295 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
   78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
      |                                                        ^~~~
./include/linux/container_of.h:19:9: note: in expansion of macro 'static_assert'
   19 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
      |         ^~~~~~~~~~~~~
./include/linux/container_of.h:19:23: note: in expansion of macro '__same_type'
   19 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
      |                       ^~~~~~~~~~~
./include/linux/list.h:520:9: note: in expansion of macro 'container_of'
  520 |         container_of(ptr, type, member)
      |         ^~~~~~~~~~~~
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:755:13: note: in expansion of macro 'list_entry'
  755 |             list_entry(node, struct acpi_device, node);
      |             ^~~~~~~~~~
In file included from /var/lib/dkms/nvidia/510.85.02/build/common/inc/nv.h:35,
                 from /var/lib/dkms/nvidia/510.85.02/build/common/inc/nv-linux.h:28:
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:755:50: error: 'struct acpi_device' has no member named 'node'; did you mean 'fwnode'?
  755 |             list_entry(node, struct acpi_device, node);
      |                                                  ^~~~
./include/linux/stddef.h:16:58: note: in definition of macro 'offsetof'
   16 | #define offsetof(TYPE, MEMBER)  __builtin_offsetof(TYPE, MEMBER)
      |                                                          ^~~~~~
./include/linux/list.h:520:9: note: in expansion of macro 'container_of'
  520 |         container_of(ptr, type, member)
      |         ^~~~~~~~~~~~
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:755:13: note: in expansion of macro 'list_entry'
  755 |             list_entry(node, struct acpi_device, node);
      |             ^~~~~~~~~~
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-pci.c: In function 'nv_pci_remove':
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-pci.c:747:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  747 |     extern int nv_vgpu_kvm_enable;
      |     ^~~~~~
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c: In function 'nv_acpi_mux_method':
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:1176:43: error: 'struct acpi_device' has no member named 'children'
 1176 |     list_for_each_safe(node, next, &device->children)
      |                                           ^~
./include/linux/list.h:643:21: note: in definition of macro 'list_for_each_safe'
  643 |         for (pos = (head)->next, n = pos->next; \
      |                     ^~~~
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-dma.c: In function 'nv_dma_use_map_resource':
./include/linux/list.h:643:32: warning: left-hand operand of comma expression has no effect [-Wunused-value]
  643 |         for (pos = (head)->next, n = pos->next; \
      |                                ^
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:1176:5: note: in expansion of macro 'list_for_each_safe'
 1176 |     list_for_each_safe(node, next, &device->children)
      |     ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-dma.c:783:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  783 |     const struct dma_map_ops *ops = get_dma_ops(dma_dev->dev);
      |     ^~~~~
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:1176:43: error: 'struct acpi_device' has no member named 'children'
 1176 |     list_for_each_safe(node, next, &device->children)
      |                                           ^~
./include/linux/list.h:644:34: note: in definition of macro 'list_for_each_safe'
  644 |              !list_is_head(pos, (head)); \
      |                                  ^~~~
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:1178:72: error: 'struct acpi_device' has no member named 'node'; did you mean 'fwnode'?
 1178 |         struct acpi_device *dev = list_entry(node, struct acpi_device, node);
      |                                                                        ^~~~
./include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
   78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
      |                                                        ^~~~
./include/linux/container_of.h:19:9: note: in expansion of macro 'static_assert'
   19 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
      |         ^~~~~~~~~~~~~
./include/linux/container_of.h:19:23: note: in expansion of macro '__same_type'
   19 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
      |                       ^~~~~~~~~~~
./include/linux/list.h:520:9: note: in expansion of macro 'container_of'
  520 |         container_of(ptr, type, member)
      |         ^~~~~~~~~~~~
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:1178:35: note: in expansion of macro 'list_entry'
 1178 |         struct acpi_device *dev = list_entry(node, struct acpi_device, node);
      |                                   ^~~~~~~~~~
././include/linux/compiler_types.h:295:27: error: expression in static assertion is not an integer
  295 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
   78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
      |                                                        ^~~~
./include/linux/container_of.h:19:9: note: in expansion of macro 'static_assert'
   19 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
      |         ^~~~~~~~~~~~~
./include/linux/container_of.h:19:23: note: in expansion of macro '__same_type'
   19 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
      |                       ^~~~~~~~~~~
./include/linux/list.h:520:9: note: in expansion of macro 'container_of'
  520 |         container_of(ptr, type, member)
      |         ^~~~~~~~~~~~
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:1178:35: note: in expansion of macro 'list_entry'
 1178 |         struct acpi_device *dev = list_entry(node, struct acpi_device, node);
      |                                   ^~~~~~~~~~
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-dma.c: At top level:
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-dma.c:991: warning: "IMPORT_SGT_STUBS_NEEDED" redefined
  991 | #define IMPORT_SGT_STUBS_NEEDED 0
      | 
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-dma.c:985: note: this is the location of the previous definition
  985 | #define IMPORT_SGT_STUBS_NEEDED 1
      | 
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:1178:72: error: 'struct acpi_device' has no member named 'node'; did you mean 'fwnode'?
 1178 |         struct acpi_device *dev = list_entry(node, struct acpi_device, node);
      |                                                                        ^~~~
./include/linux/stddef.h:16:58: note: in definition of macro 'offsetof'
   16 | #define offsetof(TYPE, MEMBER)  __builtin_offsetof(TYPE, MEMBER)
      |                                                          ^~~~~~
./include/linux/list.h:520:9: note: in expansion of macro 'container_of'
  520 |         container_of(ptr, type, member)
      |         ^~~~~~~~~~~~
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.c:1178:35: note: in expansion of macro 'list_entry'
 1178 |         struct acpi_device *dev = list_entry(node, struct acpi_device, node);
      |                                   ^~~~~~~~~~
make[2]: *** [scripts/Makefile.build:249: /var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-acpi.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-mmap.c: In function 'nvidia_mmap_sysmem':
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-mmap.c:404:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  404 |         extern int nv_vgpu_kvm_enable;
      |         ^~~~~~
/var/lib/dkms/nvidia/510.85.02/build/nvidia/nv-mmap.c: In function 'nv_encode_caching':
/var/lib/dkms/nvidia/510.85.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.85.02/build/nvidia/nv-mmap.c:346:9: note: here
  346 |         default:
      |         ^~~~~~~
make[1]: *** [Makefile:1856: /var/lib/dkms/nvidia/510.85.02/build] Error 2
make[1]: Leaving directory '/usr/src/kernels/6.0.10-300.fc37.x86_64'
make: *** [Makefile:82: modules] Error 2
arthurrasmusson commented 1 year ago

Hey @dszmaj. Based on the log output you posted it appears that you're using kernel version 6.0 and an Nvidia GPU. Currently kernel version 6 isn't supported except for on Intel GPUs.

I would recommend the following in this order: 1) If possible downgrade to kernel version 5.18 or older. 2) If you must run kernel version 6 try the latest Nvidia driver version 525 (not yet validated on our end as it was released late last week). 3) If the above 2 options don't work I'd recommend finding a supported device such as an Alder Lake or Tiger Lake Intel laptop as the i915 SR-IOV driver support is included as open source in-kernel.

arthurrasmusson commented 1 year ago

A quick note: Nvidia virtualization may now be fixed on Kernel 6.0 using driver 525. I haven't personally validated however some folks report it works.

GVM-user requires an update for use with version driver 525. I'll try to make a note of that in here if/when that's been tested working.

dszmaj commented 1 year ago

So libvfio started crashing for me and I discovered that patching repo started using 525 drivers. Your scripts didn't support it yet, so I cloned repo and tried merging drivers myself, but had weired errors again (I'm not C dev). Then I created the issue and got back that the latest kernel supported for patches is 5.15, so it would require to patch the patches to support 6.0. If everyone trying it is on ubuntu lts, then it'll work probably.

I gave up essentially because I can't contribute to patching. I'll work on full passthrough of iGPU instead. Less performance, but I won't game on it. I just need high performance local vm for windows programs.

arthurrasmusson commented 1 year ago

I rolled back to 510.85 for now here: https://github.com/Arc-Compute/LibVF.IO/commit/a37424ac2dccc86bc80779006ae505d3cf495c31 I tested this working this morning on kernel 5.15.

We're working on 525 support. I'll make a note to try it on kernel 6.

Intel GPUs are a great option too. We're working on that in the GVM-user dev branch.