It can happen that you will fail to load the Nvidia driver in some cases, like the presence of integrated intel GPU (build-in on Motherboard) system can get confused and fail to properly load on Nvidia Driver, in this case, it is the workaround to force loading Nvidia Driver in the early boot (KMS) state and forcing nvidia-drm.modeset=1 kernel boot option.

  • On Cinnamon you will see a message that you run in Software rendering Mode

If you have this issue follow this to change configuration and rebuild grub.cfg and kernel boot images :

Force nvidia-drm.modeset=1:

adding nvidia-drm.modeset=1 to the kernel parameter inside grub:

sudo nano /etc/default/grub

and put nvidia-drm.modeset=1 inside (leave the rest untouched!!) as you can see here:

# GRUB boot loader configuration

GRUB_DEFAULT=0 GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="EndeavourOS"

GRUB_CMDLINE_LINUX_DEFAULT="nvidia-drm.modeset=1 resume=UUID=...

save the file [Ctrl+X] and rebuild the grub.cfg:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Force early load (KMS)

In most cases when you can not reach the DM (loginmanager lightdm/GDM/SDDM) it needs to force to load nvidia drivers on early boot. To do so:

edit mkinitcpio.conf to get the module inside:

sudo nano /etc/mkinitcpio.conf

and edit like this:

# 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="piix ide_disk reiserfs"

MODULES="nvidia"

# BINARIES ....

save the file as above…

rebuild kernel image:

sudo mkinitcpio -P

reboot again and you should have early boot enabled…

Enhancement avoid screen tearing

Have nvidia-settings installed and run it on login with tagging option FullCompositingPipeline to get better video quality, works for single display setup, if you have more you need to add them to the command or option line, for this take a look at the arch-wiki page linked here.

nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

https://wiki.archlinux.org/index.php/NVIDIA/Troubleshooting#Avoid_screen_tearing

You can add this to /etc/X11/xorg.conf.d/20-nvidia.conf like this:

Section "Device"
    Identifier "Nvidia Card"
    Driver "nvidia"
    VendorName "NVIDIA Corporation"
    Option "NoLogo" "true"
EndSection

Section "Screen"
        Identifier      "nvidia"
        Option         "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
        Option          "TripleBuffer"                  "on"
        Option          "AllowIndirectGLXProtocol"      "off"
EndSection
Connect with us:

Nvidia Optional Enhancements and Troubleshooting

  • by