good multimonitor support: what does it take?
I'd really like the input of some devs, or people that have a good understanding of the architecture of Xinerama, and multi-monitor support in general. I know this post is a long read, but I have found little information regarding what is actually involved in getting good performance from a desktop configuration involving more than 2 monitors, especially when they are configured in an "exotic" configuration.
I have been running 3 monitors with 2 of them being rotated, and have been keeping tabs on the state of multimon support in linux for quite a while.
I am using Xinerama, as there are no other methods of achieving what I wish to do, and am running the proprietary nvidia driver.
I'm wondering if anyone can tell me exactly what part of the chain of software is to fault for such poor support for multiple monitors. Specifically about slow performance in dragging windows across monitors, and slow window updates (ie, scrolling, resizing, etc in one screen.)
from my research, the problem lies in the fact that Xinerama basically treats each screen as a separate entity, and must copy pixmaps between video cards in order to move a window from a screen that is on one video card to the next, as opposed to rendering everything "offscreen", and then just telling the video card what to display. This is probably wrong to some degree, but it's the best I can make of what I have read.
Once again, going on the information I have gained, it seems like this is something that needs to be addressed at the driver level. It seems that there is no software (Xinerama) that can fix the pixmap swapping issue, if that is even what is causing the problem.
I have done a fair bit of reading on randr 1.3, and it seems that it may fix some of these problems, in that it basically would create one virtual screen, and each monitor would be like a window to view that screen. so, i could have a 3068x1280 screen, and each of my monitors would be a "window" to a (1024x1280, 1900x1200, 1024x1280, respectively) part of it.
I know that the Nvidia driver does not support randr 1.3, and some of my reading suggests that there is nothing written into the spec as to making it work across multiple GPUs. Is that true?
Anyway, I'm really just curious about which link in this chain is the one to blame. I know that it is possible, because (as much as I hate to say it) Windows has great multi monitor support.
If anyone out there could give me a really detailed description of how all of these systems work together, and (maybe) what would be required to get them to work together well I would really appreciate it!! :)
btw, i have attached a copy of my xorg config file, in case anyone wants to see.