Which Nvidia Driver Should I Use?

TLDR; I had a horrible experience while installing Nvidia drivers for the first time, and I’d like to choose carefully this time. Please help!

Full Story:
I just installed Manjaro yesterday and I installed the video-hybrid-intel-nvidia-bumblebee driver cuz I read that it works well with laptops somewhere, and it was the worst decision I’d made in a while, because the next reboot would get stuck at the company logo. And for some reason using mhwd in tty mode froze my system. Somehow I found my way out of it(after digging through a million forum chats). And I don’t want to make the same mistake this time. Here are my device specifications:

                           CPU: Intel i7-8750H (12) @ 4.100GHz 
                           GPU: NVIDIA GeForce GTX 1050 Mobile 
                           GPU: Intel UHD Graphics 630 

Currently, I switched back to the manjaro default drivers. I’m ready to give any more info if needed, thanks in advance!

Folks will probably need more info on your integrated GPU topology to recommend drivers. Can you post the output of:
inxi -Fazy

as described here?

Sure, here is the log

System:
  Kernel: 5.8.6-1-MANJARO x86_64 bits: 64 compiler: N/A 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.8-x86_64 
  root=UUID=e5d3f35d-1831-4ee5-a878-082c3f3af78c rw quiet apparmor=1 
  security=apparmor resume=UUID=59e2fe0d-e463-40a2-aa77-dc5a94ab457b 
  udev.log_priority=3 
  Desktop: GNOME 3.36.6 tk: GTK 3.24.23 wm: gnome-shell dm: GDM 3.36.3 
  Distro: Manjaro Linux 
Machine:
  Type: Laptop System: HP product: HP Pavilion Notebook v: N/A 
  serial: <filter> Chassis: type: 10 serial: <filter> 
  Mobo: HP model: 84F8 v: 08.11 serial: <filter> UEFI: AMI v: F.25 
  date: 05/28/2019 
Battery:
  ID-1: BAT0 charge: 46.0 Wh condition: 52.7/52.7 Wh (100%) volts: 11.8/11.6 
  model: HP Primary type: Li-ion serial: N/A status: Discharging 
CPU:
  Topology: 6-Core model: Intel Core i7-8750H bits: 64 type: MT MCP 
  arch: Kaby Lake family: 6 model-id: 9E (158) stepping: A (10) microcode: D6 
  L2 cache: 9216 KiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 52815 
  Speed: 900 MHz min/max: 800/4100 MHz Core speeds (MHz): 1: 899 2: 900 3: 900 
  4: 900 5: 900 6: 900 7: 900 8: 900 9: 900 10: 900 11: 917 12: 901 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf 
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable 
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
  Type: meltdown mitigation: PTI 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: conditional, RSB filling 
  Type: srbds mitigation: Microcode 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: Intel UHD Graphics 630 vendor: Hewlett-Packard driver: i915 
  v: kernel bus ID: 00:02.0 chip ID: 8086:3e9b 
  Device-2: NVIDIA GP107M [GeForce GTX 1050 Mobile] vendor: Hewlett-Packard 
  driver: nouveau v: kernel bus ID: 01:00.0 chip ID: 10de:1c8d 
  Device-3: Chicony HP Wide Vision HD type: USB driver: uvcvideo bus ID: 1-6:3 
  chip ID: 04f2:b56d 
  Display: x11 server: X.org 1.20.8 compositor: gnome-shell 
  driver: modesetting,nouveau alternate: fbdev,intel,nv,vesa 
  resolution: <xdpyinfo missing> 
  OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) v: 4.6 Mesa 20.1.7 
  direct render: Yes 
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: Hewlett-Packard 
  driver: snd_hda_intel v: kernel alternate: snd_soc_skl,snd_sof_pci 
  bus ID: 00:1f.3 chip ID: 8086:a348 
  Device-2: NVIDIA GP107GL High Definition Audio driver: snd_hda_intel 
  v: kernel bus ID: 01:00.1 chip ID: 10de:0fb9 
  Sound Server: ALSA v: k5.8.6-1-MANJARO 
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  vendor: Hewlett-Packard driver: r8169 v: kernel port: 4000 bus ID: 02:00.0 
  chip ID: 10ec:8168 
  IF: eno1 state: down mac: <filter> 
  Device-2: Realtek RTL8822BE 802.11a/b/g/n/ac WiFi adapter 
  vendor: Hewlett-Packard driver: rtw_8822be v: N/A modules: rtw88_8822be 
  port: 3000 bus ID: 03:00.0 chip ID: 10ec:b822 
  IF: wlo1 state: up mac: <filter> 
Drives:
  Local Storage: total: 585.00 GiB used: 9.23 GiB (1.6%) 
  SMART Message: Required tool smartctl not installed. Check --recommends 
  ID-1: /dev/sda vendor: Samsung model: MZNLN128HAHQ-000H1 size: 119.24 GiB 
  block size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s serial: <filter> 
  rev: 3H3Q scheme: GPT 
  ID-2: /dev/sdb vendor: Crucial model: CT500MX500SSD1 size: 465.76 GiB 
  block size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s serial: <filter> 
  rev: 023 scheme: GPT 
RAID:
  Hardware-1: Intel 82801 Mobile SATA Controller [RAID mode] driver: ahci 
  v: 3.0 port: 6060 bus ID: 00:17.0 chip ID: 8086.282a rev: 10 
Partition:
  ID-1: / raw size: 115.50 GiB size: 113.19 GiB (98.00%) used: 9.23 GiB (8.2%) 
  fs: ext4 dev: /dev/sdb2 
Swap:
  Kernel: swappiness: 10 (default 60) cache pressure: 100 (default) 
  ID-1: swap-1 type: partition size: 4.00 GiB used: 0 KiB (0.0%) priority: -2 
  dev: /dev/sdb4 
Sensors:
  System Temperatures: cpu: 40.0 C mobo: N/A gpu: nouveau temp: 35 C 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 344 Uptime: 51m Memory: 7.59 GiB used: 2.24 GiB (29.6%) 
  Init: systemd v: 246 Compilers: gcc: 10.2.0 Packages: 1140 pacman: 1137 
  lib: 302 flatpak: 0 snap: 3 Shell: Zsh v: 5.8 running in: gnome-terminal 
  inxi: 3.1.05 

I used the tools mhwd
It works fine for me and on different notebook. See wiki Configure Graphics Cards

Thanks but I’ve read that wiki page already, and installing a driver that it suggested using the
mhwd -l --pci
broke my display manager and I wasn’t able to boot into a GUI. I just want to know which driver I can safely install without breaking my display manager.

Like @kurdy, I usually use mhwd; I would probably suggest video-nvidia-450xx unless your card isn’t supported. This post from the archived forum seems directly relevant to your situation. I’m a fan of optimus-switch, which you can find here.

1 Like

I’m too tired today, it was a pretty long day 4 AM here, will check the posts tomorrow and get back to you, thanks!

bumblebee is considered ‘legacy’ these days …
for optimus or dual-gfx setups PRIME is usually preferred.
(ex - video-hybrid-intel-nvidia-450xx-prime)

+1 vote

video-hybrid-intel-nvidia-450xx-prime            2019.10.25               false            PCI
video-hybrid-intel-nvidia-440xx-prime            2019.10.25               false            PCI
video-hybrid-intel-nvidia-435xx-prime            2019.10.25               false            PCI
video-hybrid-intel-nvidia-430xx-bumblebee            2019.10.25               false            PCI
video-hybrid-intel-nvidia-418xx-bumblebee            2019.10.25               false            PCI
video-hybrid-intel-nvidia-390xx-bumblebee            2019.10.25               false            PCI
    video-nvidia-450xx            2019.10.25               false            PCI
    video-nvidia-440xx            2019.10.25               false            PCI
    video-nvidia-435xx            2019.10.25               false            PCI
    video-nvidia-430xx            2019.10.25               false            PCI
    video-nvidia-418xx            2019.10.25               false            PCI
    video-nvidia-390xx            2019.10.25               false            PCI
           video-linux            2018.05.04                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI

for optimus or dual-gfx setups PRIME is usually preferred.

This is what the mhwd -l outputs for me. They all seem pretty out dated, but I’ll try prime later today, will get back to you if it works.

Those dates probably dont mean what you think they mean.

nvidia-450 was only released recently for example.

Those are mhwd profiles, not packages.

I had also an issue after reboot on some devices. To solve it I just switch off for few minutes and then restart. It seems in my case the reboot doesn’t fully reset the hardware

Would you recommend just using this?

sudo mhwd -a pci nonfree 0300

P.S: Sorry for the late response, had a busy week.

Possibly. But I rarely trust automation.
If it is working correctly then it should be the same as

sudo mhwd -i pci video-hybrid-intel-nvidia-450xx-prime

(and who knows … maybe you dont want 450 or whatever it serves automatically)

Thanks! Will try that and let you know if it went well. The only issue I don’t want to run into is a black screen when I reboot. #fingers_crossed

Please double-check some similar threads about malforming of lightdm or whatever then
(specifically the 450 driver had some hiccups I believe)

Also … might as well leave this here…

So I just, installed video-hybrid-intel-nvidia-440xx-prime (just to be safe), and the reboot was successful, however I just opened nvidia-settings from my terminal, and it shows:

(nvidia-settings:2005): GLib-GObject-CRITICAL **: 01:41:15.055: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

ERROR: nvidia-settings could not find the registry key file. This file should
       have been installed along with this driver at
       /usr/share/nvidia/nvidia-application-profiles-key-documentation. The
       application profiles will continue to work, but values cannot be
       prepopulated or validated, and will not be listed in the help text.
       Please see the README for possible values and descriptions.

Is this something that should not happen?

1 Like

Dual/hybrid GPU setup (optimus)
Using PRIME
Intel runs by default
Nvidia is invoked with prime-run
nvidia tools need the nvidia card
ex:

glxinfo | grep renderer
prime-run glxinfo | grep renderer

In the case of nvidia-settings … its the same thing

prime-run nvidia-settings

And because nvidia is such … a … ‘nice guy’ :roll_eyes: … it breaks a number of rules … and, for example, if you want that nvidia-settings to do anything … you need to use sudo (even though you shouldnt use sudo with GUI apps ever … nvidia … is osum)
ex:

sudo prime-run nvidia-settings

(I think … cant check as I avoid those things)

https://wiki.manjaro.org/index.php?title=Configure_Graphics_Cards

Wait a minute… so how would I use the nvidia card then?

~ >>> glxinfo | grep OpenGL                                                    
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) UHD Graphics 630 (CFL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.1.7
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.1.7
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.1.7
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

I showed you above … please enter the second command.
(and the first, apparently :wink:)