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!