I have an elderly laptop with a GeForce 9300M graphics chip. I don't game on it, but I want a smooth desktop experience with Unity. In my situation specifically, are the open source drivers better than the proprietary Nvidia ones? Or is the only reason for the open source drivers to exist them being open source? I'm also writing OpenCL applications. Can I use my GeForces stream processors for OpenCL with the open source drivers?
Update: by better, I mean in terms of reliability, energy efficiency and performance on the Desktop, in GPU computing, and out of curiosity also in gaming.
Most of the open source drivers you'll find may produce better graphical output than the proprietary do. Sometimes you won't even notice a difference. And sometimes an open source driver works much worse than the proprietary one. I will not make a general recommendation on which to use, but here are some cases, in which certain drivers are better than others:
you should install the open source driver from the Bumblebee Project. This is the only driver supporting Optimus on Linux.you should either install the open source driver from the Bumblebee Project, or any nVidia proprietary driver, but not the Xorg driver, as it currently doesn't support discrete graphics.If none of these applies to you, it's up to you which driver you use. If you don't have any problems with the current driver, I wouldn't change it. You never know whether another one will even work at all. However, if you want to take the risk, try the drivers suggested in Software & Updates → Additional Drivers and find out which one works best.
My understanding is that the nVidia drivers are significantly better at 3D acceleration and shading, but are about the same as the open source drivers for 2D applications.
See this comparison for some concrete benchmarks. Proprietary (usually) beats open source in terms of performance. That being said, upgrading is significantly easier and more streamlined using the open source.
See the
nouveau
Feature Matrix for more specific information (your card would use the "NV50" family of drivers). According to that table, OpenCL support for your card is "Stalled".