Wednesday, April 24, 2013

How-To: Multiseat set-up with VMware Fusion 5. Independent mouse keyboard monitors.

With VMware Fusion, you can easily set up a multiseat configuration where the Virtualized guests act and operate as an independent computer with its own mouse and keyboard. This is called multiseat.

Multiseat computing is where a single computer provides multiple, independent, multi-station computing where multiple users have their own console access.
Sounds confusing?  Well, it is basically one computer providing resources to multiple workstations where each users have their own monitor, keyboard and mouse.

The picture from HP below illustrates how a multiseat set-up works.

In essence, each user will have their own computing experience. They have their own desktop and full control as if the multiseat clients are real independent computers.

This is not a new idea. Companies have been doing this for decades. There are even thin client distributed multiseat devices on the market. Plugable has one but requires a dedicated Windows Multipoint Server 2012 for Windows or a custom Fedora Linux build.

Today, I am going to show you how to do it with VMware Fusion 5. In fact, you can and provide multiple operating systems to each and every user. Mom can be doing her spreadsheet in Windows XP while little junior is surfing the web in Chrome OS (Chromium) and everything can be hosted off a single Macbook. You are not tied to a hosted server solution.

The requirements are: Extra monitor, extra set of keyboard and mouse. You'll probably need a USB hub. This is the minimum for a single multiseat setup.

Extra network card and extra USB sound stick are optional. If you need more seats,you will need to look at extra graphics output. In this case, you can use a displaylink adapter.

VMware Fusion setup.
The goal is to setup independent monitor, mouse, and keyboard for your guest.

The first part is easy. Set your guest to fullscreen on your second monitor and make sure you disable the "Use All Displays in Full Screen" option. Your guest(s) should start up on their screens.

Getting the extra, external mouse and keyboard isn't so straightforward and obvious. By default, this is disabled in VMware. It requires a little editing of the .vmx file in your VM Guest.
Go to your VM guests, show contents and open the .vmx file. You will need to add a line in the .vmx file that allows the guest to capture and use USB HID (input devices).

usb.generic.allowHID = "TRUE"

Once this is done, go to your USB&Bluetooth settings and assign the external USB keyboard and mouses to your guest. Once this is done, any mouse/keyboard movements will be independent from your host computer. This is how you set-up an independent mouse and keyboard for your VMware guest machine. Here, I paired an external Apple keyboard and mouse to my VM.

Next Steps.

Thats it. The only major hurdle is to get USB HID devices to recognize.
Note. Not all mouses and keyboards will work. You will need to use one with a standard HID interface.

The next steps are optional.

Picture below is my ad-hoc multi-seat set-up I setup for my Macbook Pro. It is a USB 3.0 four port hub with a USB 3.0 Displaylink HDMI adapter, a USB 3.0 Gigabit Ethernet adapter, and an extra set of keyboard and mouse. There are now USB 3.0 Displaylink port replicators on the market that you can use but those will cost you some money.

The extra network adapter is totally optional as you can NAT with VMware.

If you want a separate network interfaces for your users, you will need to setup bridging and assign a network card to your guests.

Once this is setup, the guest will now be a completely separate entity from your Host. It will act and behave as if it is an independent computer on your network.

Now, this is where things will get interesting in the future. With Thunderbolt docks coming in from Sonnet and Caldigit, I'll be able to set-up secondary multiseat guests with their own fast network and high-resolution (2560x1440) displays.

You can also do multiseat on-the-go.

Below is a hypothetical portable setup - portable MHL HDMI battery powered monitor and a separate portable keyboard/mouse. The main macbook is running OSX 10.8 while Pear OS, Ubuntu Linux is running off the portable monitor. This is pretty awesome when you want to demo client-server applications in meetings.

A simple youtube example:

Once I get my cables and adapters for my Motorola Lapdock, I will update this post with this as my thin client. Also, I got this partially working in a Linux Host running VMware's free VMware player for Linux. I could get the keyboard but not the mouse to act independently.

Hmmm. Motorola Lapdock as second multiseat thin-client console.


  1. Thanks for sharing a good article on MultiSeat. Currently I'm using BeTwin on Win XP as a host and it works without any problem. Would the similar setting works with VMware Workstation with Win XP as a host?

    1. Probably works with XP with some tweaks. I could get it to half work with Linux VMware player. It was dependent on the guest OS when I tried it under Linux.

  2. Any way we can send sound to this seat session?