2

I'm using Ubuntu 19.10 and I want to make sure that my graphics card is putting in its time and not free-riding off my CPU. I downloaded the driver, that I believe should be right, from NVIDIA's website. Currently, I have the 3rd party driver downloaded. I'm thinking that maybe I should switch the drivers out, but I'm not sure how to do that on my version of Ubuntu.

My laptop should have the Quadro P620 in it, but the SystemDetailsAbout page says that the graphics are coming from Intel UHD Graphics 630. That doesn't seem like they'd be the same thing to me, but I am very new to Ubuntu.

Here's a screenshot of what I've got going on.

Software and updates

And one more for good measure.

About

And the one I was asked to include (lspci -k | grep -EA3 'VGA|3D|Display').

lspci output

3 Answers3

2

Disable Secure Boot in UEFI aka BIOS settings and the Nvidia driver will be up and running.

See Why do I get "Required key not available" when install 3rd party kernel modules or after a kernel upgrade? for explanation why isn't it loading now.

Pilot6
  • 92,041
0

As per: https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-19-10-eoan-ermine-linux you should try:

sudo ubuntu-drivers autoinstall

or

sudo apt install nvidia-driver-435

Then

sudo reboot

To verify use:

lshw -numeric -C display

or

ubuntu-drivers devices
-1

You should be using your package maintainer's provided version of Nvidia drivers to ensure there are no issues. The best reason for that is so apt, the package manager for Ubuntu, can resolve package dependencies/file collisions. In the case of Ubuntu, Nvidia is not maintained as a core package due to it not being open source (IIRC). Fortunately Nvidia has a working uninstall script that you should use to remove it.

  1. Follow the instructions on adding this repository for Nvidia drivers:

https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa

  1. Blacklist the nouveau modules provided by the Linux kernel. They will override the Nvidia drivers that you've installed. Nouveau is an open source driver for Nvidia cards and while they provide a great service to users dedicated to FOSS systems their drivers do not perform as well as Nvidia's proprietary drivers. Much of this is due to Nvidia refusing to open source their own software. If you didn't want to read that skip to below.

  2. Optimize, if supported for your card, by enabling PCIe Gen 3.x. By default, Nvidia drivers are set to PCIe Gen 2 to prevent any permanent hardware damage that may be caused by running a card that does not support the higher bus speed. If you do damage it and blame me because you did not read, please let me know because that would be hilarious.

  3. Remake your initramfs and reboot

Commands to run:

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
$ sudo apt install nvidia-driver-440

440 is currently the newest version, you can check yourself on the site linked above. This will install a large list of packages. Please take the time to read and understand the function of dkms. The application nvidia-settings will be helpful, too.

$ sudo apt autoremove
$ sudo -i
# echo -e "blacklist nouveau\nblacklist nvidiafb\noptions nvidia NVreg_EnablePCIeGen3=1" >> /etc/modprobe.d/nvidia-only.conf
# update-initramfs -u -k all

We choose to black list nouveau, the open source driver, in favor of letting Nvidia take control of the framebuffer. nvidiafb is actually a kernel module meant to be used with either the open source driver or older Nvidia cards. FYI nvidia-drivers provides its own framebuffer. You can check its name with sudo cat /proc/fb.

nvidia-settings will provide you the option of choosing performance, which should make your Nvidia card preferred over for all graphics related things instead of i915, your CPU's integrated GPU. This is probably one of the more important steps, and you may need to install the Nvidia proprietary drivers, reboot, set to performance, and reboot again.

nvidia-smi is failing to load because nouveau is loaded.

You do not need to disable SecureBoot because:

  • Ubuntu's distribution kernel does not force modules to be signed validly (CONFIG_MODULE_SIG_FORCE is not set)

  • You've shown that it is loaded