xrandr 1.4 multi-gpu works!
Today I discovered that a fundamental (well, for me) milestone in the linux desktop world has been achieved: with xrandr 1.4 it is effectively possible to seamlessly use multiple monitors attached to DIFFERENT VIDEO CARDS, with different resolutions, each with its own desktop, with the ability to move windows between screens AND full 3d acceleration on all the screens. All this with the open drivers.
I wanted to share this as information on this topic is nearly not-existent (all the articles I could find were about rendering offloading).
I tested it with a clean kubuntu 13.04 image, with 2 GTX 285. KDE detected the two screens without any configuration, and put a desktop on each one. I was able to run Unigine heaven 2.5 at high settings, windowed (1024x768) and move the window between the screens while it was running (15-30 fps). Simply amazing.
I need to test on my PC with integrated Radeon 4250 and pci-express nvidia geforce GTS250.
I was already able to do GPU offloading from radeon to geforce while testing on Fedora test day.
I can confirm it works.
Motherboard ASRock 880GMH (integrated Radon 4250)
Pcie Nvidia Geforce GTX250
(CPU: AMD X4 635)
I need to default integrated GPU set in BIOS!
(if I set default GPU to pcie, integrated is not visible trough lspci)
Using Fedora 19 (pre-stable) I get out of box multimonitor desktop (VGA on integrated radeon, DVI on pci geforce) using opensource driver. IIRC it does not work with prop driver.
Default rendering GPU is radeon. I can offload render using DRI_PRIME=1 to run opengl game on nvidia (which is much faster).
Unfortunately DRI_PRIME can't work with prop driver due to licence issues.
I would just like to add some screenshots. I was also able to connect 3 monitors to PC (2 to IGD and 1 to DIS)
here are images: http://imgur.com/a/1XqgV
How does one configure multi-gpu with RandR 1.4? Are there some guides how to do it available somewhere?
The options are described in the xrandr manpage, in the section "RandR version 1.4 options"
would be a start.
$ xrandr --listproviders
Unfortunately there are no examples at the bottom, but it is not difficult to figure out.