4

I have a Thinkpad W520 with Intel HD3000 onboard graphics as well as an Nvidia 1000M graphics chip, and I'm running Ubuntu 13.04. I experience a rather big difference in how smooth Unity appears with Intel vs. Nvidia.

Although games run much better with the dedicated Nvidia card, Unity seems to like the Intel graphics better. This is especially noticeable when minimizing/maximizing windows and using the exposé feature, as well as other effects. Why is this? You would suppose the better graphics card leads to better Compiz performance, but this does not seem to be the case.

I'm not really talking about Unity being slow, but instead a bit laggy, as I'm dropping frames, with Nvidia that is.

It's not a Optimus problem as I'm lucky to have a BIOS that allows me to choose whichever I prefer.

Are there any fixes or improvements that I can do to improve my Unity appearance and performance with Nvidia graphics?

2
  • What Nvidia driver version are you using? Your GPU is relatively new, so for 13.04 try selecting the experimental driver (310).
    – gertvdijk
    Jul 13, 2013 at 16:53
  • I have been trying all the available drivers at the "additional drivers" section. Unfortunately I see no differences. However Alistair Buxton seems to answer my question. Jul 13, 2013 at 18:42

1 Answer 1

1

The short answer is that the proprietary drivers are optimized for running proprietary software (ie games), and the open source drivers are optimized for running open source software like Unity and Gnome Shell, and optimizing for one thing tends to make everything else slower.

Unity actually runs smoother with Nouveau (the open source Nvidia driver) than it does with the restricted driver. Unfortunately games do not (if they run at all). The reason is complex. Optimizations used for windowing systems are different to the optimizations used for games, and so it often comes down to the developers choosing one or the other.

Unity, and window systems in general, don't need a particularly powerful graphics card. They don't need hundreds of shaders like games. Instead they need a very specific subset of operations to be as fast as possible.

Games are typically proprietary and written for Windows where only the proprietary driver is available. Therefore game developers target this driver. As a result the proprietary driver is commonly used by gamers, and Nvidia optimizes it to make games run fast.

On the other hand, Unity and Nouveau and Intel are open source. Unity targets the open source drivers because it is easier to get their bugs fixed and because they don't need to run on other OS. The open source drivers are not used much by gamers and so they don't get optimized for games (and so gamers don't use them... and so on.)

As for what you can do to fix it: Not much unfortunately. Not using Compiz is the one thing that seems to make a difference, but that also means not using Unity, and the difference isn't that big.

(If you're really seeing a HUGE amount of lag, and not just a minor annoyance, then you have an actual problem with your system.)

1
  • Thank you very much for the clarification. I'm not seeing a huge amount of lag but rather (as you say) minor annoyances, which I didn't quite understand. It's really a shame that it has to be this way right now, but maybe that will change when Ubuntu migrate from Compiz. Jul 13, 2013 at 18:47

Not the answer you're looking for? Browse other questions tagged .