Laptop: NVIDIA graphic card driver issues (Quadro P620)

Dear all,

I recently installed Manjaro. So far the experience has been great, but with one exception; I’m struggling installing NVIDIA drivers for my graphic card. My laptop have a built in graphic controller, and I hear that may be the cause of my issues (and hence the choice of this sub forum).

Some basic information:

$ lspci -k | grep -A 2 -E “(VGA|3D)”
00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630] (rev 02)
DeviceName: Onboard - Video
Subsystem: Dell Device 091a

01:00.0 3D controller: NVIDIA Corporation GP107GLM [Quadro P620] (rev a1)
Subsystem: Dell Device 091a
Kernel driver in use: nouveau

$lspci -v|grep -i vga
00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630] (rev 02) (prog-if 00 [VGA controller])

I have been trying to install NVIDIA drivers several different ways.
1. I have installed from “Add/Remove Software”, 2. I have downloaded the driver directly from NVIDIA and attempted to install by ./NVIDIA…, 3. I tried pacman, 4. AUR, and 5. I attempted one of the options from the Manjaro Settings Manager. I also tried various online tutorials, Arch wiki, and YouTube resources.
The above approaches has given me a flavor of errors or just simply hasn’t worked. The last approach (Settings Manager) causing my screen to go black after reboot which I had to fix using mhwd from the command line (almost gave me a hearth attack). Solving this issue is clearly beyond my current Linux expertise.

Does anyone know how to fix this? And do let me know if I should provide any more information.

1 - which one ? 510 series ? 470 series ?
2 - No , cant work this way
3 - another case to break
4 - another case to break more
5 - which one ? 510 series ? 470 series ?

first to understand
Laptop use Hybrid video cards
all distribution linux use intel cards for open source

see drm & prime for any hybrid-video-nvidia card

1 Like

All you attempts are wrong (especially if you’re wondering what you have to do), besides using the Manjaro tool made specifically for this.

So first things first, give your system information, give output of relevant MHWD commands:

inxi -Fazy
mhwd -l
mhwd -li

Now when you try a command, give its output on the forum everytime so we can see what is going on. Put any log on the forum between three backticks like this so it is properly formatted and readable:

```
log here
```

1 Like
$ inxi -Fazy
System:
  Kernel: 5.15.28-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.2.0
    parameters: BOOT_IMAGE=/boot/vmlinuz-5.15-x86_64
    root=UUID=9154e2ad-7bb3-43e3-8d88-4daba6632e9e rw quiet apparmor=1
    security=apparmor resume=UUID=3692a803-e0b1-40e7-8f05-aa2630d35950
    udev.log_priority=3
  Desktop: Cinnamon 5.2.7 tk: GTK 3.24.33 vt: 7 dm: LightDM 1.30.0
    Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: Dell product: Precision 3541 v: N/A
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: Dell model: 0Y8H01 v: A00 serial: <superuser required> UEFI: Dell
    v: 1.5.1 date: 08/21/2019
Battery:
  ID-1: BAT0 charge: 6.6 Wh (16.7%) condition: 39.6/97.0 Wh (40.8%)
    volts: 10.4 min: 11.4 model: SMP DELL D191GYM type: Li-poly serial: <filter>
    status: Discharging
CPU:
  Info: model: Intel Core i9-9880H bits: 64 type: MT MCP arch: Coffee Lake
    family: 6 model-id: 0x9E (158) stepping: 0xD (13) microcode: 0xEC
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 2 MiB desc: 8x256 KiB
    L3: 16 MiB desc: 1x16 MiB
  Speed (MHz): avg: 3097 high: 4301 min/max: 800/4800 scaling:
    driver: intel_pstate governor: powersave cores: 1: 3341 2: 3284 3: 2176
    4: 4301 5: 3655 6: 1401 7: 1970 8: 1474 9: 3327 10: 3555 11: 4213 12: 3596
    13: 3244 14: 2873 15: 3606 16: 3551 bogomips: 73625
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  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 status: Vulnerable: eIBRS with unprivileged eBPF
  Type: srbds mitigation: TSX disabled
  Type: tsx_async_abort mitigation: TSX disabled
Graphics:
  Device-1: Intel CoffeeLake-H GT2 [UHD Graphics 630] vendor: Dell
    driver: i915 v: kernel ports: active: eDP-1
    empty: DP-1, DP-2, DP-3, HDMI-A-1, HDMI-A-2 bus-ID: 00:02.0
    chip-ID: 8086:3e9b class-ID: 0300
  Device-2: NVIDIA GP107GLM [Quadro P620] vendor: Dell driver: nouveau
    v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 16 link-max: gen: 3
    speed: 8 GT/s bus-ID: 01:00.0 chip-ID: 10de:1cbd class-ID: 0302
  Device-3: Realtek Integrated_Webcam_HD type: USB driver: uvcvideo
    bus-ID: 1-11:3 chip-ID: 0bda:5539 class-ID: 0e02 serial: <filter>
  Display: x11 server: X.Org v: 1.21.1.3 driver: X: loaded: modesetting
    alternate: fbdev,vesa gpu: i915 display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2")
    s-diag: 582mm (22.9")
  Monitor-1: eDP-1 model: LG built: 2018 res: 1920x1080 hz: 60 dpi: 142
    gamma: 1.2 size: 344x194mm (13.5x7.6") diag: 395mm (15.5") ratio: 16:9
    modes: 1920x1080
  Message: Unable to show GL data. Required tool glxinfo missing.
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: Dell driver: snd_hda_intel
    v: kernel alternate: snd_soc_skl,snd_sof_pci_intel_cnl bus-ID: 00:1f.3
    chip-ID: 8086:a348 class-ID: 0403
  Sound Server-1: ALSA v: k5.15.28-1-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.20 running: no
  Sound Server-3: PulseAudio v: 15.0 running: yes
  Sound Server-4: PipeWire v: 0.3.48 running: yes
Network:
  Device-1: Intel Cannon Lake PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:a370 class-ID: 0280
  IF: wlo1 state: up mac: <filter>
  Device-2: Intel Ethernet I219-LM vendor: Dell driver: e1000e v: kernel
    port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15bb class-ID: 0200
  IF: eno2 state: down mac: <filter>
Drives:
  Local Storage: total: 953.87 GiB used: 182.04 GiB (19.1%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Toshiba
    model: KXG60ZNV1T02 NVMe 1024GB size: 953.87 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: 10604103 temp: 28.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 944.77 GiB size: 928.86 GiB (98.32%)
    used: 182.04 GiB (19.6%) fs: ext4 dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 288 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
  ID-1: swap-1 type: partition size: 8.8 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/nvme0n1p3 maj-min: 259:3
Sensors:
  System Temperatures: cpu: 25.0 C pch: 44.0 C mobo: N/A gpu: nouveau
    temp: 31.0 C
  Fan Speeds (RPM): cpu: 0
Info:
  Processes: 346 Uptime: 8h 8m wakeups: 33442 Memory: 15.41 GiB
  used: 3.79 GiB (24.6%) Init: systemd v: 250 tool: systemctl Compilers:
  gcc: 11.2.0 clang: 13.0.1 Packages: 1215 pacman: 1210 lib: 314 flatpak: 5
  Shell: Bash v: 5.1.16 running-in: gnome-terminal inxi: 3.3.13
mhwd -l
> 0000:01:00.0 (0302:10de:1cbd) Display controller nVidia Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-prime            2021.12.18               false            PCI
video-hybrid-intel-nvidia-470xx-prime            2021.12.18               false            PCI
          video-nvidia            2021.12.18               false            PCI
    video-nvidia-470xx            2021.12.18               false            PCI
           video-linux            2018.05.04                true            PCI


> 0000:00:02.0 (0300:8086:3e9b) Display controller Intel Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-prime            2021.12.18               false            PCI
video-hybrid-intel-nvidia-470xx-prime            2021.12.18               false            PCI
           video-linux            2018.05.04                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI
$  mhwd -li
> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
           video-linux            2018.05.04                true            PCI


Warning: No installed USB configs!

Thanks for your patient. It’s not every day I’m doing this.

Stephane: 1&5; I tried 510 series. 2-4; noted.
Omano: Thanks. Does this help you understand what I should do next?

Your system seems to be compatible with the hybrid setup, so let try that, and install this hybrid driver with MHWD.

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

After that reboot (make sure to post or save the terminal output first so we can see it too).
If it doesn’t reboot to the desktop, you can still uninstall it from terminal/TTY.

Thanks Omano.
That seemed to have worked.

$ sudo mhwd -i pci video-hybrid-intel-nvidia-prime
[sudo] password for morten: 
> Dependencies to install:  video-modesetting
> Installing dependency video-modesetting...
Sourcing /etc/mhwd-x86_64.conf
Has lib32 support: true
Sourcing /var/lib/mhwd/db/pci/graphic_drivers/video-modesetting/MHWDCONFIG
Processing classid: 0300
Sourcing /var/lib/mhwd/scripts/include/0300
:: Synchronising package databases...
 core downloading...
 extra downloading...
 community downloading...
 multilib downloading...
> Successfully installed dependency video-modesetting
> Installing video-hybrid-intel-nvidia-prime...
Sourcing /etc/mhwd-x86_64.conf
Has lib32 support: true
Sourcing /var/lib/mhwd/db/pci/graphic_drivers/hybrid-intel-nvidia-prime/MHWDCONFIG
Processing classid: 0300
Sourcing /var/lib/mhwd/scripts/include/0300
resolving dependencies...
looking for conflicting packages...
warning: dependency cycle detected:
warning: eglexternalplatform will be installed before its nvidia-utils dependency

Packages (8) egl-wayland-2:1.1.9+r3+g582b2d3-1  eglexternalplatform-1.1-2  lib32-nvidia-utils-510.54-1  libxnvctrl-510.54-1  linux414-nvidia-510.54-6  linux515-nvidia-510.54-7  nvidia-prime-1.0-4  nvidia-utils-510.54-2

Total Download Size:     0.00 MiB
Total Installed Size:  634.64 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 nvidia-prime-1.0-4-any downloading...
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
checking available disk space...
:: Processing package changes...
installing eglexternalplatform...
installing egl-wayland...
installing libxnvctrl...
installing nvidia-utils...
==> If you run into trouble with CUDA not being available, run nvidia-modprobe first.
Optional dependencies for nvidia-utils
    xorg-server-devel: nvidia-xconfig [installed]
    opencl-nvidia: OpenCL support [installed]
installing nvidia-prime...
installing lib32-nvidia-utils...
Optional dependencies for lib32-nvidia-utils
    lib32-opencl-nvidia
installing linux414-nvidia...
In order to use nvidia module, reboot the system.
installing linux515-nvidia...
In order to use nvidia module, reboot the system.
:: Running post-transaction hooks...
(1/8) Creating system user accounts...
(2/8) Reloading system manager configuration...
(3/8) Reloading device manager configuration...
(4/8) Arming ConditionNeedsUpdate...
(5/8) Updating module dependencies...
(6/8) Updating Kernel initcpios for Nvidia-DRM...
==> Building image from preset: /etc/mkinitcpio.d/linux414.preset: 'default'
  -> -k /boot/vmlinuz-4.14-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-4.14-x86_64.img
==> Starting build: 4.14.271-1-MANJARO
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [numlock]
  -> Running build hook: [resume]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-4.14-x86_64.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux414.preset: 'fallback'
  -> -k /boot/vmlinuz-4.14-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-4.14-x86_64-fallback.img -S autodetect
==> Starting build: 4.14.271-1-MANJARO
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: qed
==> WARNING: Possibly missing firmware for module: bfa
==> WARNING: Possibly missing firmware for module: qla2xxx
==> WARNING: Possibly missing firmware for module: qla1280
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [numlock]
  -> Running build hook: [resume]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-4.14-x86_64-fallback.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux515.preset: 'default'
  -> -k /boot/vmlinuz-5.15-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.15-x86_64.img
==> Starting build: 5.15.28-1-MANJARO
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [numlock]
  -> Running build hook: [resume]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-5.15-x86_64.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux515.preset: 'fallback'
  -> -k /boot/vmlinuz-5.15-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.15-x86_64-fallback.img -S autodetect
==> Starting build: 5.15.28-1-MANJARO
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: qed
==> WARNING: Possibly missing firmware for module: bfa
==> WARNING: Possibly missing firmware for module: qla2xxx
==> WARNING: Possibly missing firmware for module: qla1280
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [numlock]
  -> Running build hook: [resume]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-5.15-x86_64-fallback.img
==> Image generation successful
(7/8) Reloading system bus configuration...
(8/8) Updating the desktop file MIME type cache...
nvidia-utils: install reason has been set to 'explicitly installed'
libxnvctrl: install reason has been set to 'explicitly installed'
nvidia-prime: install reason has been set to 'explicitly installed'
lib32-nvidia-utils: install reason has been set to 'explicitly installed'
linux414-nvidia: install reason has been set to 'explicitly installed'
linux515-nvidia: install reason has been set to 'explicitly installed'
xorg configuration file: '/etc/X11/mhwd.d/nvidia.conf'
> Successfully installed video-hybrid-intel-nvidia-prime

I now see the graphic card in the NVIDIA X-server GUI. What’s the best way of actually testing weather or not all is working as intended?

Now with the hybrid driver it uses by default the Intel card, and you should be able to select when using the Nvidia card by using the prime-run command either by starting an application from terminal (example prime-run name_of_application) or by modifying the application menu entry to always run with prime-run (edit the application startup command and add prime-run like in the previous example).

To test, try these commands, first one should say it is Intel glxinfo | grep vendor and the other one should say it is Nvidia prime-run glxinfo | grep vendor try them and give result.

If it gives an error and you don’t have glxinfo, then just install the required package providing it with sudo pacman -Syu mesa-utils

Depending on your use case, there might be different method to force the use of the Nvidia card (for Steam games for example you modify the game properties in Steam and change the startup options, in Lutris you tick a box, and so on… if you need help for this just ask).

On a side note, I see you have kernel 4.14 installed, if you don’t have a logical reason to have that 5 years old kernel, you should remove it and if you want a backup kernel, install kernel 5.10 instead (and keep using kernel 5.15) Manjaro Kernels - Manjaro

1 Like

Thanks.

$ glxinfo | grep vendor
server glx vendor string: SGI
client glx vendor string: Mesa Project and SGI
OpenGL vendor string: Intel

$ prime-run glxinfo | grep vendor 
server glx vendor string: NVIDIA Corporation
client glx vendor string: NVIDIA Corporation
OpenGL vendor string: NVIDIA Corporation

There we go.
Regarding my use, I don’t use this for gaming. I mostly need my graphic card for software used for protein structures (science). Right now I see that one of these softwares (PyMol) uses the Intel graphic when I fire it up from the command line.

As for my kernel. I seem to have two installed (this is default from my install). 5.15 seem to be the active on though, or am I missing something?

uname -r
5.15.28-1-MANJARO

Yes you are using 5.15 kernel. You also have the 4.14 very old kernel installed

hence my suggestion to remove 4.14 and replace it with 5.10 as backup if you have an issue with 5.15

For the program you use, how do you start it from terminal exactly?

Ah, right.

I might then remove the old one. I look into it a bit later. What’s the main benefit by having two kernels installed at the same time? Would one serve as a backup should one fail?
EDIT: Done. Thanks for the tip.

And my application did start using my NVIDIA card when I started it with prime-run application. So that’s great, but I think I would prefer activating my NVIDIA card permanently.

On a side note. I have a Win10 install on VirtualBox (and I also have tried Virt Manager). Those run very very slow. I appreciate that there may be multiple variables involved, but could the graphic drivers be the reasons?

EDIT2: prime-run virtualbox gave a massive performance boost!

Yes as I said, second kernel (or third, fourth, whatever how many you install) is here for a backup, as it can happen, for whatever reason, that after an update, a specific kernel breaks, and having a second kernel to boot on saves lot of time and effort especially if you’re not prepared to deal with that situation (like having a USB with Manjaro ISO on it to boot from, to check/repair the system).

Ah OK, I was wondering if you were skipping all my explanations.

That may be a possibility but that may depend on hardware (hybrid laptops are not all equals). You tried the pure Nvidia driver and this doesn’t work (from what you said I guess you did, from Manjaro Settings, and directly with Nvidia installer), so another possibility would be to use a tool like optimus-manager to disable the Intel card and always boot and run on Nvidia only, but I can’t recommend it because it involves installing AUR package that Manjaro doesn’t provide and that I don’t use, and you seem to be new to Manjaro.

Best bet would be what I already explained, make your application launcher entry run the application with prime-run so when you click on it to start it, it always starts on Nvidia card. This way you would also keep the benefits of running the low power Intel card most of the time, and use the Nvidia on demand only, this saves a LOT of battery.

Virtual machines are slow because they don’t use the dedicated hardware like video cards (everything is virtualized) unless you make complicated setup and share the Nvidia card to the virtual machine (this is called GPU passthrough, look it up if you want to know more), personally I wouldn’t go to the trouble of learning doing that, but in your case it should be possible and easier as you have two cards, to use your real computer on one card, and share the other card to the virtual machine so you can use both at same time.

Might be, but I wouldn’t believe it actually runs faster. Try to do the same thing you tried before (I don’t know, the calculations or whatever your program does). I would believe that it feels better and may be more responsive on the graphical side, but I don’t believe running virtualbox with prime-run changes anything regarding the real performance of the virtual machine.

Alright, I leave it like this for now, things are working rather well.

I’ve definitively learned some new things, and I’ll read up on the various topics when I find time. I’m still fairly new to Linux as I had to start using it for work a couple of years ago. It has been a fun journey and I have learned a lot, but I there’s still much to learn.

Regarding my VM I think you’re spot on. My assessment wasn’t based on bench-marking demanding computations, but rather the graphical side. Without prime-run I experience severe lag, and that change dramatically for the better.

Omano: Thank you for the help on this. It was very helpful and I sincerely appreciate it.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.