As I was venturing through Bodhi Linux, already quite familiar with my surroundings, I decided to take a step into the more obscure regions of Linux capabilities. One of the reasons why I wasn’t as disinclined to switch from Windows to Linux was the tempting offer of running favorite Windows games on Linux. Not directly, mind you, but rather through a very robust app called Wine (Wine Is Not an Emulator!). When I installed Wine, however, I quickly noticed that not everything was right. Some OpenGL libraries were missing and I could not locate them online properly. Apparently, my situation was common and Wine required me to install nVidia drivers for my GeForce GT 520MX, which then would provide the necessary OpenGL libraries. While this procedure is fairly painless on Windows, it can be at times problematic on Linux. The ‘root of all evil’ is NVidia itself, which decided not to support Linux properly. Thereby, the options for installing nVidia drivers for Linux are as follows:
- Use the well-established app called Additional Drivers (jockey-gtk) and let the system handle the whole installation process. The only manual aspect is running nvidia-xconfig once the installation has completed (though this is not always mentioned). Works under Ubuntu 14.04 LTS and its derivatives (Mint, Lubuntu, Peppermint, etc.). Supposedly was present earlier and then briefly discontinued, but as I joined the Linux family just this year I am unsure.
- Download the proprietary drivers from nVidia and install them manually. This requires linux headers for a specific kernel (often pre-installed with the kernel itself, but not always; available from official distribution repositories), basic Linux knowledge (using the terminal with the X desktop disabled) and running the nvidia-xconfig app + system reboot.
- Enable nVidia drivers through your package manager of choice. Ubuntu has Synaptic, ArchLinux/Manjaro Pacman and Gentoo/Sabayon – Portage. After all of the packages and their dependencies are installed/compiled, one again has to run nvidia-xconfig from the terminal and reboot.
In theory, all 3 options are more or less equivalent to each other, though the recommended solution for Linux users is to rely on jockey-gtk or package managers for most installations.
When I was fervently fighting with my computer to get the drivers to work properly, I had that strong feeling that I’m doing something inherently wrong all the time. I was half-right. After a bit of reading about nVidia drivers for Linux I reasoned that the installation procedure is very simple…if you only have one (nVidia) graphics card.
Typically, laptops come in two flavors – with an integrated graphics card and with an integrated graphics card + a discrete graphics card (ATI/nVidia), meaning hybrid graphics. Laptops without a discrete card are safe from driver issues, but also not well suited for heavy 3D rendering and gaming (although the new Intel HD 4000 is quite decent). I do both and probably that’s why I have to suffer a penalty (tehe…). Surprisingly, the discrete card is not directly connected to the screen and merely serves as a more powerful sub-unit of the integrated card. Because of that, it technically cannot function on its own. A means of switching between the two graphics cards was devised by NVidia in the form of Optimus Technology.
Windows users have it easy. The NVidia Settings platform allows switching between the integrated and discrete card or even setting up profiles for specific graphics-demanding software to improve battery life.
Linux users have it hard, to the point that even Linus Torvalds had to express his concern…
Optimus for Linux has been introduced properly only last year as nVidia PRIME with the nVidia 319+ drivers. However, not by NVidia! The company decided to completely disregard all Linux users and Linus’ middle finger was definitely not an act of outright offense, but rather a response to NVidia’s stand on the matter.
Unfortunately, making Optimus work on Bodhi Linux was way beyond my capabilities and I had to abandon the tranquil forests of Bodhi…