|
From: Helge H. <hel...@ai...> - 2003-11-13 21:28:25
|
I stumbled across a XFree86 config file for the G450, which had something new to me. There were two device sections referrring to the same BusID, but with screen=0 and screen=1. I decided to try the same on my G550. Instead of running the second head with framebuffer, I used the mga accelerated driver and screen=1. The first attempt failed, X found "a suitable device but no screen" or some such. So I removed the screen=1 thing just to see what happened. Accelerated mga was already running on the first head as :0, and I now started another accelerated server with the same configuration as :1, with another keyboard and mouse. It worked in a weird way - I got two xservers running on the _same_ screen. Each mouse had its own cursor, they could chase each other around. I opened one xterm with each mouse. My left keyboard worked with the left xterm, the right keyboard witht he right xterm. A "poor man's ruby setup", dual seat with a single screen. Of course this didn't work too well when windows overlapped, one xserver obviously wasn't aware of windows handled by the other and repainted with root window color when I moved the overlapping window away. And the other xserver was of course unaware that the window had been overpainted by another xserver and didn't try to repaint it until I moved it off screen and back. These issues were kind of obvious - the big surprise was that the 2d accelerator survived and didn't mess up from simultaneous access by two xservers. I could grab a window with each mouse and drag them through each other with opaque movement and get no trouble other than the obvious mispainting. And this is a smp machine, so there were no serialization due to single-cpu scheduling. 3D only worked on one xserver, the other segfaulted all 3d apps and even went into a 2d pause while the first server ran glxgears. This is promising. I currently run accelerated on one screen and unaccelerated framebuffer on the other. But it seems I should be able to run 2d accelerated on both screens, if I can convince one server to use the other screen. This should be possible, xinerama can use both screens so i the worst case I'll run two xinerama servers and avoid collisions by dicipline :-) Helge Hafting |