Wednesday 28 July 2010

Black screen flicker with nVidia v195 drivers on Ubuntu 10.04 Lucid

GPU: nVidia Quadro FX 570
Driver: nVidia version 195.36.24 from the Ubuntu repository

On recent upgrade to Ubuntu 10.04 Lucid Lynx I started getting a really annoying black flicker/flash/blink covering my screens for a fraction of a second at seemingly random intervals (sometimes every 10 seconds, sometimes every 10 minutes). This only happened when I was using dual monitors in TwinView mode. It didn't matter if compiz was enabled.

I originally had the nvidia-current package installed (which at the time of writing was v195.36.24), so I tried a couple of other versions, including v173.14.22 from the Ubuntu repo, and v256.35 - the latest from the nVidia site, both of which had other issues. I also tried reverting to the open source drivers, as detailed here, but it turned out they did not support 3D graphics.

After reading a lot of forum posts about this issue I realised that the problem was with an nVidia tool called PowerMizer. By default is in adaptive mode, which means it jumps between performance levels, juggling your GPU clocking settings on demand. The flicker I was getting was happening every time it jumped between performance level 0 and 1 (which I believe relates to 2D and 3D graphics).

SOLUTION
I fixed the problem by forcing PowerMizer to stay in level 1, which with the v195 drivers you can do graphically by running nvidia-settings, selecting PowerMizer on the left, and then setting the mode to "Prefer Maximum Performance". Unfortunately this setting does not persist through restarts, which is not a problem for me, but I've read that you can fix this by putting something in your xorg.conf (see this post).

2 comments:

  1. I do not have an option for "Prefer Maximum Performance" Tried the xorg.conf also however PowerMizer still reported Enabled for Adaptive Clocking... HELP

    ReplyDelete
  2. Which version of the drivers are you using (you can see the exact version by running nvidia-settings, and clicking "X Server Information" on the left)? Earlier versions do not have this option, and I'm not sure the xorg.conf trick would work either. This page has some more info: http://linux.aldeby.org/nvidia-powermizer-powersaving.html

    Also just so you know, altering the xorg.conf doesn't actually change the selected option in nvidia-settings, but it did fix the problem for me.

    ReplyDelete