[HOW TO] Install the latest Nvidia driver on Zorin OS 16 & Pop! OS 21.04

afbeeldingafbeeldingafbeelding

Install the nvidia driver manually on Zorin OS 16 and Pop! OS 21.04:

  1. Download the official Nvidia Driver and place it in the home folder

Optional: rename the NVIDIA-Linux-x86_64-470.82.00.run driver to 1.run. I use 1.run because i don't want to write the whole nvidia name into the terminal.

  1. Install the build essential package, those are needed for the nvidia driver.
    In terminal write:

sudo apt install build-essential libglvnd-dev pkg-config

  1. Blacklist the Nouveau Nvidia driver otherwise the nvidia driver does not work proper. In terminal write:

sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"

In terminal write:

sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"

  1. Check if the nouveau driver is blacklisted.
    In terminal write:

cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf

  1. If everything is done
    In terminal write:

sudo update-initramfs -u

Step 6 is for Zorin OS 16 users, Pop! OS 21.04 already comes with dkms

  1. Install dkms, this is needed so you don't need to reinstall the nvidia driver anymore after a kernel upgrade. Write in the terminal:

sudo apt-get install dkms

  1. Now we are going to install the nvidia driver. We switch to text mode. Write in the terminal:

systemctl set-default multi-user.target

  1. Now we have to reboot the system. Write in the terminal:

reboot

  1. Now we have booted into text mode. Login with your username and password.

  2. When your logged in we are going to remove/delete older nvidia drivers. Write:

sudo apt remove --purge ^nvidia-.*

  1. When the purge is done write:

sudo apt-get autoremove

Optional 1: The nvidia file is already executable after download in Zorin OS 16 and Pop! OS 21.04, incase it's needed out of the sudden.

chmod +x ./NVIDIA-Linux-x86_64-470.82.00.run

Optional 2: This will uninstall traces of the older nvidia driver. Just to make sure the purge was done correctly.

sudo ./NVIDIA-Linux-x86_64-470.82.00.run --uninstall

  1. Install the nvidia driver. Write:

sudo ./NVIDIA-Linux-x86_64-470.82.00.run

  1. Follow the instructions (hit everything on yes)

  2. When the installation is done we need to have root access, write:

sudo -i

  1. Now you have to write this to get your desktop enviroment back:

systemctl set-default graphical.target

  1. Now we are going to reboot the system, write

reboot

  1. To confirm the driver is working open nvidia x server settings, if the driver is not in use it will open a blank screen. In terminal write:

sudo lshw -c display

  1. When the configuration says "configuration: latency=0" you have to disable secure boot in the bios (Zorin OS users).

afbeeldingafbeeldingafbeelding

Update the nvidia driver manually on Zorin OS 16 and Pop! OS 21.04:

  1. Download the official Nvidia Driver and place it in the home folder

Optional: rename the NVIDIA-Linux-x86_64-495.44.run driver to 1.run. I use 1.run because i don't want to write the whole nvidia name into the terminal.

  1. Open up the terminal and write

systemctl set-default multi-user.target

  1. Now we are going to reboot the system, write

reboot

  1. Now we have booted into text mode. Login with your username and password.

Optional: The nvidia file is already executable after download in Zorin OS 16 and Pop! OS 21.04, incase it's needed out of the sudden.

chmod +x ./NVIDIA-Linux-x86_64-495.44.run

  1. Install the nvidia driver. Write:

sudo ./NVIDIA-Linux-x86_64-495.44.run

  1. Follow the instructions (hit everything on yes), the nvidia installer will also delete the previous driver.

  2. When the installation is done we need to have root access, write:

sudo -i

  1. Now you have to write this to get your desktop enviroment back:

systemctl set-default graphical.target

  1. Now we are going to reboot the system, write

reboot

2 Likes

afbeeldingafbeelding

Install the nvidia driver manually on Zorin OS 16: (Alternative)

  1. Download the official Nvidia Driver and place it in the home folder

Optional: rename the NVIDIA-Linux-x86_64-470.82.00.run driver to 1.run. I use 1.run because i don't want to write the whole nvidia name into the terminal.

  1. Install the build essential package, those are needed for the nvidia driver. Write in the terminal:

sudo apt install build-essential libglvnd-dev pkg-config

  1. Disable Nouveau Nvidia driver, write in the terminal:

sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"

Write in terminal:

sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"

  1. Check if the nouveau driver is blacklisted, write in the terminal:

cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf

  1. After you checked, write in the terminal:

sudo update-initramfs -u

  1. Install dkms, this is needed so you don't need to reinstall the nvidia driver anymore after a kernel upgrade. Write in the terminal:

sudo apt-get install dkms

Optional: The nvidia file is already executable after download in Zorin OS 16, incase it's needed out of the sudden.

chmod +x NVIDIA-Linux-x86_64-495.44.run

  1. Stop Desktop Manager, write in the terminal:

sudo telinit 3

  1. Now we have booted into text mode. Login with your username and password.

  2. Install the new Nvidia Driver, write in terminal:

sudo bash NVIDIA-Linux-x86_64-470.82.00.run

  1. Follow the steps in the nvidia setup

  2. The Nvidia driver is now installed, reboot with this command:

sudo reboot

  1. When you are in Zorin OS 16 check if the driver is actually installed, to check this write in the terminal:

sudo lshw -c display

  1. When the configuration says "configuration: latency=0" you have to disable secure boot in the bios.

  2. Reboot and your good to go

afbeeldingafbeelding

Update the nvidia driver manually on Zorin OS 16:

  1. Download the official Nvidia Driver and place it in the home folder

Optional: rename the NVIDIA-Linux-x86_64-495.44.run driver to 1.run. I use 1.run because i don't want to write the whole nvidia name into the terminal.

  1. Stop Desktop Manager, write in the terminal:

sudo telinit 3

Optional: The nvidia file is already executable after download in Zorin OS 16, incase it's needed out of the sudden.

chmod +x NVIDIA-Linux-x86_64-495.44.run

  1. Install the new Nvidia Driver.
    Write in terminal:

sudo bash NVIDIA-Linux-x86_64-495.44.run

  1. Hit everything on yes in the installer. (The new driver will delete the older driver)

  2. The Nvidia driver is now installed, reboot with this command:

sudo reboot

Nvidia released newer drivers today.

470.82.00 Production Branch: Release Highlights:

Fixed a bug that can cause a kernel crash in SLI Mosaic configurations.
Added support for the EGL_NV_robustness_video_memory_purge 

495.44 New Feature Branch: Release Highlights:

Added support for the GBM API. This adds the new symlink nvidia-drm_gbm.so pointing to the file libnvidia-allocator.so.VERSION to implement a GBM backend driver usable with the GBM loader from the Mesa project version 21.2 and above, as well as the files libnvidia-egl-gbm.so.1.1.0 and 15_nvidia_gbm.json, which implement EGL support for the GBM platform (EGL_KHR_platform_gbm).
Add indicator for Resizable BAR support on compatible systems.
Fixed a bug that could cause the X server to crash when starting a new server generation on PRIME configurations.
Removed support for NvIFROpenGL. This functionality was deprecated in the 470.xx driver release.
Removed libnvidia-cbl.so from the driver package. This functionality is now provided by other driver libraries.
Changed the minimum required Linux kernel version from 2.6.32 to 3.10.
Updated nvidia.ko to load even if no supported NVIDIA GPUs are present when an NVIDIA NVSwitch device is detected in the system. Previously, nvidia.ko would fail to load into the kernel if no supported GPUs were present.
Fixed a bug in the Vulkan driver where unused input attributes to a vertex shader would corrupt the interpolation qualifiers for the shader.
Fixed a bug in the Vulkan driver where individual components of barycentric inputs could not be read.
Added support for the VK_KHR_present_id extension.
Added support for the VK_KHR_present_wait extension.
Added support for the VK_KHR_shader_subgroup_uniform_control_flow extension.
Fixed a bug where VK_NVX_binary_import was advertised as supported on unsupported platforms. This caused calls to vkCreateDevice to fail if applications attempted to enable VK_NVX_binary_import on such platforms. Added a new command line option, "--no-peermem", to nvidia-installer.Selecting this option prevents the installation of the nvidia-peermem kernel module.
Fixed a regression which prevented DisplayPort and HDMI 2.1 variable refresh rate (VRR) G-SYNC Compatible monitors from functioning correctly in variable refresh rate mode, resulting in issues such as flickering.
Fixed a bug that can cause a kernel crash in SLI Mosaic configurations.
Added support for the EGL_NV_robustness_video_memory_purge extension.

Info about the drivers:

Production Branch Production Branch drivers provide ISV certification and optimal stability and performance for Unix customers. This driver is most commonly deployed at enterprises, providing support for the sustained bug fix and security updates commonly required.

New Feature Branch New Feature Branch drivers provide early adopters and bleeding edge developers access to the latest driver features before they are integrated into the Production Branches

11 posts were split to a new topic: Installing latest nvidia drivers comments and issues

Split to keep the informational nature of the topic clean. Please post more updates but reserve comments and issues for the sister thread.

nvidia released a new "Recommend Certified/Production Branch" driver, 470.86

Release Highlights:

  • Added a new command line option, "--no-peermem", to nvidia-installer. Selecting this option prevents the installation of the nvidia-peermem kernel module.
  • Fixed a regression which prevented DisplayPort and HDMI 2.1 variable refresh rate (VRR) G-SYNC Compatible monitors from functioning correctly in variable refresh rate mode, resulting in issues such as flickering.

Doesn't this PPA works for latest Nvidia driver?

2 Likes

It does, but some people are impatient for getting the latest and greatest integrated with their current kernel. Hence, this thread.

I'm in no hurry to upgrade kernel or video drivers. I've experienced some woes for being impatient.

3 Likes

I used a ppa before and it made a mess of my system, i was forced to reinstall my system.

If your computer stuck at Zorin splash screen you can try "Advanced" option in the boot section. I can start Zorin with kernel 5.38. Trying to figure out my problem with Nvidia legacy card. https://forum.zorin.com/uploads/default/optimized/2X/3/386b44075b49d3b55d6fafea8012be420ec0be26_2_375x500.jpeg

I think Nvidia driver 390 has some problems with kernel 5.11.

Today Nvidia released 2 brand new drivers
470.94 is Production Branch
495.46 is New Feature Branch

I noticed nvidia's release highlights from 495.46 are the same as 495.44

Going to test 470.94 as daily driver. I hope they fixed the black screen issues from 470.86 with this release.

1 Like

Nivida
Hey @Michel

I have 470.86 and have had no issues.... wonder why your system does? K4000M card on my M6700

I have a GTX 1070m 8GB card. It's a different model, can't be compared.

I had problems with that driver already after i installed it. When i rebooted my machine i could use my login and password. When i hit enter the laptop screen went completely black (like it did not receive any signal). I tried to shut down my machine ctrl alt delete like i used to do in windows and that did not work. I tried alt f2 and hit r to reload gnome and that did not work. In the end i did a force reboot and my machine worked with that 470.86 driver (i forgot to check if i could have a signal with hdmi). I did not put more time into it to investigate...till the next day when i booted my laptop and the same thing happend "again". I remembert a key combo to get into tty (ctrl f1 or something) but even tty whas completely black and i didnt see anything. So i blindly wrote my username and password and wrote reboot. That worked, after i got into my desktop i put in the systemctl command and permanently removed the 470.86 driver. Reinstalled 495.44 which i never had issues with and my system ran great again.

Maybe it had a conflict i dont know, i use pop os which uses a different kernel. I dont know what happend but i dont touch that driver again for my machine.

I also followed a guide written by system76 to make sure i did everything right

I Reinstalled the login manager and i removed the xorg.conf file

So i hope the newer 470.94 driver fixed it for me.

1 Like

Yeah I hope that works better for you. I believe your card is a newer version and I had trouble before if you remember with mine....but this 86 is working fine (I know your a gamer and newer helps you with playing). I have learned logic is thrown out sometimes with drivers.

Well i rebooted after i installed it and had no black screen, will check it out tommorow when i boot it again :sweat_smile:.

1 Like

It makes sense that the Nvidia 470 Drivers would generally work. It was released, after-all. It made it through testing. But it does appear to have some bugs.

1 Like

470.94 drivers are good, so far no issue with the black screen after login on my GTX 1070 card.

1 Like

Today nvidia released another driver, this time for legacy cards as well (390.147).

Samenvatting

NVIDIA TITAN Series:

NVIDIA TITAN V, NVIDIA TITAN Xp, NVIDIA TITAN X (Pascal), GeForce GTX TITAN X, GeForce GTX TITAN, GeForce GTX TITAN Black, GeForce GTX TITAN Z

GeForce MX100 Series (Notebook):

GeForce MX150, GeForce MX130, GeForce MX110

GeForce 10 Series:

GeForce GTX 1080 Ti, GeForce GTX 1080, GeForce GTX 1070 Ti, GeForce GTX 1070, GeForce GTX 1060, GeForce GTX 1050 Ti, GeForce GTX 1050, GeForce GT 1030

GeForce 10 Series (Notebooks):

GeForce GTX 1080, GeForce GTX 1070, GeForce GTX 1060, GeForce GTX 1050 Ti, GeForce GTX 1050

GeForce 900 Series:

GeForce GTX 980 Ti, GeForce GTX 980, GeForce GTX 970, GeForce GTX 960, GeForce GTX 950

GeForce 900M Series (Notebooks):

GeForce GTX 980, GeForce GTX 980M, GeForce GTX 970M, GeForce GTX 965M, GeForce GTX 960M, GeForce GTX 950M, GeForce 945M, GeForce 940MX, GeForce 930MX, GeForce 920MX, GeForce 940M, GeForce 930M, GeForce 920M, GeForce 910M

GeForce 800M Series (Notebooks):

GeForce GTX 880M, GeForce GTX 870M, GeForce GTX 860M, GeForce GTX 850M, GeForce 845M, GeForce 840M, GeForce 830M, GeForce 825M, GeForce 820M, GeForce 810M, GeForce 800M

GeForce 700 Series:

GeForce GTX 780 Ti, GeForce GTX 780, GeForce GTX 770, GeForce GTX 760, GeForce GTX 760 Ti (OEM), GeForce GTX 750 Ti, GeForce GTX 750, GeForce GTX 745, GeForce GT 740, GeForce GT 730, GeForce GT 720, GeForce GT 710, GeForce GT 705

GeForce 700M Series (Notebooks):

GeForce GTX 780M, GeForce GTX 775M, GeForce GTX 770M, GeForce GTX 765M, GeForce GTX 760M, GeForce GT 755M, GeForce GT 750M, GeForce GT 745M, GeForce GT 740M, GeForce GT 735M, GeForce GT 730M, GeForce GT 720M, GeForce GT 710M, GeForce 720M, GeForce 710M, GeForce 705M

GeForce 600 Series:

GeForce GTX 690, GeForce GTX 680, GeForce GTX 670, GeForce GTX 660 Ti, GeForce GTX 660, GeForce GTX 650 Ti BOOST, GeForce GTX 650 Ti, GeForce GTX 650, GeForce GTX 645, GeForce GT 645, GeForce GT 640, GeForce GT 635, GeForce GT 630, GeForce GT 620, GeForce GT 610, GeForce 605

GeForce 600M Series (Notebooks):

GeForce GTX 680MX, GeForce GTX 680M, GeForce GTX 675MX, GeForce GTX 675M, GeForce GTX 670MX, GeForce GTX 670M, GeForce GTX 660M, GeForce GT 650M, GeForce GT 645M, GeForce GT 640M, GeForce GT 640M LE, GeForce GT 635M, GeForce GT 630M, GeForce GT 625M, GeForce GT 620M, GeForce 610M

GeForce 500 Series:

GeForce GTX 590, GeForce GTX 580, GeForce GTX 570, GeForce GTX 560 Ti, GeForce GTX 560 SE, GeForce GTX 560, GeForce GTX 555, GeForce GTX 550 Ti, GeForce GT 545, GeForce GT 530, GeForce GT 520, GeForce 510

GeForce 500M Series (Notebooks):

GeForce GTX 580M, GeForce GTX 570M, GeForce GTX 560M, GeForce GT 555M, GeForce GT 550M, GeForce GT 540M, GeForce GT 525M, GeForce GT 520M, GeForce GT 520MX

GeForce 400 Series:

GeForce GTX 480, GeForce GTX 470, GeForce GTX 465, GeForce GTX 460 SE v2, GeForce GTX 460 SE, GeForce GTX 460, GeForce GTS 450, GeForce GT 440, GeForce GT 430, GeForce GT 420

GeForce 400M Series (Notebooks):

GeForce GTX 485M, GeForce GTX 480M, GeForce GTX 470M, GeForce GTX 460M, GeForce GT 445M, GeForce GT 435M, GeForce GT 425M, GeForce GT 420M, GeForce GT 415M, GeForce 410M

Quadro Series:

Quadro GV100, Quadro GP100, Quadro P6000, Quadro P5200, Quadro P5000, Quadro P4000, Quadro P2000, Quadro P1000, Quadro P620, Quadro P600, Quadro P400, Quadro M6000 24GB, Quadro M6000, Quadro M5000, Quadro M4000, Quadro M2000, Quadro K6000, Quadro K5200, Quadro K5000, Quadro K4000, Quadro K4200, Quadro K2200, Quadro K2000, Quadro K2000D, Quadro K1200, Quadro K620, Quadro K600, Quadro K420, Quadro 7000, Quadro 6000, Quadro 5000, Quadro 4000, Quadro 2000, Quadro 2000D, Quadro 600, Quadro 410

Quadro Series (Notebooks):

Quadro P5200, Quadro P5000, Quadro P4200, Quadro P3200, Quadro P4000, Quadro P3000, Quadro P2000, Quadro P1000, Quadro P600, Quadro P500, Quadro M2200, Quadro M1200, Quadro M620, Quadro M520, Quadro M5500, Quadro M5000M, Quadro M4000M, Quadro M3000M, Quadro M2000M, Quadro M1000M, Quadro M600M, Quadro M500M, Quadro K5100M, Quadro K5000M, Quadro K4100M, Quadro K4000M, Quadro K3100M, Quadro K2200M, Quadro K2100M, Quadro K3000M, Quadro K2000M, Quadro K1100M, Quadro K1000M, Quadro K620M, Quadro K610M, Quadro K510M, Quadro K500M, Quadro 5010M, Quadro 5000M, Quadro 4000M, Quadro 3000M, Quadro 2000M, Quadro 1000M

Quadro Blade/Embedded Series :

Quadro P5000, Quadro P3000, Quadro M5000 SE, Quadro M3000 SE, Quadro K3100M, Quadro 500M

Quadro NVS Series:

NVS 810, NVS 510, NVS 315, NVS 310

Quadro NVS Series (Notebooks):

NVS 5400M, NVS 5200M, NVS 4200M

Quadro Sync Series:

Quadro Sync II, Quadro Sync, Quadro G-Sync II

Quadro SDI:

Quadro SDI

NVS Series:

NVS 810, NVS 510, NVS 315, NVS 310

NVS Series (Notebooks):

NVS 5400M, NVS 5200M, NVS 4200M

2 Likes

Nvidia released a new beta driver, build number is 510.39.01

Fixed several issues which caused the supported-gpus.json file to contain incorrect product information.
Fixed a bug that caused the nvidia-settings control panel to report inaccurate ECC error counts, and completely prevented the reporting of aggregate ECC error counts. ECC error counts reported by nvidia-smi were not affected.
Added a GUI control for setting Image Sharpening values in the app profiles page of the nvidia-settings control panel.
Fixed a bug which caused Vulkan applications to hang when the __GL_THREADED_OPTIMIZATIONS environment variable was set to enable threaded optimizations in the NVIDIA driver.
Fixed a bug where calls to vkWaitForPresentKHR would fail with VK_TIMEOUT on Maxwell and Pascal GPUs.
Added support for the VK_EXT_depth_clip_control extension.
Added support for the VK_EXT_border_color_swizzle extension.
Added support for the VK_EXT_image_view_min_lod extension.
Fixed a bug in the Vulkan compiler where 64-bit atomics were partially broken.
Fixed a bug in the Vulkan driver where VK_NULL_HANDLE was not properly handled as input to VkRenderingFragmentShadingRateAttachmentInfoKHR.imageView.
Added support for the VK_KHR_dynamic_rendering extension.
Added support for the bufferDeviceAddressCaptureReplay Vulkan feature.
Optimized the Vulkan fullscreen presentation path for X11 and direct-to-display swapchains.
Added AV1 decode support to the NVIDIA VDPAU driver. See the VDPAU Support appendix in the README for supported AV1 decoder profiles.
Added support for the VK_KHR_format_feature_flags2 extension.
Added support for the VK_KHR_maintenance4 extension.
Fixed a bug in the Vulkan driver where the SPIR-V Centroid interpolation decoration was not ignored when used in conjunction with FragCoord.
Fixed a bug in the Vulkan driver where unreferenced descriptor bindings were sometimes not ignored properly.
Fixed a bug in the Vulkan driver where vkCmdBindDescriptorSets would not properly handle pDynamicOffsets for compute pipelines.
Added support for the VK_KHR_shader_integer_dot_product extension.
Added support for the VK_EXT_primitive_topology_list_restart extension.
Added support for the VK_EXT_load_store_op_none extension.
Fixed a bug which caused OpenGL and Vulkan applications to generate excessive traffic over dbus while attempting to communicate with nvidia-powerd, even though nvidia-powerd was not running.
Removed the runtime loader (rtld) sanity test from nvidia-installer. This test has been made largely obsolete by GLVND.
Updated nvidia-xconfig to add a BusID to the "Device" section by default on systems with both NVIDIA and non-NVIDIA GPUs. This behavior can be suppressed by using the --no-busid option.
Enabled GSP Firmware by default on NVIDIA T4, A100, A30, A40, A16, A2, and several other Tesla products. Please see the "GSP Firmware" chapter in the README for details.
Fixed a bug in the Vulkan driver where some Ray Tracing shaders would timeout, resulting in device loss.
Fixed a bug in the Vulkan driver where unused input attributes to a vertex shader would corrupt the interpolation qualifiers for the shader.
Fixed a bug in the Vulkan driver where individual components of barycentric inputs could not be read.
Added support for the VK_KHR_present_id extension.
Added support for the VK_KHR_present_wait extension.
Added support for the VK_KHR_shader_subgroup_uniform_control_flow extension.
Fixed a bug where VK_NVX_binary_import was advertised as supported on unsupported platforms. This caused calls to vkCreateDevice to fail if applications attempted to enable VK_NVX_binary_import on such platforms.
Added support for the GBM API. This adds the new symlink nvidia-drm_gbm.so pointing to the file libnvidia-allocator.so.VERSION to implement a GBM backend driver usable with the GBM loader from the Mesa project version 21.2 and above, as well as the files libnvidia-egl-gbm.so.1.1.0 and 15_nvidia_gbm.json, which implement EGL support for the GBM platform (EGL_KHR_platform_gbm).
Add indicator for Resizable BAR support on compatible systems.
Fixed a bug that could cause the X server to crash when starting a new server generation on PRIME configurations.
Removed support for NvIFROpenGL. This functionality was deprecated in the 470.xx driver release.
Removed libnvidia-cbl.so from the driver package. This functionality is now provided by other driver libraries.
Changed the minimum required Linux kernel version from 2.6.32 to 3.10.
Updated nvidia.ko to load even if no supported NVIDIA GPUs are present when an NVIDIA NVSwitch device is detected in the system. Previously, nvidia.ko would fail to load into the kernel if no supported GPUs were present.