You are not logged in.

#1 2023-09-03 10:39:08

Rodeffs
Member
Registered: 2023-09-02
Posts: 10

[SOLVED] Unable to install proprietary nvidia driver

Hello, I am relatively new to the Arch community and I encountered an issue where I am unable to install the proprietary driver for my NVIDIA GPU.

I am using Lenovo IdeaPad 5 Pro with Nvidia GeForce RTX 3050 Mobile as the discrete GPU and AMD Ryzen 7 5800H with integrated graphics as the processor.

I thoroughly followed the NVIDIA page on ArchWiki however, after installing all the necessary nvidia packages my GPU was still using the nouveau driver. As I found out nvidia-utils was supposed to create a blacklist blocking nouveau from being loaded but it did not do that, so I had to create my own blacklist.conf and that did not work either.

Here is the content of by blacklist.conf:

install nouveau /bin/false
blacklist nouveau

I also edited mkinitcpio.conf and removed kms from HOOKS array as stated in the wiki. I did not forget to regenerate the initramfs. Here is the content of it:

# 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=(usbhid xhci_hcd)
MODULES=(nvidia amdgpu)

# 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 modconf block filesystems fsck)
#
##   This setup will generate a 'full' image which supports most systems.
##   No autodetection is done.
#    HOOKS=(base udev modconf block filesystems fsck)
#
##   This setup assembles a mdadm array with an encrypted root file system.
##   Note: See 'mkinitcpio -H mdadm_udev' for more information on RAID devices.
#    HOOKS=(base udev modconf keyboard keymap consolefont block mdadm_udev encrypt filesystems fsck)
#
##   This setup loads an lvm2 volume group.
#    HOOKS=(base udev modconf block lvm2 filesystems fsck)
#
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr and fsck hooks.
HOOKS=(base udev autodetect modconf keyboard keymap consolefont block filesystems fsck)

# 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=()

# MODULES_DECOMPRESS
# Decompress kernel modules during initramfs creation.
# Enable to speedup boot process, disable to save RAM
# during early userspace. Switch (yes/no).
#MODULES_DECOMPRESS="yes"

The output of

inxi -xG

is:

Graphics:
  Device-1: NVIDIA GA107M [GeForce RTX 3050 Mobile] vendor: Lenovo driver: nouveau v: kernel
    arch: Ampere bus-ID: 01:00.0
  Device-2: AMD Cezanne [Radeon Vega Series / Radeon Mobile Series] vendor: Lenovo
    driver: amdgpu v: kernel arch: GCN-5 bus-ID: 05:00.0 temp: 48.0 C
  Device-3: Chicony Integrated Camera driver: uvcvideo type: USB bus-ID: 3-4:3
  Display: server: X.org v: 1.21.1.8 driver: X: loaded: amdgpu unloaded: modesetting
    dri: radeonsi gpu: amdgpu tty: 160x50 resolution: 2560x1600
  API: OpenGL Message: GL data unavailable in console. Try -G --display

The output of

lspci -k | grep -A 2 -E "(VGA|3D)"

is the same:

01:00.0 3D controller: NVIDIA Corporation GA107M [GeForce RTX 3050 Mobile] (rev a1)
	Subsystem: Lenovo GA107M [GeForce RTX 3050 Mobile]
	Kernel driver in use: nouveau
--
05:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c5)
	Subsystem: Lenovo Cezanne [Radeon Vega Series / Radeon Vega Mobile Series]
	Kernel driver in use: amdgpu

Here is the content of my xorg.conf.d 10-nvidia-drm-outputclass.conf:

Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    ModulePath "/usr/lib/nvidia/xorg"
    ModulePath "/usr/lib/xorg/modules"
EndSection

And lastly here's the content of my journalctl: Link to 0x0.st

As a sidenote currently I am attempting to configure hybrid graphics on my laptop and I figured out I need the proprietary driver to configure PRIME. I am currently only able to use my laptop with discrete GPU turned off in the BIOS

Last edited by Rodeffs (2023-09-03 11:45:37)

Offline

#2 2023-09-03 11:22:56

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,101

Re: [SOLVED] Unable to install proprietary nvidia driver

There're three boots in that

Sep 03 10:14:47 AP010923 kernel: Linux version 6.4.12-arch1-1 (linux@archlinux) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.41.0) #1 SMP PREEMPT_DYNAMIC Thu, 24 Aug 2023 00:38:14 +0000
Sep 03 10:15:40 AP010923 kernel: Linux version 6.4.12-arch1-1 (linux@archlinux) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.41.0) #1 SMP PREEMPT_DYNAMIC Thu, 24 Aug 2023 00:38:14 +0000
Sep 03 10:24:54 AP010923 kernel: Linux version 6.4.12-arch1-1 (linux@archlinux) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.41.0) #1 SMP PREEMPT_DYNAMIC Thu, 24 Aug 2023 00:38:14 +0000

1

Sep 03 10:14:48 AP010923 kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 511
Sep 03 10:14:48 AP010923 kernel: NVRM: No NVIDIA GPU found.
Sep 03 10:14:48 AP010923 kernel: nvidia-nvlink: Unregistered Nvlink Core, major device number 511
Sep 03 10:14:48 AP010923 systemd-modules-load[346]: Failed to insert module 'nvidia_uvm': No such device

There's no trace of an nvidia device, but there's an AMD GPU.

2

Sep 03 10:15:40 AP010923 kernel: nouveau 0000:01:00.0: NVIDIA GA107 (b77000a1)
Sep 03 10:15:41 AP010923 kernel: nvidia: loading out-of-tree module taints kernel.
Sep 03 10:15:41 AP010923 kernel: nvidia: module license 'NVIDIA' taints kernel.
Sep 03 10:15:41 AP010923 kernel: nvidia: module verification failed: signature and/or required key missing - tainting kernel
Sep 03 10:15:41 AP010923 kernel: nvidia: module license taints kernel.
Sep 03 10:15:42 AP010923 kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 511
Sep 03 10:15:42 AP010923 kernel: NVRM: The NVIDIA probe routine was not called for 1 device(s).
                                 NVRM: nouveau, rivafb, nvidiafb or rivatv 
                                 NVRM: was loaded and obtained ownership of the NVIDIA device(s).
                                 NVRM: driver(s)), then try loading the NVIDIA kernel module

3.

Sep 03 10:24:54 AP010923 kernel: nouveau 0000:01:00.0: NVIDIA GA107 (b77000a1)
Sep 03 10:24:56 AP010923 kernel: nvidia: loading out-of-tree module taints kernel.
Sep 03 10:24:56 AP010923 kernel: nvidia: module license 'NVIDIA' taints kernel.
Sep 03 10:24:56 AP010923 kernel: nvidia: module verification failed: signature and/or required key missing - tainting kernel
Sep 03 10:24:56 AP010923 kernel: nvidia: module license taints kernel.
Sep 03 10:24:56 AP010923 kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 511
Sep 03 10:24:56 AP010923 kernel: NVRM: The NVIDIA probe routine was not called for 1 device(s).
                                 NVRM: nouveau, rivafb, nvidiafb or rivatv 
                                 NVRM: was loaded and obtained ownership of the NVIDIA device(s).
                                 NVRM: driver(s)), then try loading the NVIDIA kernel module

The latter two quite obviously have nouveau in the initramfs, but not nvidia.

As I found out nvidia-utils was supposed to create a blacklist blocking nouveau from being loaded but it did not do that

That's probably a false assertion

pacman -Qikk nvidia-utils
cat /usr/lib/modprobe.d/nvidia-utils.conf

You're booting from a  boot partition, did you forget to mount it before updating the initramfs?

lsblk -f

What's the output of your "sudo mkinitcpio -P"?

Also enable https://wiki.archlinux.org/title/NVIDIA … de_setting

Offline

#3 2023-09-03 11:45:20

Rodeffs
Member
Registered: 2023-09-02
Posts: 10

Re: [SOLVED] Unable to install proprietary nvidia driver

FINALLY!!! Thank you so much for helping me! Yes, you were right I forgot to mount the boot partition before doing that, but I did not know I had to do it. Now everything is working fine and I don't have to turn off my dGPU in the BIOS.

Last edited by Rodeffs (2023-09-03 11:46:31)

Offline

Board footer

Powered by FluxBB