I'm trying to install and use nvidia drivers on my ubuntu 16.04 install (asus k401, nvidia geforce 940M).

When I install them they prompt me for disabling secure boot: I enter the password, reboot, get the password prompt and select disable secure boot, it reboots with "booting in insecure mode" in top left corner.

Everything looked fine, except the driver doesn't seem to work and mokutil --sb-state tells me secure boot is still enabled.

When I try to reinstall nvidia drivers I get prompted again, saying that secure boot is enabled and I need to disable it.

I have full disk encryption activated, if that may play a role...

How can I debug this issue further?

1 Answer 1


There are at least three possible solutions:

  • Don't use the proprietary Nvidia drivers -- The proprietary drivers might or might not provide any real benefit to you. Thus, you might want to at least try not using them. (Personally, I avoid proprietary video drivers whenever possible. In my experience, they cause more problems than they solve. OTOH, I'm not into gaming, so their benefits are pretty modest for me.)
  • Disable Secure Boot the "hard" way -- You could disable Secure Boot by using your computer's firmware setup utility rather than the tool provided with Ubuntu. The trouble with this approach is that there's no standardization of the menus and methods used to do this. The good news is that, despite the lack of standardization, there are some strong similarities between implementations in practice. See this page of mine for several examples.
  • Sign the modules yourself -- You can sign the kernel modules with a tool called sign_file, which is provided with the kernel source code. I don't have an exact step-by-step procedure handy to sign the Nvidia modules, but it ought to be similar to the procedure needed to sign VirtualBox modules, which is covered in this question and its answer. Note that the question references a couple more question, so you may be picking through several questions and answers to piece together something that might work. You'll also have to know enough about the driver files to apply the VirtualBox process to the Nvidia drivers. You'll need to create your own Secure Boot key pair and enlist the public key as a MOK (or as a regular Secure Boot key, if you go all-out and take full control of Secure Boot on your system).

These options are listed in roughly increasing order of difficulty, although the first two could easily be flipped, depending on your system's current state and how hard it is to remove the Nvidia drivers if they're already installed.

BTW, I doubt if disk encryption is complicating anything.

  • Thanks for the multiple leads, that gives me ample things to investigate.
    – Robin
    Jun 19, 2017 at 10:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.