Proper Multi-Seat X Support Is On The Way
Phoronix: Proper Multi-Seat X Support Is On The Way
While multi-seat computing has been available on Linux for years, it's often been a chore to setup and required some time. Beyond just being time consuming and an unnecessary hassle, the way of setting up a multi-seat computer through an X Server with multiple nested Xephyr servers is not pleasant...
Nice to have!
I am interested in how each xserver knows to which hardware he belongs. And how you set up such an environment.
1. Will we _ever_ be able to setup a multi-seat system with the binary drivers?
2. Will it be possible to run a multi-seat system _with_ 3d support (be it with OSS or binary drivers)?
1. Yes. Until VGA arbiter is pushed into the main tree, it's only possible with proprietary drivers.
2. Depends. You can already start multiple x-servers across different cards using fglrx without losing 3D. I've not managed to do it with nvidia's drivers.
Great news. I hope multi-seat systems will be common soon!
I set up a dual seat rig with radeon and userful, and it was a royal pain in the butt. The lack of proper 2d and 3d acceleration MURDERED performance for both users.
This would've been a killer feature for Linux a few years ago, as you could say: ok, buy slightly more expensive GFX card, USB keyboard + mouse, save one PC. Now, with PC prices beginning in the 200€ region, this is way ... pointless.
They should really try to improve in the server based computing (SBC) area. Linux already HAS big advantages, as X11 is network transparent. But I want three more things:
a) Local Launch: Compiz should be started locally on the X Terminal Client, as window manager. The rest of the gnome environment should be running on the Terminal Server.
=> This should be easy. Few bash scripts.
b) Desktop session should prevail on the (Terminal-) Server. ie, I click on "Lock Session", and the X Terminal Client disconnects. and then I reconnect the day after. I keep the whole stuff running on the Server, like I do not switch off my computer @ work. But then I can switch off the X Terminal thing. I can also port the Session to a different one.
=> This should also be possible. More bash scripts, and probably a pile of C Code.
c) X Bitstream acceleration architecture for videos, that is network transparent and just sent the bitstream. Probably decoded by CPU (ffmpeg) in the X server (on the terminal), so no HW acceleration in the first step. Just that videos work over the network.
=> difficult to achieve. Also need to patch the video applications (mplayer, gstreamer ... The biggest point is flash! But then: local launch firefox ?)
d) Probably more speed over the interweb
=> I think NX is supposed to do this
I've been using multiseat in Kubuntu Dapper Drake 6.06 with Xephyrs on one graphic cards some time ago and since Jaunty 9.04 I've put second video card and I've setup it using two X-servers - works perfectly!
I'm using Radeon 9600 AGP and Radeon x300 PCI-E cards both support hardware acceleration (2D, XV, 3D) and x300 is connected to 1080p LCD TV in the second room.
I've splitted soundcard outputs and connected them just like different cards for both displays.
I'm using cheap Medion wireless keyboard and mouse with TV and it all works great.
No problems with configuring this multiseat on current Kubuntu Jaunty - just the second X-servers in kdmrc (with input hotplugging disabled and inputs are mapped by /dev/input/by-id/*), soundcard is splitted using alsa config and I use compcache because 1GB RAM is not to much for KDE 4.3. The one bottleneck is Flash plugin - when window with flash content is scalled to 1080p my CPU gets hiccups.
Nope. First, a few years ago some distributions already offered that (like Suse SLED).
Originally Posted by satan0rx
Second, it's not just about prices. With only one computer for 2+ users, you don't have to maintain two or more computers, only one. You always get your own files and desktop, even if your seat is used by somebody else in the familly, and all that without needing a NAS or having to connect by network to one computer acting as a server (for example, the server is already in use, so you start another computer or a thin client, but if the user on the server finishes, you can't stop the server since you're accessing your files, and you end up with two computers on when only one would be necessary). It's not just price and complexity you save, it's also time and energy (which costs money). Of course, you could use an efficient little computer, like an Atom, but an Atom is never going to be as confortable as being one of the 2 or 3 users on a decent dual or quad core.
A decent computer with integrated graphics uses about 100W on desktop use, you save half of that by sharing it (the small overhead doesn't add much). Of course, you second seat could be an Atom computer that only add 35W as a secondary seat, but that would be excruciating to use.
Then it's also handy when you're travelling and you can share a single laptop with your wife, just borrow a screen, keyboard and mouse and you're all set up, no need to use the clunky Windows Millenium on a Pentium MMX that your friends/relatives have as an excuse of a computer. No need to carry a second laptop, no need to cope with the small screen and slowness of a netbook...
This is *not* about multiseat support. The recent push for the VGA arbiter is to revive support for using multiple cards with a single X server when more than one those cards require VGA access. This support was broken when the X server was modified to use libpciaccess. Getting better multiseat is only a side effect.
This makes me so happy; its like X is finally a distributed window system. XI2 allows hot-seating, vga arbitration is a key component in multi-seating, and xpra fakes window migration... these are all key components in loosening constrains of what the desktop is.
Originally Posted by phoronix