As much as I love high graphics, games and immersive realistic experiences in my computing, I have come to grow increasingly unenthusiastic about the companies who pioneer in providing them. I’m Looking at nVidia, and also, AMD. nVidia is, however, the onus of my displeasure. This post is not going to be a public rant of my laptop problems with nVidia’s abysmal support for Linux, but is going to be a simple observation of sorts.
Who is nVidia?
One of the largest graphics design, manufacturing and American global technology company based in Santa Clara, California. They are pioneers in the field of graphics. Most of their chips are targeted towards the gaming, rendering and designing communities. They also provide parallel processing solutions for the scientific research community.
Why are they not supporting Linux as much as they should?
When you consider any company, it always boils down to one word: profits. The fact of the matter is, that nVidia is a profit orientated company. Before jumping on to any project, they are definitely going to analyse the feasibility of undertaking it. When you look at nVidia’s consumer base, a majority of it comes from Microsoft product users, such as gamers, designers and so on. That makes up a majority of their support priority. Apparently, supporting the new Linux Laptop community is not a priority to them. I do not imply that they are not supporting Linux at all. That would be wrong. In fact they do support a section of their Linux based users. However, they have officially washed their hands off a very large and growing section of their Linux based users – the Linux laptop users.
But there are Linux Drivers available from nVidia! What are you saying?
Yes, there are Linux drivers available from nVidia. They are updated regularly, and are under active development by nVidia. Thank you, nVidia, for that. However, these drivers are basically for Graphics Cards that are used in PCs, and some older laptops. The scene takes a turn for the worst when support for newer laptops comes up. Almost all of the newer (nVidia based) laptops that are being introduced into the market since the last 1.5 years, are shipped with graphic chips that use a particular technology called OPTIMUS. This technology is responsible for tremendous power saving, and heat reduction in the laptops. nVidia provides drivers that make use of Optimus technology, but only for Windows users. Linux users are left out in the rain.
From what I have seen and observed, here’s a brief description of Optimus. Newer laptops don’t just come with a single graphics card. They usually come with one discreet chip (nVidia) and an integrated graphics chip (usually Intel). The Intel chipset is integrated into the motherboard, and the discrete nVidia chip is pipelined (connected) to the laptop through the intel chipset. This effectively makes the Intel chip a bridge between the laptop and the nvidia graphics chip. The laptop has to access the graphics processing abilities of the nVidia chip indirectly, through the Intel chip.
Although this sounds complicated, it does have it’s advantages. Consider this. Not all your day to day computer tasks need to be handled by a high graphic processor. You don’t need a high graphics (power hungry) chip to be able to use a simple word processor or internet browser. This is where the OPtimus technology comes into play. Whenever you do not need intense graphics, the discrete nVidia card is switched off, to save power. all your basic graphics needs are handled by the default Intel integrated graphics chip. This has a tremendous positive effect on your laptop’s power consumption, and heat generation is reduced. This feature is not provided by nVidia, if you happen to run Linux on a laptop that runs on nVidia Optimus based chipsets. The result? The nVidia Graphics chip is kept on all the time, even when not needed. Laptop battery drains out extremely fast (within 1 or 1.5 hrs) and the temperature rises up to the level where you could make a delicious omlette on your laptop.
Oh My God! What do I do? I just bought an optimus based laptop!
Bumblebee to the rescue
Even though nVidia has no care for us Open Source and Linux users, our greatest strength has been the community support. So fear not, we have an open source solution now for this. Head over to Project Bumblebee! This is an open source project geared towards making optimus based cards work with Linux.
Recent Events . . . . . .
At a forum hosted by Aalto Center for Entrepreneurship in Otaniemi, Finland, on June 14, Linus Torvalds, the father of Linux, happened to express his feelings about nVidia, and their insufficient of support for Linux.
We were expecting a response from nVidia, to Linus’s comment, and we were disappointed with the one that nVidia sent:
Supporting Linux is important to NVIDIA, and we understand that there
are people who are as passionate about Linux as an open source platform
as we are passionate about delivering an awesome GPU experience.
Recently, there have been some questions raised about our lack of
support for our Optimus notebook technology. When we launched our
Optimus notebook technology, it was with support for Windows 7 only. The
open source community rallied to work around this with support from the
Bumblebee Open Source Project http://bumblebee-project.org/. And as a
result, we've recently made Installer and readme changes in our R295
drivers that were designed to make interaction with Bumblebee easier.
While we understand that some people would prefer us to provide detailed
documentation on all of our GPU internals, or be more active in Linux
kernel community development discussions, we have made a decision to
support Linux on our GPUs by leveraging NVIDIA common code, rather than
the Linux common infrastructure. While this may not please everyone, it
does allow us to provide the most consistent GPU experience to our
customers, regardless of platform or operating system.
As a result:
1) Linux end users benefit from same-day support for new GPUs , OpenGL
version and extension parity between NVIDIA Windows and NVIDIA Linux
support, and OpenGL performance parity between NVIDIA Windows and NVIDIA
2) We support a wide variety of GPUs on Linux, including our latest
GeForce, Quadro, and Tesla-class GPUs, for both desktop and notebook
platforms. Our drivers for these platforms are updated regularly, with
seven updates released so far this year for Linux alone. The latest
Linux drivers can be downloaded from www.nvidia.com/object/unix.html.
3) We are a very active participant in the ARM Linux kernel. For the
latest 3.4 ARM kernel – the next-gen kernel to be used on future Linux,
Android, and Chrome distributions – NVIDIA ranks second in terms of
total lines changed and fourth in terms of number of changesets for all
employers or organizations.
At the end of the day, providing a consistent GPU experience across
multiple platforms for all of our customers continues to be one of our
Now, while we agree with what nVidia has so well pointed out, we would like to point out that it has ABSOLUTELY NOTHING in it that consoles us Optimus users. They say that they have “made changes” to its installers and README! Really? Thats the best you could do, nVidia?
My own Experience with Optimus
I bought a Dell XPS 15 laptop with 6GB of RAM, a powerful 9 Cell battery (as opposed to the default 6 cell), Quad Core i7 2670QM, and an nVidia IGB GT525M graphics card, blissfully unaware of the horror I was to endure. The laptop came with Windows 7 64bit Home Premium (Thank you, Microsoft, for forcing me to buy your worthless virus, bloatware and malware vulnerable software) which came with optimus supporting drivers. Here’s some statistics for you.
Battery Lasts 5.5 hours with full usage (Music/gaming/video + brightness setting at 50%, resolution 720p)
Temperature : a warm 55 degrees celsius
In Linux before Bumblebee
Battery Lasts 1.5 hours with full usage (Music/video + brightness setting at 0%, resolution 720p)
Temperature : 75-95 degrees celsius (usually 75 at idle, 85-90 while using applications)
In Linux after Bumblebee
Battery Lasts 4.5-5 hours with full usage (Music/gaming/video + brightness setting at 50%, resolution 720p)
Temperature : 44 degrees celsius (usually 44 at idle, 55-65 while using graphics intensive applications)
So Bottom Line….
nVidia is not going to develop any Linux drivers for Optimus cards. So if you have been hoping for news from nVidia about this, you can as well give up and go home, and start with Bumblebee, which has really outdone itself.