NVIDIA Latest Drivers Installation Guide

Assumptions

  • You are using GRUB2 bootloader.

Instructions

Go to the NVIDIA website and use the company's driver search tool to find the appropriate driver for your GPU and download it. Here is an example of a downloaded driver installer:

                        NVIDIA-Linux-x86_64-346.35.run

Make sure that you know the folder to which you downloaded that file.

Restart your computer.

When your computer starts again, you should have a screen that looks something like this:


Figure 1: GRUB Boot Menu

Don't worry about menus looking exactly the same. The important parts are that you can see this menu at the beginning of the boot sequence and that your Linux distribution is listed in this menu.

Highlight, but don't select (i.e. don't press enter), your Linux distribution.

Press "e".

You should see a screen with information similar to this:


Figure 2: Boot Arguments

Move the cursor to the beginning of the line that starts with "linux..." (in this case it's "linuxefi") and press the "End" button on your keyboard.

At the end of that line, type this " nomodeset 3":


Figure 3: Updated Boot Arguments

NOTE: The backslash in "nom\" is automatically inserted by GRUB. This is used for line wrapping. Just keep typing as you normally would.

Press F10. This will boot your Linux distribution with the modified arguments.

NOTE: The next time you reboot, these arguments will disappear. Don't remove them on your own. Just follow along with this guide.

There will not be a GUI when you boot, but there will be a terminal.

When prompted for login, type in your username and then password when prompted.

WARNING: This is for new UNIX users. You shouldn't see any characters show up when you are typing your password. This is normal.

Once you are logged in, type:

     cd <PATH TO WHERE YOU DOWNLOADED YOUR DRIVER INSTALLER>
     chmod +x <NAME OF THE DRIVER INSTALLER>
     sudo ./<NAMEOF THE DRIVER INSTALLER>

In this case:

      cd $HOME/Downloads
      chmod +x NVIDIA-Linux-x86_64-346.35.run
      sudo ./NVIDIA-Linux-x86_64-346.35.run

You should be greeted with the following screen:


Figure 4: License Agreement

Accept the license agreement if you are inclined to do so.

Then follow the selection of options from this series of images:


Figure 5: Pre-Install Script Finished


Figure 6: 32-bit Libraries


Figure 7: X.Org Configuration


Figure 8: Installer Finished

Congratulation! The driver is now installed, the only thing (maybe.... You should look at the notes at the end of this guide if something goes wrong) that is left to do is reboot. Type the following and press enter:

      sudo reboot

Now you can boot normally into your Linux distribution.

Troubleshooting

Nouveau Blacklisting

Nouveau is the open source driver for NVIDIA GPU's. When you install a Linux distribution on your computer for the first time, this is the default driver that is installed. When you install the NVIDIA driver, the pre-install script (Figure 5) will run and disable the Nouveau driver to avoid conflicts. This should work on most popular distributions (e.g. Ubuntu and its flavours), but if you are using a relatively new distribution or it isn't supported by the pre-installer script, you might need to modify your boot options as described by your distribution's documentation. One workaround would be to add:

      nouveau.nomodeset=1

to the boot arguments in the GRUB menu as in Figure 3. However, this is a temporary fix, just so you are able to boot with the GUI. This would have to be set every time you reboot.

Please leave a comment with your feedback so that it can be incorporated into this guide. This is a rough guide. I didn't go into details of many things. Like, what does "3" mean in the boot args. This will be added later if there are requests. This is meant to provide a push for those who are stuck.

Thanks!

So which method is correct? There's a thread created yesterday saying to absolutely not do what you're saying to do.
https://forum.teksyndicate.com/t/few-very-important-tips-on-linux-gpu-drivers/75918/

My method is about the standard what to do. However, in some cases you need the latest drivers, so if you use a distro that doesn't have them, you have to install them the way explained here.
This way is more difficult and I believe that you should do it only if you really need the drivers. My topic is aimed at people who are completely new to Linux and just want to install drivers like on Windows.

2 Likes

What he just said. +
Standard from the Distribution perspective, not from the manufacturer perspective.
Also, his method is slightly better for kernel and X.Org updates (there are exceptions).

This is if you have latest GPU's or there are bugs that are fixed in the latest driver, but not in the one that's available in the updates of your distro.

Im sorry but, why?

346.35 IS IN OPENSUSE REPOS

Why would you do this?

You can literally one click install it from openSUSE http://software.opensuse.org/package/dkms-nvidia

Again, this is for the latest drivers. 346.35 was an example that I installed a long time ago. I just happened to still have it in my Downloads. Also, not everyone uses the same distro. And guess what, 346.47 is not in the repos.

Or you could wait ~2-3 days and get them on the repos, patience is rewarded...

Would everyone like me to take down this thread then?

Oh, good luck with that on Debian. In that case, 2-3 years.

1 Like

In almost all cases repos have the latest drivers after they have been tested and configured for the system. openSUSE is one version behind, Fedora, arch, gentoo all have the latest. Ubuntu has it in vivid or in the nvidia ppa.

Theres no reason to install it manually, its completely discouraged and went out of use at least 5 years ago which was at the very least the last time I manually installed drivers

and if your using Debian stable your not wanting the latest drivers.

1 Like

Ubuntu for the longest time did not have the latest driver. They were 2-3 versions behind. I did not pay attention to them since switching to OpenSUSE, which was ~6 months ago, so 5 years doesn't add up. I repeat again, this is for "Latest" drivers. You can't get any earlier than when the manufacturer releases them. I don't get all of the attacks on this guide. Is it technically incorrect? Is it too long? Does it not have enough detail? None of these things are being commented on. It's just, "lolz, why would you ever want to do that"? There are many people having problems with installing drivers the very same way that you are describing. This is evidenced by a handful of threads on this forum. If you are able to install drivers though the distribution's repos, then go ahead. This is purely documentation.

Even debian testing doesn't have drivers for the 900 series. So Jessie won't get them most likely (maybe in backports eventually?), as I believe testing is basically frozen for the imminent release. In fact, you can't even get the drivers for the 900 series in UNSTABLE! Sid has the same drivers as Wheezy and Jessie right now. If you want to run a 900 series card in Debian, you have to go experimental branch (yeah, right) or manually install. It hurts, man. ;)

  • Ubuntu always had a PPA with the most up to date drivers...

  • Those "attacks" are just our Linux user instinct kicking in and telling you that using a package manager is far more superior to any other method. If there is something better then a package manager, it would be called a packet manager. It has happened a dozen times and won't stop tomorrow...

  • Those topics are usually targeted to new user's and this is a bad thing, not the new user's, the said "solution" that you are proposing. This would make someone stay in the Windows mindset too much and not opening his mind to the Linux way of doing things. At least for now. It is also a more then an inconvenient solution, as can you please elaborate how you would update said drivers? (rhetorical question). Wouldn't it be simpler to just type a line in your linux box ?

Please note that you did not receive that much hate, you should watch the Linux community as a whole to see how viral those aussie's can be (Not all of them are autist or faking autism, just most of the people who actually express their views and opinion on the InterWeb). I do not exclude myself from this list, we all show stupidity at our times... :D

1 Like

Its not standard practice. Your guide likely works, but shouldn't be used.

In fact the only time it probably should be used is in very specific use cases with experienced users like @freqlabs who decided he needed the latest software on Debian, you should know better lol (i kid :P)

If people are having trouble installing drivers the normal way its usually an indication of something else having gone wrong, these drivers are not made for any distribution, thats why distros test and package them so they work properly with the rest of the system.

1 Like
  • I will concede the edgers PPA, as I only used "Additional Drivers".
    However, "Additional Drivers" were out-of-date so often, that I had
    to install drivers manually to fix issues, most often with Compiz.
    Here are a few examples to correlate my personal experience:
    http://ubuntuforums.org/showthread.php?t=2172160
    https://bugs.launchpad.net/ubuntu/+source/ubuntu-drivers-common/+bug/1351699
  • Yes. That's great, but not encouraging from an "open" community. I work on two open source projects in my day-job and I have never encountered such response. Might have something to do with people's names and companies being listed in each response, but that might be just a part of it.
  • I completely agree. The constructive criticism would be to tell me to specify that this guide is for advanced or intermediate users, but that didn't happen. And yes, this is not a good solution. I think that AMD has a much better installer. I did note in response to @Gachr that his method was better in terms of kernel and X.Org updates, but I should have elaborated further.

It shouldn't be, but could be. This is just another way of installing. You are not giving me any constructive criticism here.
Here, I'll do it for you.
"Put at the top, 'For Advanced Users', as this is not for those unfamiliar with Linux due to the difficulty of performing the installation this way."

You lot are all saying that I should use the package manager, but the issue I have is that I cant even reach a state to use a package manager, so whilst dual booting, I can reach another drive and install the driver or use the terminal interface to install the proper drivers I need.

Im with barrot, I dont understand why you lot all bash on guuides like this, Some people need them.

@Starnsworth :
We are not trying to bash on him, just telling him that using a package manager should be the first option and then, in rare cases, should these methods be used.
Granted, we are communicating this message quite badly and for that, I don't know for the others, but I am sorry.
Now, everything has been said, OP proposed an alternative way to do things, we misunderstood and created a 18 post long thread of misunderstanding.
Let the thread sink and let's all forget about it. Only googlers and searchbar users will see this thread and it is fine like that. In this case, this is a message from the past; learn from our mistakes and be excellent to each other in all cases...

Use the package manager from a terminal.

I suggest putting a disclaimer that this method should be used as a last resort. Educate readers that the best option is always to find some way to use the distro's pacakge management to install the driver. Explain that third party repositories such as xorg-edgers for Ubuntu or rpmfusion for Fedora should be used instead. The only reason to manually install the drivers should be that there is no other way to install them. Advanced users will likely know this, but it will help less advanced users understand WHY this process is meant for people who know what they are getting into. Just putting "for advanced users" at the top won't stop a newbie from seeing step by step instructions and following them blindly. To be clear, I don't think you need to remove this thread. I think if you add a few more points at the top under the "Assumptions" heading with the format "you are not using distro FOO because you should use repo BAR instead" that will increase the value of your guide immensely.