Let me tell you a little story about two NVIDIA cards...
Today I received two identical GeForce 460 GTX. I'm especially interested in using the "basemosaic" feature introduced in the more recent proprietary NVIDIA drivers to drive my three screens without Xinerama. It's meant to be a "light" version of the SLI mosaic feature for which you'd have to buy hardware for thousands of bucks, or even more.
I was pleasantly surprised that when I've set up the basemosaic and metamodes options as described in the NVIDIA readme, all three screens actually worked and I was able to move things around, without any Xinerama enabled. I was a bit puzzled why basemosaic insisted on the SLI bridge to be attached to the cards because in the readme, it sounds like it didn't need to be, but well, why not. Then I tried Second Life and indeed I could move around the OpenGL window beautifully between screens and even spread it across all of them.
So far, so good, but shortly thereafter I noticed that normal windows would sometimes render slowly... very slowly – for instance when minimizing them, or the bookmarks menu in Firefox would scroll extremely slow, or YouTube videos show a lot of tearing and slowness. At first I thought basemosaic might not be supported with those cards after all.
After researching and testing some more, I noticed that the exact same symptoms would show when I just say "SLI" "1" in the xorg.conf. No basemosaic. I just enable SLI. And then normal 2D operations become slow, even when only using a single monitor and without any 3D fanciness. Oh and the "X" process would show about 75% CPU load when, for instance, scrolling through the Firefox bookmarks which is much more than normal.
I didn't find many other threads that seem to describe this very problem, but especially this one sounds just like the problem I'm experiencing:
And maybe this is also related:
https://wiki.archlinux.org/index.php/Nv … abling_SLI (the remark about the Gnome 3 slowness)
I've found many threads saying that wrong MTRR settings might decrease performance a lot when using multiple cards, but these seem to be very old and outdated. Playing around with related settings (mtrr cleanup) didn't seem to help a bit either. Options like enabling SHMPixmaps didn't seem to make any difference. Trying to force both cards to always run on the highest PowerMizer setting didn't help neither.
As for the basic specs: Fully updated 64-bit Arch, Intel DX58SO board, two GeForce 460 GTX on the two PCI-E 16x slots, 6 GB RAM (3x2 GB), latest nvidia and xorg in the regular repos. The usual suspects of the logs don't show much, however I noticed this new message early in init:
[ 1.151295] pci_root PNP0A08:00: address space collision: host bridge window [mem 0x000c4000-0x000cbfff] conflicts with Video ROM [mem 0x000c0000-0x000c7fff]
although I heard that this could be ignored.
Anyone experiencing similar problems with SLI?
Last edited by Ochi (2011-10-13 15:09:33)
In my opinion; SLI is worse than worthless in linux. If it were just worthless, you'd only be out the money paid for the second nVidia card. But in linux, the second card in SLI sucker-punches the first card every 1ms and it cannot concentrate on doing any useful opengl operations. You'd be better off removing the second pic-x card and using that 100W of electricity to power a light bulb over your desk. The lightbulb would actually be more useful than the second nVidia card and $99 cheaper.
Perhaps someone makes a pci-x extension cable; then you could put the second nvidia card on your desk, remove the heatsink and fan, and have a great coffee warmer.
I feel somewhat better now; but I share your pain as I've got a pair of GTX 560's that are about worthless together. Microsoft has a $99 patch that fixes the driver: it's called Windows. A painfull lesson indeed.
You could go over to the nVidia forums and complain... perhaps you'll be the staw that breaks the camel's back. But I assume that since AMD is handing nVidia their a$$ on a plate right now in GPU computing, nVidia reassigned thier intern to work on CUDA instead of linux graphics.
Just in case someone stumbles upon this problem. I had similar symptoms as described although I only have a laptop with nVidia NVS135 Qutro.
sudo nvidia-xconf --sli=On
It solved the problem... or it least made it better. Maybe the new drivers brought this upon us?
Good to hear it's working better for you; but I'm a little confused. Do you really have multiple graphics devices in the laptop? What is the output from the following:
$ lspci | grep VGA
If i'm not mistaken, it should show two separate VGA adapters if you intend to enable SLI. I've got 2 GTX 560s and I get the following:
01:00.0 VGA compatible controller: nVidia Corporation Device 1201 (rev a1) 02:00.0 VGA compatible controller: nVidia Corporation Device 1201 (rev a1)
which is two separate cards each on it's own pci address. I've never experienced problems with Gnome 3 desktop when using a single GPU (SLI nor MultiGPU specified in xorg.conf) or with SLI=on as I suspect I've got enough horsepower that even if the cards don't work well in SLI, they can at least render a desktop fast enough. Where SLI really show it's faults is running a benchmark like unigine heaven. I've never been able to use 2 cards in that benchmark and not have the performance suffer greatly. Perhaps nvidia wrote a working driver for their professional graphic cards?
I have only one graphics card and allways had only one:
[pecenac@pecenac-laptop ~]$ lspci | grep VGA 01:00.0 VGA compatible controller: nVidia Corporation G86M [Quadro NVS 135M] (rev a1) [pecenac@pecenac-laptop ~]$
I have XFCE 4.8 so I have no idea about how gnome would behave.
I tried this solution as I was getting desperate and it worked. I cant thing of anything else that could have caused the difference.
Found this in the nVidia 280.13 Readme file:
25F. OTHER NOTES AND REQUIREMENTS The following other requirements apply to SLI and Multi-GPU: o Mobile GPUs are NOT supported o SLI on Quadro-based graphics cards always requires a video bridge
If this is true, then I would suspect that enabling SLI on your GPU does nothing; check your /var/log/Xorg.0.log for any mention of SLI.
Edit: Good to hear it works for you for some reason.
Edit2: Perhaps you have some sort of multigpu on one card? Have your toyed withe the MultiGPU setting at all? I'm not quite sure what MultiGPU stands for: Do you need two GPUs on one card in one slot? Or two GPUs in separate slots and somehow use them together without enabling the SLI bridge. I should research that more over at the nvidia forums.
Last edited by cjpembo (2011-08-25 14:42:58)
I dont really have much of an idea what i have or how it works.
Maybe what nVidia had in mind is that if sli is on with some non supported card things go bad.... Which is essentially what happened to me.
sli is not mentioned in my log though
[pecenac@pecenac-laptop ~]$ grep sli /var/log/Xorg.0.log [pecenac@pecenac-laptop ~]$
I just wanted to give you a little update. I just installed the 285.05.09 drivers (latest 3.0 kernel, xorg 1.11.1). I don't know what nvidia did (or maybe the xorg update, but I suspect it was the nvidia driver), but SLI+BaseMosaic now seems to work perfectly for me.
Performance is great, just as good as with a single card and screen (compared with the Heaven benchmark). Now I see how bad the performance was when I was using Xinerama to drive my three-screen setup (less than half the FPS).
I hope there won't be any surprises still, but as of now, it works great. I recommend everyone with similar issues to try the latest drivers. Now I'm looking forward to try compiz on all monitors. Didn't try to use SLI to make the two cards combine their powers, but in the end I bought the cards to drive more than two monitors. ^^
I'm trying to set up a pair of GTX 560 Tis with BaseMosaic, but I can't make it work (X doesn't start up properly, have to reboot via SSH). Can you post your xorg.conf?
Sure, it's actually very short:
Section "Device" Identifier "GeForceSLI" Driver "nvidia" BusID "PCI:2:0:0" Option "UseEdidDpi" "false" Option "DPI" "96 x 96" Option "Coolbits" "4" Option "SLI" "Mosaic" Option "BaseMosaic" "true" Option "MetaModes" "GPU-0.DFP-2: 1680x1050+0+0, GPU-0.DFP-0: 1680x1050+1680+0, GPU-1.DFP-0: 1680x1050+3360+0" EndSection
"Coolbits" is not really required. Otherwise, yes, there is only one "Device" section for both cards. Note that they need to be connected with a SLI bridge. I'm not sure if the "BusID" is necessary, but it's set to the address of the "first" card. If X still fails, maybe you can pastebin your Xorg log.
With the following xorg.conf I still have the same issue. The xserver appears to hang, after killing X, reverting to a xinerama based xorg.conf and restarting the login manager X comes up normally so it looks like a problem in the userspace.
Section "Device" Identifier "GeForceSLI" Driver "nvidia" BusID "PCI:1:0:0" #Option "Coolbits" "4" Option "SLI" "Mosaic" Option "BaseMosaic" "true" Option "MetaModes" "GPU-0.DFP-2: 1680x1050+0+0, GPU-0.DFP-0: 1680x1050+1680+0, GPU-1.DFP-0: 1680x1050+3360+0" EndSection
Nothing interesting in the log that I found http://dpaste.org/cFgBr/.
I have 2D surround working on Windows so I don't suspect a hardware issue with the SLI bridge or the cards.
EDIT: If I set iommu=off on the kernel arguments then X comes up properly, but keyboard and NIC don't work. Looks like a bug with SLI and the system IOMMU to report to Nvidia.
EDIT2: Passing iommu=pt on the kernel arguments results in a working configuration (290.10).
Last edited by mwc (2011-11-30 04:39:52)