I tried some stuff but kept coming across people saying "Just use the HW Manager and install the drivers it tells you to and everything will work", so I didn't go too crazy. Did try switching to the lts kernel, but doesn't seem to have made a difference. Any help is much appreciated as Garuda was my daily-driver on my previous laptop (for the last few months anyway), and I like it.
λ pacman -Qs nvidia
local/egl-wayland 2:1.1.9+r3+g582b2d3-1
EGLStream-based Wayland external platform
local/garuda-nvidia-config 1.1.4-2
Meta configuration package for nvidia systems on Garuda Linux
local/garuda-optimus-manager-config 1.1.4-2
Meta configuration package for nvidia prime systems on Garuda Linux:
local/gwe 0.15.4-1
A system utility for controlling NVIDIA GPUs
local/lib32-libvdpau 1.4-1
Nvidia VDPAU library
local/lib32-nvidia-utils 495.46-1
NVIDIA drivers utilities (32-bit)
local/lib32-opencl-nvidia 495.46-1
OpenCL implemention for NVIDIA (32-bit)
local/libvdpau 1.4-1
Nvidia VDPAU library
local/libxnvctrl 495.46-2
NVIDIA NV-CONTROL X extension
local/mhwd-nvidia 495.44-1
mhwd-nvidia pci id
local/mhwd-nvidia-390xx 390.143-1
mhwd-nvidia-390xx PCI ID database
local/nvidia-dkms 495.46-2
NVIDIA drivers - module sources
local/nvidia-prime 1.0-4
NVIDIA Prime Render Offload configuration and utilities
local/nvidia-settings 495.46-2
Tool for configuring the NVIDIA graphics driver
local/nvidia-utils 495.46-2
NVIDIA drivers utilities
local/opencl-nvidia 495.46-2
OpenCL implemention for NVIDIA
local/xf86-video-nouveau 1.0.17-2 (xorg-drivers)
Open Source 3D acceleration driver for nVidia cards
And nothing to do, apparently...
λ sudo pacman -S nvidia-dkms nvidia-settings --needed
[sudo] password for dhdanie:
warning: nvidia-dkms-495.46-2 is up to date -- skipping
warning: nvidia-settings-495.46-2 is up to date -- skipping
there is nothing to do
λ nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
λ sudo dkms autoinstall
Building module:
cleaning build area...
make -j16 KERNELRELEASE=5.15.15-1-lts KVER=5.15.15-1-lts...
cleaning build area...
acpi_call.ko.zst:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /usr/lib/modules/5.15.15-1-lts/updates/dkms/
depmod...
Building module:
cleaning build area...
make -j16 KERNELRELEASE=5.15.15-1-lts KVERSION=5.15.15-1-lts...
cleaning build area...
bbswitch.ko.zst:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /usr/lib/modules/5.15.15-1-lts/updates/dkms/
depmod...
Building module:
cleaning build area...
'make' -j16 IGNORE_PREEMPT_RT_PRESENCE=1 NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=5.15.15-1-lts IGNORE_CC_MISMATCH='__IGNORE_CC_MISMATCH' modules............
cleaning build area...
nvidia.ko.zst:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /usr/lib/modules/5.15.15-1-lts/updates/dkms/
nvidia-uvm.ko.zst:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /usr/lib/modules/5.15.15-1-lts/updates/dkms/
nvidia-modeset.ko.zst:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /usr/lib/modules/5.15.15-1-lts/updates/dkms/
nvidia-drm.ko.zst:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /usr/lib/modules/5.15.15-1-lts/updates/dkms/
nvidia-peermem.ko.zst:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /usr/lib/modules/5.15.15-1-lts/updates/dkms/
depmod...
Using Linux-LTS maybe source of issue. So try booting into default kernel, that is, Linux-Zen.
Also, boot into live medium and check if it still shows driver N/A. I don't remember for dr460nized, tbh, but in Cinnamon edition, there is nice system tray icon to switch between Nvidia only / hybrid / Integrated GPU, in live medium too.
So, maybe boot into cinnamon live medium might be worth it as well.
And off course, always use the option Boot with Nvidia in live medium
This means you did something else to your system at some point, e.g. adding the nvidia drivers modules to /etc/mkinitcpio.conf, or you did a partial upgrade.
You can fix this by chrooting into the system using a live installer environment.
So I booted with open source drivers with the intention of switching to nvidia, after.
The only thing I did to the system after install was a system update (pacman - Syu) which would fail with a conflict between something and pipewire-jack, so I removed pipewire-jack and then update finished successfully. I certainly didn't touch /etc/mkinitcpio.conf.
λ cat /etc/mkinitcpio.conf
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES=(crc32c-intel intel_agp i915 amdgpu radeon nouveau)
MODULES=(crc32c-intel intel_agp i915 amdgpu radeon nouveau)
# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way. This is useful for config files.
FILES=""
# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
## This setup specifies all modules in the MODULES setting above.
## No raid, lvm2, or encrypted root is needed.
# HOOKS=(base)
#
## This setup will autodetect all modules for your system and should
## work as a sane default
# HOOKS=(base udev autodetect block filesystems)
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
# HOOKS=(base udev block filesystems)
#
## This setup assembles a pata mdadm array with an encrypted root FS.
## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
# HOOKS=(base udev block mdadm encrypt filesystems)
#
## This setup loads an lvm2 volume group on a usb device.
# HOOKS=(base udev block lvm2 filesystems)
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr, fsck and shutdown hooks.
HOOKS="base udev autodetect modconf block keyboard keymap consolefont plymouth filesystems"
# COMPRESSION
# Use this to compress the initramfs image. By default, zstd compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="zstd"
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"
# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()
Create the file with the content I mentioned above. This should be done by default when you install the NVIDIA driver so I’m not sure what state your system is in.
It might be worth reinstalling and setting things up step-by-step rather than trying to work out what’s different…
On the other hand, read the wiki page I linked to as it contains all of the necessary information for getting the NVIDIA drivers installed and working, but it boils down to these two steps (which I mentioned above):