I recently built a brand new PC – which was awesome – with an i5-4690k, 8GB RAM, and a EVGA GeForce GTX 750 Ti GPU.
Now, for basic work, the open source Nouveau drivers work just fine. However, this system was made to be a high performance video editing & graphics rig – so I wanted to have the best performance possible; and NVIDIA’s proprietary drivers provide the best performance.
Normally, one could simply open up the Additional Drivers tab in Software & Updates, but my system, strangely, said there were no drivers available:
This was very strange, as I knew that there should be something listed there.
So, I took to Stack Exchange. The Stack Exchange network, in this case specifically Ask Ubuntu, is an amazing tool and has helped me countless times. I was talking with a couple of more advanced Ubuntu users (if you’re on Ask Ubuntu – Seth & Mateo) and we managed to find a solution – though it was rather hacky to say the least.
Tricks, Traps, and Hackery
When I say the solution was hacky, it’s not hacky in the form that I was piecing together drivers and compiling my own kernel – it’s that it was hacky because of the amount of steps it took to complete what should have been relatively simple.
First off, I tried running updates. That should be the first thing you do when debugging an issue, unless of course there is a known issue with an update that’s even worse. Then you might want to skip the update. That didn’t help any, still nothing was shown.
Next up, I looked around at other solutions to the same problem. As I soon found out, this is actually a fairly common bug in 14.04, with the NVIDIA drivers not showing up. Most of the solutions involved enabling the Xorg-Edgers PPA – something I wasn’t totally comfortable with, since the Xorg-Edgers PPA is a bit bleeding edge and I didn’t want to mess with the black screen bugs it has been known to cause.
So, I went on and decided just to go with the drivers straight from NVIDIA. Granted, they aren’t as community tested as the ones from Ubuntu, but they’d do the trick. So, I downloaded the newest stable .run file from NVIDIA for my GPU (you can access it here, if you need to – I believe this is the page with the newest drivers.)
Once the driver installer had downloaded I tried to run it from a terminal (Ctrl+Alt+T), but got this:
Obviously, I had to run the command when an X server wasn’t running. Pretty simple stuff – just pull up a TTY, kill lightdm, and you’re golden! Right? Wrong.
For whatever reason, there was/is a bug with the Nouveau drivers I had that meant I couldn’t access a TTY (nothing displayed), unless I booted with the GRUB flag nomodeset. Again, big deal. Just add the flag and reboot. Well, it’s not that simple. Turns out that when I added nomodeset I did get the TTYs…but my GUI was all messed up. So, I removed the GRUB flag nomodeset and rebooted. No TTYs but a working GUI. I guess it was choose your own poison day at Canonical.
This is where the awesome guys on Ask Ubuntu come in. I popped on over there and we started working together to figure it out.
The first solution that was suggested was running the command
sudo init 1 command, which was supposed to take me into single user mode with just a command line – nothing else. However, for reasons unbeknownst to me and the other users trying to help me, I was simply being shown the Ubuntu boot splash and nothing else. Yet another issue.
So, that theory went out the window.
Now, you’re probably wondering – why didn’t you just boot with the
nomodeset GRUB flag, install the drivers, and the remove the
nomodeset flag? Honestly, I don’t know why I didn’t do that. After trying a few other things with init I booted with that flag, killed lightdm via
sudo killall lightdm, and ran the installer. There was actually a warning that came up saying that a script had failed – but I ignored that (one of the other users said they’d had the same thing & just ignored it – no problems).
I removed the
nomodeset flag, rebooted, and had a working desktop with decent FPS. Actually, quite awesome FPS – especially compared to my old laptop. Just to give you an idea of the performance increase it gave me – remember that I had said I wasn’t getting more than 20 FPS in Minecraft? Well, a picture is worth a thousand words:
That’s with the render distance set to 14 and the graphics cranked all the way up. I had just barely loaded up the world and so was having lots of chunk updates. Once the world had fully loaded I could get well over 150 FPS stable on render distance 25 & everything fancy.
Now, I know that Minecraft isn’t exactly the crown gem of gaming prowess – far from it actually – but it’s what I had. I don’t game much, so my library is very limited and I don’t have any intensive games.
But yeah, that’s my experience/process with/that I took installing NVIDIA graphic drivers on Ubuntu 14.04.1. Not sure if it’ll help anyone much, but it’s what I had to do and I figured I’d blog about it!
Now, this didn’t actually fix the bug with the Additional Drivers not showing up correctly – I actually had another issue occur later on with Unity not loading correctly (I think I must have rebooted at an…inopportune time) and the solution for that (which I’m also going to be writing about) actually fixed it.
Make sure to comment below with any experiences you’ve had with graphic drivers and tell me what you thought about the post!