Phoronix: With KMS, Now Run Two X Servers Off One GPU
Over the past several weeks there have been a number of new Linux graphics features introduced by David Airlie, a Red Hat employee and long-time X.Org contributer. Last month David began on a project rampage by bringing hybrid graphics to Linux via code he called "vga_switcheroo" to switch between ATI/NVIDIA/Intel GPUs without rebooting the system (though restarting the X.Org Server is needed at this time) that that code has now made its way into the mainline Linux kernel. Last week another David Airlie project was multi-GPU rendering support for Linux that was written as a proof of concept to show a second GPU could render 3D applications onto the screen of the first GPU, regardless of the hardware vendor. This week we now have the ability to run two X.Org Servers for a multi-head setup off a single graphics card...
..so can it run two seats off one gpu with full 3d accel on both? When I did a dual seat rig my problem was that the lack of compositing put so much load on the cpu that the entire thing was ridiculously slow.
4-5 years ago I've run my multiseat configuration on one graphic card on Linux but I needed to use one Xserver across all the screens and then run few modified (for real pointer devices support) Xnest/Xephyr virtual Xservers - one per screen.
It was working as expected but I've had no accel at all (2D, 3D, Xv).
Now I use two ATI R3xx cards for multiseat and configuration with two Xservers (one per card) started from KDM works great with all possible accelerations supported by radeon driver.
I'm looking forward for this project and for multi GPU rendering, too - it would be usefull even for multiseat, too.
You know, I think I really like this development trend where Dave (Level 20 Programmer) does some miraculous-seeming hacking and pops out a new fetal-feature, lets it gestate for a week, and then sloughs it off on his "minions" (the community). It's led to rapid advances in the capabilities of Linux graphics. I approve.
For those who don't know, if you want each monitor to work more indepedently than usual but still only want to run a single X server then there is Zaphod mode. This prevents things from stretching across both screens when you don't want them to. It doesn't force you to have the same vertical size on both screens. It also allows you to start fullscreen apps on either screen using the DISPLAY variable. You can move the mouse from screen to screen but you cannot drag windows across. If you want 3D on both screens then you need to use KMS. Zaphod + KMS was partially broken in the driver until recently so try it again if you had trouble with it before.
I plan to use MPX somehow to get some kind of hotseat functionality but for the true hotseat experience, this new thing seems to be the way to go.