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?

  • Related with some possible solutions: superuser.com/questions/29432/…
    – 3ventic
    Aug 29, 2013 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, 2013 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, 2013 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, 2013 at 9:06

4 Answers 4


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.

  • Also, I tested this :) Jan 18, 2011 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, 2011 at 7:55
  • afaik opengl2 work acceptable in windows mode. But again it more depends on your videocard.
    – kusoksna
    Jan 18, 2011 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, 2011 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, 2011 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.

  • +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, 2013 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, 2013 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, 2013 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, 2013 at 6:59

Multi-Seat single-desktop Linux

In Linux, there are many ways to achieve this kind of setup.

One way is to setup a multi-seat environment. In this kind of environment you can restrict multiple input devices to separate desktops. One 'seat' would have your controller, a second 'seat' would have your mouse. You can find instructions over at the Arch Wiki or at the multi-seat config section of Wikibooks.

Fedora added multi-seat support a while ago and has more user-friendly configuration than Arch (where you have to manually edit a large number of config files). If you just want to do a basic multi-seat setup, then you should go with that. However, a basic setup doesn't support using just a single video device.

Thus, having multiple video cards for your machine makes this kind of setup much easier to achieve. If you have an intel processor or AMD APU (the G-series Ryzen), these have an integrated gpu, which you can use for your second, non-gaming monitor. regular Ryzen and HEDT CPUs do not have an integrated GPU so I would recommend getting a cheap second video card and run the second monitor off that. Having a second keyboard also makes running this type of configuration much easier.

Since a game can/should only grab control of one of these desktops/seats, you should be able to mouse on one monitor and use the controller on another. However, if your game bypasses the windowing system and talks more directly to the hardware, this may not work with such a game.

On windows, you will need a paid program solution to do the same thing. They do exist, e.g. ASTER, or using the MultiPoint Server on the Server version of the windows operating system. (Which is probably not the version of windows you currently have). It's quite a bit more expensive than a simple desktop solution though, marketed to corporate environments.

Virtual machines

You could run multiple virtual machines using software like KVM or VMWare. The base machine can be any OS for this. You can then attach one device to one VM, and one to the other, then display each on a separate monitor. Or, if you want to do things like streaming, you would want to run one desktop on the host OS, and one on the virtual machine, giving the host OS access to the VM display.

This is a more rigorous and complex, but more isolated solution (likely to work with all games) than using multi-seat.

You will also need GPU passthrough to run anything graphically demanding at near-full framerate. Here's an example guide for KVM. The exact instructions will vary based on your hardware and VM software chosen. Setting this up is usually the most complicated part of a VM setup.

  • Thanks for your answer! I'm afraid your first link to the Arch Wiki got mixed up
    – Zommuter
    Sep 18, 2020 at 17:20
  • @Zommuter Fixed the arch link. (Duplicate link).
    – aphid
    Sep 18, 2020 at 17:34

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .