Take the 2-minute tour ×
Arqade is a question and answer site for passionate videogamers on all platforms. It's 100% free, no registration required.

Multiseat (see here (SU) and here (unix.SE)) allows multiple users to use one PC with multiple mice/keyboards/monitors as if it were several PCs. It would be great to run some less-hardware-hungry games this way since no second PC were required. Unfortunately all I tried so far didn't work:

Has anyone else tried this, and maybe even succeeded?

share|improve this question
    
Related with some possible solutions: superuser.com/questions/29432/… –  3ventic Aug 29 '13 at 8:58
    
@3ventic Yeah, I remember that question, but having a second Windows mouse course is only a very partial solution, e.g. it doesn't cover multiple keyboards plus correctly handling muliple Windows-foci. –  Zommuter Aug 29 '13 at 9:01
    
some of the answers (most of what I read, actually) support multiple keyboards, too. I'm not sure about window-focus. The websites for that kind of programs rarely list the features clearly enough. –  3ventic Aug 29 '13 at 9:03
    
@3ventic Indeed, and in most cases they fail to clarify on 3D acceleration support. I tested a view of these and other Linux/Windows multiseat programs, but so far all failed and Tyler's virtualization solution was the only one to ever work –  Zommuter Aug 29 '13 at 9:06

3 Answers 3

up vote 19 down vote accepted
+200

I would use VMWare. This might be possible with just VMWare player (you will need to be able to allocate a mouse to a single VM), or you might need to try VMWare workstation (for which I'm quite sure it works). The hardware/software you will need is as follows:

  • Multiple sets of USB input (mice/keyboard/etc.)
  • A license for VMWare Workstation (or another VM system)

    1. Set up a VM as you normally would and power it down.
    2. Configure the USB Controller (found in "Edit virtual machine settings") to "Show all USB input devices"
    3. Start up the VM.
    4. In the menu Navigate to VM -> Removable Devices, and select the inputs to direct to the VM exclusively. (Now one of your keyboard/mouse combinations will only be directed to that VM.)

At this point you have a window that is fully isolated with a set of inputs that will go only to it. You can do this for as many VMs as you can handle (and for as many sets of input as you can handle - I only tested with 2). The only irritating thing that can happen is is you have only 2 sets of inputs (in my case my laptop keyboard, my USB keyboard and 2 USB mice). I set up a VM with my USB Keyboard/Mouse combo, and maximized that to one monitor (you need VMWare tools to do this). For the other I had a problem that my mouse could escape from one VM onto the other (a feature of tools); to get around that I put my second VM in "exculsive mode" thus caputuring my "host" input; I could also have had a second keyboard/mouse combo.

Best of this is, you don't even need multiple monitors, you could do it split-screen style with a bunch of VMs+keyboards+mice.

share|improve this answer
    
Also, I tested this :) –  Tyler Szabo Jan 18 '11 at 4:29
    
+1 I didn't think of running a VM. Does hardware acceleration work? Did you also test the performance? (I can't before the weekend) –  Zommuter Jan 18 '11 at 7:55
    
afaik opengl2 work acceptable in windows mode. But again it more depends on your videocard. –  kusoksna Jan 18 '11 at 12:33
1  
thanks, I'll try it this weekend and then (probably) accept your answer. Concerning the 2 weak vs 1 powerful machine, well I already got this one machine so the only thing I could do before buying a new pc would be buying a second GPU anyway... –  Zommuter Jan 20 '11 at 8:48
1  
finally tested: success! (using the free vmware player is sufficient, I had to use this tweak to get the separated mouse&keyboard working) –  Zommuter Jan 29 '11 at 20:05

This can be done in Linux, and has been possible for many years in both Linux and UNIX. What it is not, however, is well supported by configuration tools; setting it up will generally involve manually editing a bunch of files.

The search term you'll probably find most useful is multi-seat, which is a setup with multiple independent keyboard/mouse/monitor groups that multiple people can use at once (not to be confused with multi-head, which is where one user and keyboard/mouse pair uses multiple monitors). The Ubuntu documentation for setting up multiseat on recent (12.x/13.x) Ubuntu distros can be found here; the Arch Linux documentation for it (which is often helpful even if you don't use Arch, as they tend to go into great detail) is here. (If you already tried the Ubuntu instructions and they didn't work, detailing how and where they went wrong would be helpful.)

An alternative way to do things involves one central computer and a number of extremely minimal "thin clients" connected to it over a LAN; the central computer runs all the programs and the thin clients use X forwarding to act as additional displays for it. This can be even more aggravating to set up in some ways, though, as you need a very fast network to support multiple users, and stuff like sound support requires extra work if you want it to be streamed over the network to the clients rather than everything coming out of the central server's speakers.

share|improve this answer
    
+1 Especially with Steam's recent turn towards Linux. I currently can't test this, I assume Ubuntu/Arch cope quite well with multiseat supporting 3D hardware acceleration. I think I did test the thin client idea at some point, but either the graphics were terrible or input lagged too heavily, I can't remember. Though some onlive-like thing, e.g. splashtop or kainy, might do the trick a bit better than X forwarding... Maybe that on a Raspberry Pi? Interesting ideas you have here :) Too bad I can't just split the bounty up, but should I test this you'll deserve the 300 (my min on this question) –  Zommuter Sep 5 '13 at 19:15
    
X forwarding requires much more bandwidth than it looks like it should, and imposes severe limits on what you can do with hardware acceleration. All OpenGL commands are sent over the network (using the GLX extension) and then rendered on the client machine. This means the clients all need good video cards, is a performance hit in itself, and quite a lot of features can only be used in direct rendering mode, not in GLX mode. There are technologies like VirtualGL that attempt to address this, by rendering using the server's video card and then streaming the results, but I haven't used them. –  ToxicFrog Sep 6 '13 at 18:31
    
The upshot of this is that X forwarding is fine for non-accelerated stuff (my family historically used it to play stuff like Spellcast), but using it for hardware accelerated games pretty much requires something like VirtualGL to be useful. OnLive-style streaming would be pretty great; I didn't mention that mostly because last time I investigated such technologies, there was nothing that was really suitable for home deployment, either due to costs or infrastructure requirements. It looks like things have improved some since then! –  ToxicFrog Sep 6 '13 at 18:35
    
Actually I gave VirtualGL a shot two years ago, but messed up with 32/64 bit... kainy.com looks promising so far, though the PC client is currently only beta. Judging from the android version though it might be an inexpensive solution once finished –  Zommuter Sep 7 '13 at 6:59

For Windows XP/7/8 32/64 see ASTER also - it supports a h/w acceleration of graphics

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.