How can I install Nvidia drivers on Ubuntu 18.04 with secure boot?
Solution 1:
My steps to make it work with secure boot were as follows:
When I was installing Ubuntu 18.04.1, when I reached the "updates and other software stage" in the installation, there was an option to set a password for secure boot, so I went ahead and enabled the check box and entered a new password for secure boot.
Later on after the installation, when I wanted to install Nvidia drivers, I did the following:
Standard Ubuntu procedure:
sudo apt-get update
sudo apt-get upgrade
-
Add the Official Nvidia PPA to Ubuntu
sudo add-apt-repository ppa:graphics-drivers/ppa
-
Update and upgrade again
sudo apt-get update sudo apt-get upgrade
-
I checked which was the recommended driver for my GPU via the command:
ubuntu-drivers devices
-
I opened "Software & Updates" and clicked the "Additional Drivers" tab, I then chose the recommended driver and clicked "Apply Changes", while the driver was installing somewhere in the middle it prompted me for secure boot password, that it when I entered the password I set up when I was installing Ubuntu, after it finished applying I restarted my device, when it was rebooting a blue menu appeared asking to press any key, I pressed then a menu labeled as "Perform MOK Management" appeared, there were the following four options:
- Continue boot
- Enroll Key
- Enroll Key from Disk
- Enroll Key from Hash
I chose option number 2, then I continued to boot, it finally worked, I went to Ubuntu settings->Details and my Graphic Card name was shown correctly.
Solution 2:
Been battling this a little bit recently, and the other answer is valid, but there is a simpler solution that probably works:
sudo apt install linux-headers-generic
sudo apt reinstall nvidia-dkms-495
(replace 495 with which ever driver version you are using)
Secureboot compatible drivers are built by DKMS, but the driver packages don't have a kernel header dependency, but they require them to build the kernel modules.