[Testing Update] 2022-05-10 - Kernels, Mesa, Gnome 42.1, LibreOffice, Gstreamer, Qemu

Interesting:

Error! Bad return status for module build on kernel: 5.18.0-1-MANJARO (x86_64)
Consult /var/lib/dkms/vboxhost/6.1.34_OSE/build/make.log for more information.
$ cat /var/lib/dkms/vboxhost/6.1.34_OSE/build/make.log
cat: /var/lib/dkms/vboxhost/6.1.34_OSE/build/make.log: No such file or directory

And manjaro-keyring also greets us back:

Configuring manjaro-keyring...
==> Adding keys from manjaro.gpg...
gpg: error reading key: No public key
Error configuring manjaro-keyring
gpg: error reading key: No public key
Error configuring manjaro-keyring

Unfortunately, the error message does not point to the offending keys.

I got this message about keys if it helps

> Delete wrongly disabled keys
==> Updating trust database...
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: key 786C63F330D7CB92: no user ID for key signature packet of class 10
gpg: public key DB323392796CA067 is 3037 days newer than the signature
gpg: key 1EB2638FF56C0C53: no user ID for key signature packet of class 10
gpg: key 1EB2638FF56C0C53: no user ID for key signature packet of class 10
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   1  signed:  26  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1  valid:  26  signed:  97  trust: 0-, 0q, 0n, 26m, 0f, 0u
gpg: depth: 2  valid:  89  signed:  33  trust: 89-, 0q, 0n, 0m, 0f, 0u
gpg: next trustdb check due at 2022-07-10
==> Updating trust database...

nvidia 390xx dkms error
linux517-nvidia-390xx-390.147-11-x86_64

pacman.log

==> dkms install --no-depmod nvidia/390.147 -k 5.17.6-1-MANJARO
Error! Bad return status for module build on kernel: 5.17.6-1-MANJARO (x86_64)
Consult /var/lib/dkms/nvidia/390.147/build/make.log for more information.
==> WARNING: `dkms install --no-depmod nvidia/390.147 -k 5.17.6-1-MANJARO' exited 10
/var/lib/dkms/nvidia/390.147/build/make.log
DKMS make.log for nvidia-390.147 for kernel 5.17.6-1-MANJARO (x86_64)
Di 10. Mai 11:37:06 CEST 2022
make[1]: Verzeichnis „/usr/lib/modules/5.17.6-1-MANJARO/build“ wird betreten
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/390.147/build/nvidia/nv-kernel.o
  SYMLINK /var/lib/dkms/nvidia/390.147/build/nvidia-modeset/nv-modeset-kernel.o
 CONFTEST: INIT_WORK
 CONFTEST: remap_pfn_range
 CONFTEST: hash__remap_4k_pfn
 CONFTEST: follow_pfn
 CONFTEST: vmap
 CONFTEST: set_pages_uc
 CONFTEST: list_is_first
 CONFTEST: set_memory_uc
 CONFTEST: set_memory_array_uc
 CONFTEST: change_page_attr
 CONFTEST: pci_get_class
 CONFTEST: pci_choose_state
 CONFTEST: vm_insert_page
 CONFTEST: acpi_device_id
 CONFTEST: acquire_console_sem
 CONFTEST: console_lock
 CONFTEST: kmem_cache_create
 CONFTEST: on_each_cpu
 CONFTEST: smp_call_function
 CONFTEST: acpi_evaluate_integer
 CONFTEST: ioremap_cache
 CONFTEST: ioremap_wc
 CONFTEST: acpi_walk_namespace
 CONFTEST: pci_domain_nr
 CONFTEST: pci_dma_mapping_error
 CONFTEST: sg_alloc_table
 CONFTEST: sg_init_table
 CONFTEST: pci_get_domain_bus_and_slot
 CONFTEST: get_num_physpages
 CONFTEST: efi_enabled
 CONFTEST: proc_create_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: write_cr4
 CONFTEST: of_get_property
 CONFTEST: of_find_node_by_phandle
 CONFTEST: of_node_to_nid
 CONFTEST: pnv_pci_get_npu_dev
 CONFTEST: for_each_online_node
 CONFTEST: node_end_pfn
 CONFTEST: pci_bus_address
 CONFTEST: pci_stop_and_remove_bus_device
 CONFTEST: pci_remove_bus_device
 CONFTEST: request_threaded_irq
 CONFTEST: register_cpu_notifier
 CONFTEST: cpuhp_setup_state
 CONFTEST: dma_map_resource
 CONFTEST: backlight_device_register
 CONFTEST: register_acpi_notifier
 CONFTEST: timer_setup
 CONFTEST: kmem_cache_create_usercopy
 CONFTEST: do_gettimeofday
 CONFTEST: dma_direct_map_resource
 CONFTEST: vmf_insert_pfn
 CONFTEST: jiffies_to_timespec
 CONFTEST: ktime_get_raw_ts64
 CONFTEST: ktime_get_real_ts64
 CONFTEST: ioremap_nocache
 CONFTEST: vga_tryget
 CONFTEST: unsafe_follow_pfn
 CONFTEST: remap_page_range
 CONFTEST: address_space_init_once
 CONFTEST: kbasename
 CONFTEST: fatal_signal_pending
 CONFTEST: list_cut_position
 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: 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_gem_object_get
 CONFTEST: drm_dev_put
 CONFTEST: drm_connector_for_each_possible_encoder
 CONFTEST: drm_gem_object_put_unlocked
 CONFTEST: is_export_symbol_gpl_of_node_to_nid
 CONFTEST: is_export_symbol_present_swiotlb_map_sg_attrs
 CONFTEST: is_export_symbol_present_swiotlb_dma_ops
 CONFTEST: i2c_adapter
 CONFTEST: pm_message_t
 CONFTEST: irq_handler_t
 CONFTEST: acpi_device_ops
 CONFTEST: acpi_op_remove
 CONFTEST: outer_flush_all
 CONFTEST: proc_dir_entry
 CONFTEST: scatterlist
 CONFTEST: sg_table
 CONFTEST: file_operations
 CONFTEST: vm_operations_struct
 CONFTEST: atomic_long_type
 CONFTEST: pci_save_state
 CONFTEST: file_inode
 CONFTEST: task_struct
 CONFTEST: kuid_t
 CONFTEST: dma_ops
 CONFTEST: swiotlb_dma_ops
 CONFTEST: dma_map_ops
 CONFTEST: noncoherent_swiotlb_dma_ops
 CONFTEST: vm_fault_present
 CONFTEST: vm_fault_has_address
 CONFTEST: kernel_write
 CONFTEST: strnstr
 CONFTEST: iterate_dir
 CONFTEST: kstrtoull
 CONFTEST: backlight_properties_type
 CONFTEST: proc_ops
 CONFTEST: timeval
 CONFTEST: mm_has_mmap_lock
 CONFTEST: kmem_cache_has_kobj_remove_work
 CONFTEST: sysfs_slab_unlink
 CONFTEST: vmalloc_has_pgprot_t_arg
 CONFTEST: pci_dev_has_skip_bus_pm
 CONFTEST: pci_channel_state
 CONFTEST: fault_flags
 CONFTEST: atomic64_type
 CONFTEST: address_space
 CONFTEST: backing_dev_info
 CONFTEST: mm_context_t
 CONFTEST: vm_ops_fault_removed_vma_arg
 CONFTEST: vm_fault_t
 CONFTEST: pnv_npu2_init_context
 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_mode_connector_list_update_has_merge_type_bits_arg
 CONFTEST: drm_helper_mode_fill_fb_struct
 CONFTEST: drm_master_drop_has_from_release_arg
 CONFTEST: drm_driver_unload_has_int_return_type
 CONFTEST: kref_has_refcount_of_type_refcount_t
 CONFTEST: drm_atomic_helper_crtc_destroy_state_has_crtc_arg
 CONFTEST: drm_mode_object_find_has_file_priv_arg
 CONFTEST: drm_connector_list_iter
 CONFTEST: drm_atomic_helper_swap_state_has_stall_arg
 CONFTEST: drm_driver_prime_flag_present
 CONFTEST: drm_gem_prime_export_has_dev_arg
 CONFTEST: drm_gem_object_has_resv
 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: dom0_kernel_present
 CONFTEST: nvidia_vgpu_kvm_build
 CONFTEST: nvidia_grid_build
 CONFTEST: drm_available
 CONFTEST: drm_atomic_available
 CONFTEST: is_export_symbol_gpl_refcount_inc
 CONFTEST: is_export_symbol_gpl_refcount_dec_and_test
  CC [M]  /var/lib/dkms/nvidia/390.147/build/nvidia/nv-frontend.o
  CC [M]  /var/lib/dkms/nvidia/390.147/build/nvidia/nv-instance.o
  CC [M]  /var/lib/dkms/nvidia/390.147/build/nvidia/nv-gpu-numa.o
  CC [M]  /var/lib/dkms/nvidia/390.147/build/nvidia/nv.o
  CC [M]  /var/lib/dkms/nvidia/390.147/build/nvidia/nv-acpi.o
  CC [M]  /var/lib/dkms/nvidia/390.147/build/nvidia/nv-chrdev.o
  CC [M]  /var/lib/dkms/nvidia/390.147/build/nvidia/nv-cray.o
  CC [M]  /var/lib/dkms/nvidia/390.147/build/nvidia/nv-dma.o
  CC [M]  /var/lib/dkms/nvidia/390.147/build/nvidia/nv-gvi.o
  CC [M]  /var/lib/dkms/nvidia/390.147/build/nvidia/nv-i2c.o
  CC [M]  /var/lib/dkms/nvidia/390.147/build/nvidia/nv-mempool.o
  CC [M]  /var/lib/dkms/nvidia/390.147/build/nvidia/nv-mmap.o
  CC [M]  /var/lib/dkms/nvidia/390.147/build/nvidia/nv-p2p.o
  CC [M]  /var/lib/dkms/nvidia/390.147/build/nvidia/nv-pat.o
  CC [M]  /var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.o
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-mmap.c: In Funktion »nv_encode_caching«:
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-mmap.c:255:16: Warnung: diese Anweisung könnte durchfallen [-Wimplicit-fallthrough=]
  255 |             if (NV_ALLOW_CACHING(memory_type))
      |                ^
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-mmap.c:257:9: Anmerkung: hier
  257 |         default:
      |         ^~~~~~~
  CC [M]  /var/lib/dkms/nvidia/390.147/build/nvidia/nv-usermap.o
In Datei, eingebunden von /var/lib/dkms/nvidia/390.147/build/common/inc/nv-linux.h:297,
                 von /var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c:15:
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c: In Funktion »nv_procfs_open_gpu_info«:
/var/lib/dkms/nvidia/390.147/build/common/inc/nv-procfs.h:118:29: Fehler: Implizite Deklaration der Funktion »PDE« [-Werror=implicit-function-declaration]
  118 | # define NV_PDE_DATA(inode) PDE(inode)->data
      |                             ^~~
/var/lib/dkms/nvidia/390.147/build/common/inc/nv-procfs.h:136:13: Anmerkung: bei Substitution des Makros »NV_PDE_DATA«
  136 |             NV_PDE_DATA(inode));                                              \
      |             ^~~~~~~~~~~
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c:161:1: Anmerkung: bei Substitution des Makros »NV_DEFINE_PROCFS_SINGLE_FILE«
  161 | NV_DEFINE_PROCFS_SINGLE_FILE(gpu_info);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/390.147/build/common/inc/nv-procfs.h:118:39: Fehler: ungültiger Typ »int« für »->«
  118 | # define NV_PDE_DATA(inode) PDE(inode)->data
      |                                       ^~
/var/lib/dkms/nvidia/390.147/build/common/inc/nv-procfs.h:136:13: Anmerkung: bei Substitution des Makros »NV_PDE_DATA«
  136 |             NV_PDE_DATA(inode));                                              \
      |             ^~~~~~~~~~~
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c:161:1: Anmerkung: bei Substitution des Makros »NV_DEFINE_PROCFS_SINGLE_FILE«
  161 | NV_DEFINE_PROCFS_SINGLE_FILE(gpu_info);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c: In Funktion »nv_procfs_open_version«:
/var/lib/dkms/nvidia/390.147/build/common/inc/nv-procfs.h:118:39: Fehler: ungültiger Typ »int« für »->«
  118 | # define NV_PDE_DATA(inode) PDE(inode)->data
      |                                       ^~
/var/lib/dkms/nvidia/390.147/build/common/inc/nv-procfs.h:136:13: Anmerkung: bei Substitution des Makros »NV_PDE_DATA«
  136 |             NV_PDE_DATA(inode));                                              \
      |             ^~~~~~~~~~~
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c:175:1: Anmerkung: bei Substitution des Makros »NV_DEFINE_PROCFS_SINGLE_FILE«
  175 | NV_DEFINE_PROCFS_SINGLE_FILE(version);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c: In Funktion »nv_procfs_open_file«:
/var/lib/dkms/nvidia/390.147/build/common/inc/nv-procfs.h:118:39: Fehler: ungültiger Typ »int« für »->«
  118 | # define NV_PDE_DATA(inode) PDE(inode)->data
      |                                       ^~
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c:195:23: Anmerkung: bei Substitution des Makros »NV_PDE_DATA«
  195 |     nvfp->proc_data = NV_PDE_DATA(inode);
      |                       ^~~~~~~~~~~
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c: In Funktion »nv_procfs_open_params«:
/var/lib/dkms/nvidia/390.147/build/common/inc/nv-procfs.h:118:39: Fehler: ungültiger Typ »int« für »->«
  118 | # define NV_PDE_DATA(inode) PDE(inode)->data
      |                                       ^~
/var/lib/dkms/nvidia/390.147/build/common/inc/nv-procfs.h:136:13: Anmerkung: bei Substitution des Makros »NV_PDE_DATA«
  136 |             NV_PDE_DATA(inode));                                              \
      |             ^~~~~~~~~~~
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c:346:1: Anmerkung: bei Substitution des Makros »NV_DEFINE_PROCFS_SINGLE_FILE«
  346 | NV_DEFINE_PROCFS_SINGLE_FILE(params);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c: In Funktion »nv_procfs_open_text_file«:
/var/lib/dkms/nvidia/390.147/build/common/inc/nv-procfs.h:118:39: Fehler: ungültiger Typ »int« für »->«
  118 | # define NV_PDE_DATA(inode) PDE(inode)->data
      |                                       ^~
/var/lib/dkms/nvidia/390.147/build/common/inc/nv-procfs.h:136:13: Anmerkung: bei Substitution des Makros »NV_PDE_DATA«
  136 |             NV_PDE_DATA(inode));                                              \
      |             ^~~~~~~~~~~
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c:672:1: Anmerkung: bei Substitution des Makros »NV_DEFINE_PROCFS_SINGLE_FILE«
  672 | NV_DEFINE_PROCFS_SINGLE_FILE(text_file);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/390.147/build/common/inc/nv-procfs.h:137:5: Fehler: Kontrollfluss erreicht Ende von Nicht-void-Funktion [-Werror=return-type]
  137 |     }                                                                         \
      |     ^
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c:672:1: Anmerkung: bei Substitution des Makros »NV_DEFINE_PROCFS_SINGLE_FILE«
  672 | NV_DEFINE_PROCFS_SINGLE_FILE(text_file);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c: In Funktion »nv_procfs_open_version«:
/var/lib/dkms/nvidia/390.147/build/common/inc/nv-procfs.h:137:5: Fehler: Kontrollfluss erreicht Ende von Nicht-void-Funktion [-Werror=return-type]
  137 |     }                                                                         \
      |     ^
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c:175:1: Anmerkung: bei Substitution des Makros »NV_DEFINE_PROCFS_SINGLE_FILE«
  175 | NV_DEFINE_PROCFS_SINGLE_FILE(version);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c: In Funktion »nv_procfs_open_params«:
/var/lib/dkms/nvidia/390.147/build/common/inc/nv-procfs.h:137:5: Fehler: Kontrollfluss erreicht Ende von Nicht-void-Funktion [-Werror=return-type]
  137 |     }                                                                         \
      |     ^
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c:346:1: Anmerkung: bei Substitution des Makros »NV_DEFINE_PROCFS_SINGLE_FILE«
  346 | NV_DEFINE_PROCFS_SINGLE_FILE(params);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c: In Funktion »nv_procfs_open_gpu_info«:
/var/lib/dkms/nvidia/390.147/build/common/inc/nv-procfs.h:137:5: Fehler: Kontrollfluss erreicht Ende von Nicht-void-Funktion [-Werror=return-type]
  137 |     }                                                                         \
      |     ^
/var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.c:161:1: Anmerkung: bei Substitution des Makros »NV_DEFINE_PROCFS_SINGLE_FILE«
  161 | NV_DEFINE_PROCFS_SINGLE_FILE(gpu_info);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: Einige Warnungen werden als Fehler behandelt
make[2]: *** [scripts/Makefile.build:288: /var/lib/dkms/nvidia/390.147/build/nvidia/nv-procfs.o] Fehler 1
make[2]: *** Es wird auf noch nicht beendete Prozesse gewartet....
make[1]: *** [Makefile:1831: /var/lib/dkms/nvidia/390.147/build] Fehler 2
make[1]: Verzeichnis „/usr/lib/modules/5.17.6-1-MANJARO/build“ wird verlassen
make: *** [Makefile:81: modules] Fehler 2

Where did you get the nvidia-390xx dkms driver from? Looks like your version is not yet patched for kernel 5.17 (see patch here: kernel-5.17.patch · herecura · Herecura / packages / nvidia-390xx-dkms · GitLab).

Had these as well but I am not sure if they are connected to the others I encountered:

gpg: error reading key: No public key
Error configuring manjaro-keyring

from extra-repo ! :wink: no Patch inside?

sudo pacman -Qs nvidia-390xx 
local/linux515-nvidia-390xx 390.147-31 (linux515-extramodules)
    NVIDIA drivers for linux.
local/linux517-nvidia-390xx 390.147-11 (linux517-extramodules)
    NVIDIA drivers for linux.
local/mhwd-nvidia-390xx 390.147-2
    MHWD module-ids for nvidia 390.147
local/nvidia-390xx-dkms 390.147-2
    NVIDIA drivers - module sources
local/nvidia-390xx-utils 390.147-5
    NVIDIA drivers utilities
local/opencl-nvidia-390xx 390.147-2
    OpenCL implemention for NVIDIA

source: kernel-5.17.patch · master · Packages / Extra / linux517-extramodules / nvidia-390xx · GitLab

Yeah I had that error as well after the update finished. I’ve had it before but it doesn’t seem to break anything

This is not the dkms driver. If you use dkms, you will have to look at nvidia-390xx-dkms. As at least I wasn’t able to find that one on the Manjaro GitLab, it looks like you got it elsewhere. That was the reason why I was asking. If I am not entirely mistaken, Manjaro does not officially support the 390 nvidia driver anymore.

Being a former nvidia-390xx user myself, I built the corresponding package based on the nvidia-390xx-dkms package from AUR and applied the necessary modifications.

In a nutshell, here’s what you will have to do:
In a new, empty folder, create a PKGBUILD file with the following contents:

##############################
# Now working with Kernel 5.17
##############################
# based on the 340xx package #
# Maintainer: Jerry Xiao <aur@mail.jerryxiao.cc>
# Maintainer: graysky <graysky AT archlinux DOT us>
# Contributor: Giancarlo Razzolini <grazzolini@archlinux.org>
# Contributor: Eric Bélanger <eric@archlinux.org>

pkgbase=nvidia-390xx
pkgname=(nvidia-390xx-dkms)
pkgver=390.147
pkgrel=9
pkgdesc="NVIDIA drivers for linux, 390xx legacy branch"
arch=('x86_64')
url="https://www.nvidia.com/"
makedepends=("nvidia-390xx-utils=${pkgver}" 'linux>=5.4' 'linux-headers>=5.4')
conflicts=('nvidia')
license=('custom')
options=(!strip)
_durl="http://us.download.nvidia.com/XFree86/Linux-x86"
source=("${_durl}_64/${pkgver}/NVIDIA-Linux-${CARCH}-${pkgver}-no-compat32.run"
        "kernel-5.16.patch"
        "kernel-5.17.patch"
        "dkms.conf.fragment")
sha256sums=('3fc4b5a7c64326cea79156fc31e8160a89621219df09a4cd268844c3e318accc'
            'c5120d5640895a3a80fd2315e19c763f956a1822ae2f47854e431c3e7b719e56'
            '692f20d5191791a88d755abf6049af22083186e7dc5818577f5f5f60b1905e15'
            '9256844fb3b344b52c6d7903071274025dfadef0ad3335c82dbecbdecec2a3ab')

_pkg="NVIDIA-Linux-${CARCH}-${pkgver}-no-compat32"

prepare() {
    # Remove previous builds
    [ -d "$_pkg" ] && rm -rf "$_pkg"
    sh "${_pkg}.run" --extract-only
    cd "${_pkg}"
    # patches here
    # Fix compile problem with 5.16
    echo "PATCH: kernel-5.16.patch (improved)"
    patch -p1 -i "$srcdir"/kernel-5.16.patch
    echo "PATCH: kernel-5.17.patch"
    patch -p1 -i "$srcdir"/kernel-5.17.patch

    cd kernel
    sed -i "s/__VERSION_STRING/${pkgver}/" dkms.conf
    sed -i 's/__JOBS/`nproc`/' dkms.conf
    sed -i 's/__DKMS_MODULES//' dkms.conf
    sed -i '$iBUILT_MODULE_NAME[0]="nvidia"\
DEST_MODULE_LOCATION[0]="/kernel/drivers/video"\
BUILT_MODULE_NAME[1]="nvidia-uvm"\
DEST_MODULE_LOCATION[1]="/kernel/drivers/video"\
BUILT_MODULE_NAME[2]="nvidia-modeset"\
DEST_MODULE_LOCATION[2]="/kernel/drivers/video"\
BUILT_MODULE_NAME[3]="nvidia-drm"\
DEST_MODULE_LOCATION[3]="/kernel/drivers/video"' dkms.conf

    # Gift for linux-rt guys
    sed -i 's/NV_EXCLUDE_BUILD_MODULES/IGNORE_PREEMPT_RT_PRESENCE=1 NV_EXCLUDE_BUILD_MODULES/' dkms.conf

    cd ..
    cp -a kernel kernel-dkms

}

package_nvidia-390xx-dkms() {
    pkgdesc="NVIDIA driver sources for linux, 390xx legacy branch"
    depends=('dkms' "nvidia-390xx-utils=$pkgver" 'libgl' 'linux>=5.4')
    optdepends=('linux-headers: Build the module for Manjaro kernel')
    provides=("nvidia-390xx=$pkgver")
    conflicts+=('nvidia-390xx')

    cd "${_pkg}"

    install -dm 755 "${pkgdir}"/usr/src
    cp -dr --no-preserve='ownership' kernel-dkms "${pkgdir}/usr/src/nvidia-${pkgver}"
   # cat "${pkgdir}"/../../dkms.conf.fragment >> "${pkgdir}"/usr/src/nvidia-${pkgver}/dkms.conf

    echo "blacklist nouveau" |
        install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/${pkgname}.conf"
}

# vim:set ts=2 sw=2 et:

Create the following additional files.

  1. dkms.conf.fragment:
BUILT_MODULE_NAME[1]="${PACKAGE_NAME}-uvm"
BUILT_MODULE_LOCATION[1]="uvm/"
DEST_MODULE_LOCATION[1]="/kernel/drivers/video"
MAKE[0]+="; make -C uvm module KERNEL_UNAME=${kernelver} KBUILD_EXTMOD=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build/uvm"
CLEAN+="; make -C uvm clean"
  1. kernel-5.16.patch:
--- a/kernel/conftest.sh	2021-05-13 07:23:10.000000000 +0200
+++ b/kernel/conftest.sh	2021-09-13 19:54:43.389276174 +0200
@@ -1729,20 +1729,31 @@
             # Determine if the DRM subsystem is usable
             #
             CODE="
+            #include <linux/version.h>
             #if defined(NV_DRM_DRMP_H_PRESENT)
             #include <drm/drmP.h>
+            #else
+            #include <drm/drm_drv.h>
+            #include <drm/drm_prime.h>
             #endif
 
             #if defined(NV_DRM_DRM_DRV_H_PRESENT)
             #include <drm/drm_drv.h>
             #endif
 
+            #if defined(NV_DRM_DRM_GEM_H_PRESENT)
+            #include <drm/drm_gem.h>
+            #endif
+
+            #if defined(NV_DRM_DRM_PRIME_H_PRESENT)
+            #include <drm/drm_prime.h>
+            #endif
+
             #if !defined(CONFIG_DRM) && !defined(CONFIG_DRM_MODULE)
             #error DRM not enabled
             #endif
 
             void conftest_drm_available(void) {
-                struct drm_driver drv;
 
                 /* 2013-10-02 1bb72532ac260a2d3982b40bdd4c936d779d0d16 */
                 (void)drm_dev_alloc;
@@ -1752,6 +1763,24 @@
 
                 /* 2013-10-02 c3a49737ef7db0bdd4fcf6cf0b7140a883e32b2a */
                 (void)drm_dev_unregister;
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 11, 0))
+                // Avoid failure due to all the changes in torvalds/linux commit d693def4fd1c23f1ca5aed1afb9993b3a2069ad2
+                struct drm_driver drv;
+                drv.gem_prime_pin = 0;
+                drv.gem_prime_get_sg_table = 0;
+                drv.gem_prime_vmap = 0;
+                drv.gem_prime_vunmap = 0;
+#else
+                struct drm_gem_object_funcs gem;
+                gem.pin = 0;
+                gem.get_sg_table = 0;
+                gem.vmap = 0;
+                gem.vunmap = 0;
+#endif
+                (void)drm_gem_prime_import;
+                (void)drm_gem_prime_export;
+
+
             }"
 
             compile_check_conftest "$CODE" "NV_DRM_AVAILABLE" "" "generic"
@@ -1764,6 +1793,8 @@
             CODE="
             #if defined(NV_DRM_DRMP_H_PRESENT)
             #include <drm/drmP.h>
+            #else
+            #include <drm/drm_drv.h>
             #endif
             void conftest_drm_dev_unref(void) {
                 /*
@@ -2540,6 +2571,8 @@
             CODE="
             #if defined(NV_DRM_DRMP_H_PRESENT)
             #include <drm/drmP.h>
+            #else
+            #include <drm/drm_crtc.h>
             #endif
 
             #if defined(NV_DRM_DRM_CRTC_H_PRESENT)
@@ -2562,6 +2595,8 @@
             CODE="
             #if defined(NV_DRM_DRMP_H_PRESENT)
             #include <drm/drmP.h>
+            #else
+            #include <drm/drm_encoder.h>
             #endif
 
             #if defined(NV_DRM_DRM_ENCODER_H_PRESENT)
@@ -2583,6 +2618,8 @@
             echo "$CONFTEST_PREAMBLE
             #if defined(NV_DRM_DRMP_H_PRESENT)
             #include <drm/drmP.h>
+            #else
+            #include <drm/drm_plane.h>
             #endif
 
             #if defined(NV_DRM_DRM_PLANE_H_PRESENT)
@@ -2616,6 +2653,8 @@
                 echo "$CONFTEST_PREAMBLE
                 #if defined(NV_DRM_DRMP_H_PRESENT)
                 #include <drm/drmP.h>
+                #else
+                #include <drm/drm_plane.h>
                 #endif
 
                 #if defined(NV_DRM_DRM_PLANE_H_PRESENT)
@@ -2893,6 +2932,7 @@
             #
             echo "$CONFTEST_PREAMBLE
             #include <drm/drm_crtc_helper.h>
+            #include <drm/drm_probe_helper.h>
             void drm_helper_mode_fill_fb_struct(struct drm_device *dev,
                                                 struct drm_framebuffer *fb,
                                                 const struct drm_mode_fb_cmd2 *mode_cmd)
@@ -2919,6 +2959,7 @@
                 #
                 echo "$CONFTEST_PREAMBLE
                 #include <drm/drm_crtc_helper.h>
+                #include <drm/drm_probe_helper.h>
                 void drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb,
                                                     const struct drm_mode_fb_cmd2 *mode_cmd)
                 {
--- a/kernel/nvidia-drm/nvidia-drm-connector.c	2021-06-03 01:10:01.000000000 +0200
+++ b/kernel/nvidia-drm/nvidia-drm-connector.c	2021-09-13 19:54:43.389276174 +0200
@@ -39,6 +39,7 @@
 #include <drm/drm_probe_helper.h>
 #endif
 #include <drm/drm_crtc_helper.h>
+#include <drm/drm_probe_helper.h>
 
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
--- a/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.h	2021-06-03 01:10:01.000000000 +0200
+++ b/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.h	2021-09-13 19:54:43.389276174 +0200
@@ -20,15 +20,16 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
+#define NV_DRM_AVAILABLE
 #ifndef __NVIDIA_DRM_GEM_NVKMS_MEMORY_H__
 #define __NVIDIA_DRM_GEM_NVKMS_MEMORY_H__
 
 #include "nvidia-drm-conftest.h"
+#include "nvidia-drm-gem.h"
+#include "nvidia-drm-priv.h"
 
 #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
 
-#include "nvidia-drm-gem.h"
-
 struct nv_drm_gem_nvkms_memory {
     struct nv_drm_gem_object base;
 
--- a/kernel/nvidia-drm/nvidia-drm-gem.h	2021-06-03 01:10:01.000000000 +0200
+++ b/kernel/nvidia-drm/nvidia-drm-gem.h	2021-09-13 19:54:43.395942799 +0200
@@ -20,13 +20,15 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
+#include <linux/version.h>
+#include "linux/dma-buf.h"
+#include "drm/drm_gem.h"
+
 #ifndef __NVIDIA_DRM_GEM_H__
 #define __NVIDIA_DRM_GEM_H__
 
 #include "nvidia-drm-conftest.h"
 
-#if defined(NV_DRM_AVAILABLE)
-
 #include "nvidia-drm-priv.h"
 
 #if defined(NV_DRM_DRMP_H_PRESENT)
@@ -51,6 +53,15 @@
     struct sg_table *(*prime_get_sg_table)(struct nv_drm_gem_object *nv_gem);
     void *(*prime_vmap)(struct nv_drm_gem_object *nv_gem);
     void (*prime_vunmap)(struct nv_drm_gem_object *nv_gem, void *address);
+    struct drm_gem_object *(*prime_dup)(struct drm_device *dev,
+                                        const struct nv_drm_gem_object *nv_gem_src);
+    int (*mmap)(struct nv_drm_gem_object *nv_gem, struct vm_area_struct *vma);
+    vm_fault_t (*handle_vma_fault)(struct nv_drm_gem_object *nv_gem,
+                                   struct vm_area_struct *vma,
+                                   struct vm_fault *vmf);
+    int (*create_mmap_offset)(struct nv_drm_device *nv_dev,
+                              struct nv_drm_gem_object *nv_gem,
+                              uint64_t *offset);
 };
 
 struct nv_drm_gem_object {
@@ -193,6 +204,4 @@
 nv_dma_resv_t* nv_drm_gem_prime_res_obj(struct drm_gem_object *obj);
 #endif
 
-#endif /* NV_DRM_AVAILABLE */
-
 #endif /* __NVIDIA_DRM_GEM_H__ */
--- a/kernel/nvidia-drm/nvidia-drm-gem.c	2021-06-03 01:10:01.000000000 +0200
+++ b/kernel/nvidia-drm/nvidia-drm-gem.c	2021-09-13 19:54:43.395942799 +0200
@@ -20,6 +20,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
+#include <linux/version.h>
 #include "nvidia-drm-conftest.h"
 
 #if defined(NV_DRM_AVAILABLE)
--- a/kernel/nvidia-drm/nvidia-drm-fb.c	2021-06-03 01:10:01.000000000 +0200
+++ b/kernel/nvidia-drm/nvidia-drm-fb.c	2021-09-13 19:54:43.389276174 +0200
@@ -31,6 +31,7 @@
 #include "nvidia-drm-gem.h"
 
 #include <drm/drm_crtc_helper.h>
+#include <drm/drm_probe_helper.h>
 
 static void nv_drm_framebuffer_destroy(struct drm_framebuffer *fb)
 {
--- a/kernel/nvidia-drm/nvidia-drm-encoder.c	2021-06-03 01:10:01.000000000 +0200
+++ b/kernel/nvidia-drm/nvidia-drm-encoder.c	2021-09-13 19:54:43.389276174 +0200
@@ -31,6 +31,12 @@
 #include "nvidia-drm-crtc.h"
 #include "nvidia-drm-helper.h"
 
+#include <drm/drm_crtc_helper.h>
+#include <drm/drm_probe_helper.h>
+
+#include <drm/drm_atomic.h>
+#include <drm/drm_atomic_helper.h>
+
 /*
  * Commit fcd70cd36b9b ("drm: Split out drm_probe_helper.h")
  * moves a number of helper function definitions from
--- a/kernel/nvidia-drm/nvidia-drm-drv.c	2021-06-03 01:10:01.000000000 +0200
+++ b/kernel/nvidia-drm/nvidia-drm-drv.c	2021-09-13 19:54:43.389276174 +0200
@@ -19,8 +19,12 @@
  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  * DEALINGS IN THE SOFTWARE.
  */
-
+#include <linux/version.h>
 #include "nvidia-drm-conftest.h" /* NV_DRM_AVAILABLE and NV_DRM_DRM_GEM_H_PRESENT */
+#include <drm/drm_gem.h>
+
+#include <drm/drm_crtc_helper.h>
+#include <drm/drm_probe_helper.h>
 
 #include "nvidia-drm-priv.h"
 #include "nvidia-drm-drv.h"
@@ -737,6 +741,13 @@
 #endif
 };
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 12, 0))
+// Reimport trivial forwarder function deleted in commit "drm: Don't export the drm_gem_dumb_destroy() function" (file drivers/gpu/drm/drm_gem.c)
+static int nv_drm_gem_dumb_destroy(struct drm_file *file, struct drm_device *dev, u32 handle)
+{
+    return drm_gem_handle_delete(file, handle);
+}
+#endif
 
 /*
  * Update the global nv_drm_driver for the intended features.
@@ -760,7 +771,11 @@
 
     nv_drm_driver.dumb_create      = nv_drm_dumb_create;
     nv_drm_driver.dumb_map_offset  = nv_drm_dumb_map_offset;
-    nv_drm_driver.dumb_destroy     = nv_drm_dumb_destroy;
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 12, 0))
+        nv_drm_driver.dumb_destroy     = drm_gem_dumb_destroy;
+    #else
+        nv_drm_driver.dumb_destroy     = nv_drm_gem_dumb_destroy;
+    #endif
 
 #if defined(NV_DRM_DRIVER_HAS_GEM_PRIME_CALLBACKS)
     nv_drm_driver.gem_vm_ops       = &nv_drm_gem_vma_ops;
--- a/kernel/nvidia-drm/nvidia-drm-crtc.c	2021-06-03 01:10:01.000000000 +0200
+++ b/kernel/nvidia-drm/nvidia-drm-crtc.c	2021-09-13 19:54:43.389276174 +0200
@@ -19,7 +19,7 @@
  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  * DEALINGS IN THE SOFTWARE.
  */
-
+#include <linux/version.h>
 #include "nvidia-drm-conftest.h" /* NV_DRM_ATOMIC_MODESET_AVAILABLE */
 
 #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
@@ -34,6 +34,7 @@
 #include "nvidia-drm-ioctl.h"
 
 #include <drm/drm_crtc_helper.h>
+#include <drm/drm_probe_helper.h>
 #include <drm/drm_plane_helper.h>
 
 #include <drm/drm_atomic.h>
--- a/kernel/nvidia-drm/nvidia-drm-crtc.h	2021-06-03 01:10:01.000000000 +0200
+++ b/kernel/nvidia-drm/nvidia-drm-crtc.h	2021-09-13 19:54:43.389276174 +0200
@@ -20,10 +20,14 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
+#include <linux/version.h>
+#include "nvidia-drm-conftest.h"
+#include "nvidia-drm-priv.h"
+#include "linux/dma-buf.h"
+
 #ifndef __NVIDIA_DRM_CRTC_H__
 #define __NVIDIA_DRM_CRTC_H__
 
-#include "nvidia-drm-conftest.h"
 
 #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
 
@@ -139,7 +143,7 @@
 struct nv_drm_crtc *nv_drm_crtc_lookup(struct nv_drm_device *nv_dev, NvU32 head)
 {
     struct drm_crtc *crtc;
-    nv_drm_for_each_crtc(crtc, nv_dev->dev) {
+    drm_for_each_crtc(crtc, nv_dev->dev) {
         struct nv_drm_crtc *nv_crtc = to_nv_crtc(crtc);
 
         if (nv_crtc->head == head)  {
--- a/kernel/common/inc/nv-time.h	2021-06-03 01:09:57.000000000 +0200
+++ b/kernel/common/inc/nv-time.h	2021-09-13 19:54:43.392609486 +0200
@@ -24,12 +24,24 @@
 #define __NV_TIME_H__
 
 #include "conftest.h"
+#include "nv-linux.h"
 
 #include <linux/time.h>
 #if defined(NV_LINUX_KTIME_H_PRESENT)
 #include <linux/ktime.h>
 #endif
 
+//---------------------------------------------------------------------------
+//
+//  Misc services.
+//
+//---------------------------------------------------------------------------
+
+#define NV_MSECS_PER_JIFFIE         (1000 / HZ)
+#define NV_MSECS_TO_JIFFIES(msec)   ((msec) * HZ / 1000)
+#define NV_USECS_PER_JIFFIE         (1000000 / HZ)
+#define NV_USECS_TO_JIFFIES(usec)   ((usec) * HZ / 1000000)
+
 #if defined (NV_TIMEVAL_PRESENT)
 typedef struct timeval nv_timeval; 
 #else
@@ -52,4 +64,92 @@
 #endif // NV_DO_GETTIMEOFDAY_PRESENT
 }
 
+
+
+/*
+ * Sleep for specified milliseconds. Yields the CPU to scheduler.
+ *
+ * On Linux, a jiffie represents the time passed in between two timer
+ * interrupts. The number of jiffies per second (HZ) varies across the
+ * supported platforms. On i386, where HZ is 100, a timer interrupt is
+ * generated every 10ms. NV_MSECS_TO_JIFFIES should be accurate independent of
+ * the actual value of HZ; any partial jiffies will be 'floor'ed, the
+ * remainder will be accounted for with mdelay().
+ */
+static inline NV_STATUS NV_API_CALL nv_sleep_ms(unsigned int ms)
+{
+    unsigned long MicroSeconds;
+    unsigned long jiffies;
+    unsigned long mdelay_safe_msec;
+    nv_timeval tm_end, tm_aux;
+
+    #ifdef NV_CHECK_DELAY_ACCURACY
+    nv_timeval tm_start;
+#endif
+
+    nv_gettimeofday(&tm_aux);
+#ifdef NV_CHECK_DELAY_ACCURACY
+    tm_start = tm_aux;
+#endif
+
+    if (in_irq() && (ms > NV_MAX_ISR_DELAY_MS))
+    {
+        return NV_ERR_GENERIC;
+    }
+    if (!NV_MAY_SLEEP())
+    {
+        mdelay(ms);
+        return NV_OK;
+    }
+
+    MicroSeconds = ms * 1000;
+    tm_end.tv_usec = MicroSeconds;
+    tm_end.tv_sec = 0;
+    NV_TIMERADD(&tm_aux, &tm_end, &tm_end);
+
+    /* do we have a full jiffie to wait? */
+    jiffies = NV_USECS_TO_JIFFIES(MicroSeconds);
+
+    if (jiffies)
+    {
+        //
+        // If we have at least one full jiffy to wait, give up
+        // up the CPU; since we may be rescheduled before
+        // the requested timeout has expired, loop until less
+        // than a jiffie of the desired delay remains.
+        //
+        set_current_state(TASK_INTERRUPTIBLE);
+        do
+        {
+            schedule_timeout(jiffies);
+            nv_gettimeofday(&tm_aux);
+            if (NV_TIMERCMP(&tm_aux, &tm_end, <))
+            {
+                NV_TIMERSUB(&tm_end, &tm_aux, &tm_aux);
+                MicroSeconds = tm_aux.tv_usec + tm_aux.tv_sec * 1000000;
+            }
+            else
+                MicroSeconds = 0;
+        } while ((jiffies = NV_USECS_TO_JIFFIES(MicroSeconds)) != 0);
+    }
+
+    if (MicroSeconds > 1000)
+    {
+        mdelay_safe_msec = MicroSeconds / 1000;
+        mdelay(mdelay_safe_msec);
+        MicroSeconds %= 1000;
+    }
+    if (MicroSeconds)
+    {
+        udelay(MicroSeconds);
+    }
+#ifdef NV_CHECK_DELAY_ACCURACY
+    nv_gettimeofday(&tm_aux);
+    timersub(&tm_aux, &tm_start, &tm_aux);
+    nv_printf(NV_DBG_ERRORS, "NVRM: osDelay %dmsec: %d.%06dsec\n",
+        MilliSeconds, tm_aux.tv_sec, tm_aux.tv_usec);
+#endif
+
+    return NV_OK;
+}
 #endif // __NV_TIME_H__

--- a/kernel/nvidia/os-interface.c	2021-06-03 01:09:57.000000000 +0200
+++ b/kernel/nvidia/os-interface.c	2021-09-13 19:54:43.392609486 +0200
@@ -512,7 +512,7 @@
 
     if (in_irq() && (MicroSeconds > NV_MAX_ISR_DELAY_US))
         return NV_ERR_GENERIC;
-    
+
     mdelay_safe_msec = MicroSeconds / 1000;
     if (mdelay_safe_msec)
         mdelay(mdelay_safe_msec);

--- a/kernel/common/inc/nv-linux.h	2021-06-03 01:09:57.000000000 +0200
+++ b/kernel/common/inc/nv-linux.h	2021-09-13 19:54:43.395942799 +0200
@@ -1862,11 +1862,12 @@
 #define NV_FILE_INODE(file) (file)->f_dentry->d_inode
 #endif
 
-/* Stub out UVM in multi-RM builds */
+/* Stub out UVM in multi-RM builds
 
 #if (NV_BUILD_MODULE_INSTANCES != 0)
 #undef NV_UVM_ENABLE
 #endif
+*/
 
 #if defined(NV_DOM0_KERNEL_PRESENT) || defined(NV_VGPU_KVM_BUILD)
 #define NV_VGX_HYPER
--- a/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c	2021-06-03 01:10:01.000000000 +0200
+++ b/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c	2021-09-13 19:54:43.395942799 +0200
@@ -20,6 +20,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
+#include <linux/version.h>
 #include "nvidia-drm-conftest.h"
 
 #if defined(NV_DRM_AVAILABLE)
@@ -32,6 +33,10 @@
 #include "nvidia-drm-helper.h"
 #include "nvidia-drm-ioctl.h"
 
+#include "linux/dma-buf.h"
+#include "linux/mm.h"
+#include "nv-mm.h"
+
 static inline
 void __nv_drm_gem_user_memory_free(struct nv_drm_gem_object *nv_gem)
 {
@@ -70,7 +75,7 @@
     nv_drm_vunmap(address);
 }
 
-static struct nv_drm_gem_object_funcs __nv_gem_user_memory_ops = {
+const struct nv_drm_gem_object_funcs __nv_gem_user_memory_ops = {
     .free = __nv_drm_gem_user_memory_free,
     .prime_get_sg_table = __nv_drm_gem_user_memory_prime_get_sg_table,
     .prime_vmap = __nv_drm_gem_user_memory_prime_vmap,
--- a/kernel/nvidia/nv-mmap.c	2021-06-03 01:09:57.000000000 +0200
+++ b/kernel/nvidia/nv-mmap.c	2021-09-14 10:44:49.850587884 +0200
@@ -253,7 +253,8 @@
 #endif
         case NV_MEMORY_CACHED:
             if (NV_ALLOW_CACHING(memory_type))
-                break;
+                // Intentional fallthrough.
+               break;
         default:
             nv_printf(NV_DBG_ERRORS,
                 "NVRM: VM: cache type %d not supported for memory type %d!\n",
  1. kernel-5.17.patch:
From 026a2a54a234cdb7bf78c17be7ea29d8dcf9f390 Mon Sep 17 00:00:00 2001
From: Joan Bruguera <joanbrugueram@gmail.com>
Date: Sun, 23 Jan 2022 16:28:18 +0100
Subject: [PATCH] Tentative fix for NVIDIA 470.94 driver for Linux 5.17-rc1

See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=359745d78351c6f5442435f81549f0207ece28aa

---
 kernel/common/inc/nv-procfs.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/kernel/common/inc/nv-procfs.h b/kernel/common/inc/nv-procfs.h
index 7c3e1a3..462eac1 100644
--- a/kernel/common/inc/nv-procfs.h
+++ b/kernel/common/inc/nv-procfs.h
@@ -10,6 +10,7 @@
 #ifndef _NV_PROCFS_UTILS_H
 #define _NV_PROCFS_UTILS_H

+#include <linux/version.h>
 #include "conftest.h"

 #ifdef CONFIG_PROC_FS
@@ -87,6 +88,8 @@ typedef struct file_operations nv_proc_ops_t;

 #if defined(NV_PDE_DATA_PRESENT)
 # define NV_PDE_DATA(inode) PDE_DATA(inode)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0))
+# define NV_PDE_DATA(inode) pde_data(inode)
 #else
 # define NV_PDE_DATA(inode) PDE(inode)->data
 #endif
--
2.34.1

If you have all of them together, just run

makepkg -fi

This should update your driver with the patched one.

It’s part of the nvidia-390xx-utils split package.

Somehow that got missed, I’ve applied it with 390.147-6.

At least one NEW little issue - not important (systemd bootlog):
gdm[663]: Gdm: Failed to contact accountsservice: Fehler beim Aufruf von StartServiceByName für org.freedesktop.Accounts: Refusing activation, D-Bus is shutting down.
AND-OR:
gdm[645]: Gdm: Failed to list cached users: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name :1.10 was not provided by any .service files
.
Has no effect on anything. Hopefully cosmetic?

while I’m waiting a little for restart my system since the keyring is asking me to do it, I’m having a little issue with the default font, the combination of fi change to an ¨O or something similar, only for lowercase

also, since the update of gnome 42, the activities overview in the main screen only show the background color, to make it properly working I must disable an enable one random extension.

Reboot and your font issue will be gone. :wink:

Screenshot_20220511_104425

I use Manjaro KDE

After update, my manjaro zsh theme becomes this. My konsole font is JetBrains Mono

No issues with the upgrade process here, but I noticed that the Noto Sans font appeared to be slightly condensed that what I’m used to. Other weights and italic styles don’t seem to be affected by this. When I changed the weight between Regular and Display Regular in System Settings, they appeared to be identical. Obviously a downgrade fixed this issue, so I think there is something wrong with its fontconfig.

2 Likes

Same message here with some variation

Gdm: Failed to list cached users: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name :1.15 was not provided by any .service files

I experience no issues, looks cosmetic.

1 Like

Computer können nur machen was man sagt, nicht, was man will.
Falls der PC etwas von Alleine macht, bin ich beunruhigt, obwohl kein Kontroll-Freak.
.
Computers can only do what you say, not what you want.
If the PC does something on its own, I am worried, although not a control freak.

qgnomeplatform still doesn’t work, bluetooth still disabled on boot.

A post was split to a new topic: Not possible to set “Alternative Characters Key”