12 display, two card single desktop without Xinerama

Wolfgang Draxinger wdraxinger.maillist at draxit.de
Wed Oct 23 23:40:54 CEST 2013


On Wed, 23 Oct 2013 10:31:58 -0700
Austin Godber <godber at asu.edu> wrote:

> Is it possible for a single Screen to include two Devices?  It just
> seemed to use the last specified if I tried it.

This is something X11 (the protocol) doesn't provisions for. Xinerama
is the hack to make it somehow possible, but you loose all the nice
things, like HW acceleration and such. Imagine having a OpenGL
application running that makes heavy use of GPU side computations. Now
you move its window to a display that's managed by a different device.
The only way to cope with that is somehow let the GPU of one device to
write into the memory of the other GPU, ideally transferring all the
assests to the other GPU's memory.

This is actually possible, but not on the level of X11, but much lower.
NVidia calls it SLi, AMD/ATI calls it CrossFire. And other people call
it Merged Framebuffer. AFAIK the Linux fglrx drivers do support
CrossFire, but I don't know if they can stretch over 12 displays.

IMHO the real problem is, that for over 30 years we got that tight
association Display Interface == Graphics Device.

Things would be so much, much simpler if Display Interfaces were just
some dumb RAMDACs/CRTCs/DVI/HDMI/DisplayPort-Transmitters which submit
images from a given memory address. GPUs should have been dedicated
coprocessors without any interface to a display altogether. Doing it
that way would have avoided so many problems. But now we're stuck with
the current design; things like Hybrid Graphics (NVidia Optimus)
creep up, which are essentially such a graphics (co-)processor /
display interface framebuffer architecture. In such an architecture it
would be very simple to merge a lot of dumb framebuffer interfaces into
a single large screen.

Anyway: In your situation I suggest you investigate if you can make
work CrossFire.


Regards

Wolfgang


More information about the xorg mailing list