Just a couple of months back I had bought a new laptop with Intel Core i5-6200U processor and NVIDIA GeForce 930M GPU. And being a first-timer on Linux, the first thing I tried to do was to install the latest graphic drivers by Intel and Nvidia, because that’s what most noobs do on Windows too.
So, being a Linux noobie at that time, I googled this thing and I ended up here (AskUbuntu being a reputed site, became my first choice among the search results). I did what the solution said, and ended up screwing my distro, it wouldn’t proceed past the login screen. I tried doing what a few other sites were telling, all ending up the same road. I tried using Ubuntu’s own Software Updater app too, ending on the same note again.
Until one day I discovered that I could directly install the Graphics Driver from the Terminal without any hassles (sigh -_-)
WHAT NOT TO DO
These are what I tried ending up on the same road (not going past the Login screen despite the correct credentials)
Trying to update via .run files provided by NVIDIA’s official site
Trying to update via Ubuntu’s very own Software and Updates app.
Having the following two repos and installing the driver via terminal
Updating the kernel (unless you install the drivers)
WHAT TO DO
Now it’s a really simple process on Ubuntu 16.04 (Doing this on 15.10 was hell, checked the X Server Log Files and didn’t get anything special to boast about)
Run these steps:
As a root user, run this command:
The output will show your NVidia model number. Example:
The Model used by my system is GeForce 930M. Next, we will find a correct NVIDIA driver within the Ubuntu repos using this info. But before that, navigate here and enter details. Example:
-After a successful search, take a note of the driver number
-Then install the corresponding driver
Now you can reboot your system. Then after loading Ubuntu, you can load the X Server Settings app:
So that’s it, folks. This is the safest and a recommended way to install NVIDIA drivers for Linux. And I repeat, do not install the drivers using the .run file.