I decided to put my leet searching skills to the test to see what I could find about this issue. This led me into some deep and dark places of the internet.
* There was a mention that SLI worked in windowed mode, but not in fullscreen. As I had noticed that glxgears worked OK, but other full screen 3D tests had not, I decided to check this. It turned out absolutely correct. Run lightsmark fullscreen, it would flash or flicker. Run it in windowed mode - any windowed mode that wasn't the fullscreen resolution, and it worked perfectly. Compiz desktop appears to suffer the same fate. With Compiz, once you click the mouse anywhere, the flickering/flashing goes away. Any other fullscreen benchmark or game the result was flickering/flashing. Windowed mode was no problem.
* There's several posts that mention about the possibility of the SLI bridge being broken, or not being connected properly. I naturally ruled this out, as my SLI works very well under Windows Vista.
* The most interesting post came from the nvidia forums
. Now this wasn't directly relevant, as I've never overclocked nor underclocked my video cards. But it offered an interesting hypothesis. What if the second card wasn't matching the clock rate of the first card? Now:
- With single GPU (ie SLI off), gpu:0 clocks at 275/300 (Perf level 0), and gpu:1 shows as 170/100. You can see this in both the GUI and via nvidia-settings -q all (see file attached below).
- With SLI enabled, gpu:0 clocks at 625/800 (Perf level 2). The second GPU (gpu:1) does not show any of this information at all. The GUI does not have a Powermizer tab for GPU 1, and also nvidia_settings -q all does not report GPUCurrentClockFreqs and several other data points for gpu:1 at all.
So, what if the Linux version of the driver in SLI is NOT setting up the 2nd gpu (ie gpu:1), but leaving it at the lowest Performance Level 0 (170/100)? This would lead to the mismatch in frequencies and subsequent flashing and flickering screen I am seeing.
So, a potential workaround would be if I could get both cards working at the same frequencies with SLI enabled. I didn't have any success attempting this. I tried using various RegistryDWords options, but while I thought I had GPUs locked on Perf Level 0, or Perf Level 2, flickering still occurred. Without nvidia-settings providing the info on the gpu:1, there was no way to really tell what frequencies it was operating at.
Either the gpus weren't sync'd or they were sync'd and there's something else wrong with the bridge related code in the linux driver. I'm also suspicious it could be related to some interaction with Powermizer....
- 195_36_03_sli_nvidia-bug-report.log.gz: A bug report generated with SLI mode enabled.
- 195_36_03_single_nvidia-bug-report.log.gz: Bug report with SLI not enabled, ie single gpu only.
I am just really frustrated and disappointed.