Saturday, August 16, 2008

Nvidia shame

It is finally time for a little rant. Again, it is about unnecessary inefficiencies. Recently I have been using matlab a lot for my work. Matlab is an amazing program. The main reason I love it is because it is so easy to learn how to do new things. The all software industry should really draw on for how a lot of other things should get done.
Anyway, I recently switched my desktop environment to KDE4.1, probably the best user graphical interface ever devised. One of those gems that once you know how to use will make you feel handicapped when using anything else. Only problem, I started to feel that a lot of applications have become more sluggish when moving the windows around and switching windows. How could that be? How can developers make such a good job on one side and on the other side make me feel like my machine is slower at some tasks than Windows 95 used to be? One thing I was sure: I needed to know.
So I started a Google search and I rapidly concluded the following:
1) KDE4.1 is based on Qt4.4 and this makes large use of a 2D extension called XRender.
2) The XRender extension has been poorly implemented by the Nvidia drivers for at least the past five years.
3) My computer has an Nvidia graphic card.
That was easy to find out. The internet is actually full of forum posts from people outraged by how slow KDE4.1 is on their Nvidia cards despite how much they paid for their bleeding edge graphic cards. Well, at least I didn't pay that much.
Although, why is all of this happening to begin with? The main question is this: why hasn't this problem already been fixed during the past five years? Why do the Ati open source drivers work an order of magnitude better?
Well, I guess the reason relies in this little but wise piece of truth: "the only way to fix the problem is to not fix it". In the past five years linux graphical user interfaces have avoided using XRender because it wasn't well implemented by all of the majors graphic card vendors. But waiting didn't actually help. What is going to help is now the ranting of people against Nvidia about the fact that their drivers work so poorly.
My bet is that if the drivers were open source some KDE4 developers would have put thier good will to fix the problem himself but that is not an option because the drivers were proprietary.
This is 2008. How many more years does the world need to understand that proprietary drivers will always keep giving people headaches? As one of the Google founders said in an interview, developers should multiply the time the user loses because of thier poor implementations by the number of the users they hava and get an idea of how many people lives they have killed. So, how many more lifetimes have to be wasted?
As for doing my part in finding a solution, I will never buy a Nvidia card until Nvidia releases their drivers open source. Will other people understand this and do the same?