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

Hello community,

Another testing branch update with some usual updates for you. This hopefully brings us closer to a new stable snapshot …

image
Ryan took our UM700 for a deep-dive. Find out more and visit the store!

  • Some of our Kernels got updated
  • A few more GNOME 42.1 packages trickled in
  • Gstreamer got updated to 1.20.2
  • LibreOffice is at 7.3.3
  • Mesa got updated to 22.0.3
  • Qemu got renewed to 7.0.0
  • Usual Haskell and Python package updates

Additional Info

Info about AUR packages

:warning: AUR (Arch User Repository) packages are neither supported by Arch nor Manjaro. Posts about them in Annoucement topics are off-topic and will be flagged, moved or removed without warning.

:information_source: You may need to rebuild any AUR packages that install files to site-packages …

Get our latest daily developer images now from Github: Plasma, GNOME, XFCE. You get the latest stable releases of Manjaro from CDN77.


Our current supported kernels

  • linux49 4.9.312
  • linux414 4.14.277
  • linux419 4.19.241
  • linux54 5.4.192
  • linux510 5.10.114
  • linux515 5.15.38
  • linux516 5.16.20 [EOL]
  • linux517 5.17.6
  • linux518 5.18-rc6
  • linux515-rt 5.15.36_rt41
  • linux516-rt 5.16.2_rt19
  • linux517-rt 5.17.1_rt17

Package Changes Tue May 10 06:36:12 CEST 2022)

  • testing community x86_64: 1350 new and 1343 removed package(s)
  • testing core x86_64: 22 new and 22 removed package(s)
  • testing extra x86_64: 342 new and 344 removed package(s)
  • testing kde-unstable x86_64: 211 new and 210 removed package(s)
  • testing multilib x86_64: 33 new and 33 removed package(s)

A detailed list of all changes can be found here.

  • No issue, everything went smoothly
  • Yes there was an issue. I was able to resolve it myself.(Please post your solution)
  • Yes i am currently experiencing an issue due to the update. (Please post about it)

0 voters

Check if your mirror has already synced:

6 Likes

:information_source: GNOME 42 has arrived! :partying_face:

Gtk 4 theming and Libadwaita
Unfortunately, there will be no custom theming available for Libadwaita applications. However, once the Libadwaita Recoloring API is implemented, we should be able to add Maia to the color palette.

I suggest installing the adw-gtk-theme from our community repo to make all Gtk applications have a matching theme. In Tweaks, set the Legacy Applications theme to Adw or Adw-dark. I recommend setting the Shell theme to Default or another shell theme you prefer that has GNOME 42 support.

To automatically switch the system theme and legacy application theme when toggling between the Light and Dark style in Settings, install the Legacy (GTK3) Theme Scheme Auto Switcher extension (gnome-shell-extension-legacy-theme-auto-switcher).

Qt application theming
For Qt application theming, we have switched back to QGnomePlatform for GNOME 42. qt5ct and qt6ct (Qt Configuration Utilities) may be marked as orphans. If you want to use QGnomePlatform with the Adwaita Qt style, you’ll need remove or comment the QT_QPA_PLATFORMTHEME variable in /etc/environment. You’ll want both qgnomeplatform and qgnomeplatform-qt6 for Qt 5 and Qt 6 applications.

New Adwaita folder icon style
If you want the new Adwaita folder icon style with Papirus, you can use papirus-folders to set it:

For example, with Papirus-Dark:

papirus-folders -C adwaita --theme Papirus-Dark

Manjaro COSMIC status
For those using the Manjaro COSMIC packages, you will need to remove them. I’ve dropped them from the repos. Once System76 finishes their new Gtk 4 applications for Pop!_OS, I’ll see about adding them.

KNOWN ISSUES

If you’re not using GNOME

If you want to change the theme of Libadwaita applications on another Gtk desktop like Xfce or Cinnamon, you can use the following commands:

Light Adwaita theme:

gsettings set org.gnome.desktop.interface color-scheme default

Dark Adwaita theme:

gsettings set org.gnome.desktop.interface color-scheme prefer-dark

Known issues and solutions

This is a wiki post; please edit as necessary.
Please, consider subscribing to the Testing Updates Announcements RSS feed


Please RTFT (Read This Fine Thread) first before reporting the same issues over and over again!

:arrow_right: 2022-05-10

QEMU >= 7.0.0 changes split package setup

2022-05-09 - David Runge

With the update to qemu 7.0.0 the package has been turned into a more fine grained split package utilizing meta packages.

  • The qemu package is now virtually provided by the meta packages qemu-base, qemu-desktop and qemu-full.
  • The functionality of qemu prior to 7.0.0 is replaced by qemu-desktop
  • The functionality of qemu-headless is replaced by qemu-base
  • The functionality of qemu-arch-extra and qemu-headless-arch-extra is replaced by qemu-emulators-full
  • The meta package qemu-full provides all QEMU related packages (excluding qemu-guest-agent)

2022-03-12

Cannot mix incompatible Qt library (5.15.2) with this library (5.15.3)
  • Check the mirror you use is up to date:
sudo pacman-mirrors -f 5 && sudo pacman -Syyu 
  • If you use qt5-styleplugins (AUR), rebuild it:
pamac build qt5-styleplugins
FIXED? VPN via L2TP might not work anymore

See FS#74089 - networkmanager 1.36 breaks vpn with networkmanager-l2tp

You may need to downgrade to 1.34.0:

sudo pacman -U https://archive.archlinux.org/packages/l/libnm/libnm-1.34.0-1-x86_64.pkg.tar.zst https://archive.archlinux.org/packages/n/networkmanager/networkmanager-1.34.0-1-x86_64.pkg.tar.zst

FIXED? DSL/PPPoE may require downgrading 2 packages

See my-internet-connection-is-no-longer-working and FS#73948 - networkmanager 1.36.0 breaks DSL connection

Please check if 1.36.2-1.0 of NetworkManager improve things, else downgrade to 1.34.0:

sudo pacman -U https://archive.archlinux.org/packages/l/libnm/libnm-1.34.0-1-x86_64.pkg.tar.zst https://archive.archlinux.org/packages/n/networkmanager/networkmanager-1.34.0-1-x86_64.pkg.tar.zst

2022-01-03

New warnings when building the fallback initcpio - Possibly missing firmware for module: bfa, qed, qla1280, qla2xxx

That’s due to the recent changes to the linux-firmware package. Note these are warnings, not errors. You only need those firmwares if you have Mellanox Spectrum switches, Marvell devices, Qualcomm SoCs, Cavium LiquidIO server adapters, QLogic devices and Broadcom NetXtreme II 10Gb ethernet adapters. if you have that hardware you can install linux-firmware-qlogic to get rid of those warnings. If you do not have that hardware you can safely ignore those warnings.

pamac install linux-firmware-qlogic

2021-12-31

Python packages from PIP and AUR - how to upgrade them - detailed instructions

Read this post.

1 Like

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.