image Like everyone with both Windows Home Server and Windows Media Center boxes I’d pay a good chunk of cash to have both in a single box featuring shared storage, cablecard support, and a small and eco-friendly footprint. A very good chunk.

A few people have (somewhat) successfully virtualized Windows Home Server on their Windows Media Center box but while I admire their cunning there’s potentially a rather ugly problem. If the OS drive for WMC should ever fail you have a chicken-and-egg situation. No WMC = No WHS = No restore from backup.

I think a better scenario then is to have Windows Media Center running as a service on the Home Server box with all output being through one or more extenders. With a few constraints I couldn’t think of any reason why this wouldn’t work so I decided to give it a go :)

Note the following were required;

  1. A VM package that supports USB devices and can be run as a service.
  2. USB Tuners
  3. Acceptance of being limited to extenders, and not being able to record protected digital content (for the same reasons you can’t record digital content with a custom-built box).


Virtual Machine package

I initially started with the free version of VMware Server 2.0 which worked but had two drawbacks; The most awful web based administration imaginable and a limit of two USB devices. The first I could live with since post-install I’d use Remote Desktop for admin tasks, but the second’s a deal breaker for Media Center duties with USB tuners.

When I discovered this post-install I switched to VMware Player which is free but restricts virtual machines to being run, not created or edited. As I’d already created my VM in VMware Server this wasn’t a problem.

VMware Player doesn’t run as a service but can easily be configured to do so, even featuring a “No GUI” option for this purpose. It also supports USB 2.0 devices and will automatically reconnect them upon startup.

One other important detail is your VM package must support “Bridged” networking. This is where both VM and the host share the same network connection but have different IP addresses. The alternative is NAT where your VM is on a different IP range and invisible to devices such as extenders.

USB Tuners

Because Media Center is running in a virtual machine it’s unable to access physical hardware, with the exception of hard-disks and USB devices which can be bridged from the host.

For this experiment I picked up a used Adaptec 3610 USB Analog Tuner from eBay for about $35. As well as dual-tuners it has a built in eHome IR blaster for controlling STB’s which is super-handy. If a virtual Media Center proves not to be an option I’ll likely be switching my Media Center to a smaller machine anyhow so it won’t be going to waste.

For an ATSC HD tuner I currently use a VBox PCI card, but would switch to the HD HomeRun. It’s pricey ($170+) but has dual hybrid ATSC/QAM inputs and is Ethernet based.

Acceptance

As noted there’s two obvious caveats to a VM Media Center – Firstly that all Media must be played back via an Extender, and secondly CableCard support will not be an option.

The first is ok with me. As crazy as it sounds I’d prefer NOT to have a PC next to the TV :) The second is the same limitation as custom building a machine – sucky but what can you do. While I’d like CableCard I can live without it. Most of the shows I watch are on local network channels and ATSC works fine here, arguably even better infact.

(On a side note: why are the only OEM PC’s that support CableCard so big, ugly, and non-Media-ish?)

The results

I ran this experiment on the Windows Home Server I built last year, which since buying a MediaSmart Server has been relegated to a development role. The specs (Athlon X2 2.0 Ghz, 2GB RAM) are higher than the stock MSS but around the spec that it can be upgraded to with hardware/bios mods.

Aside from the horrible web interface, installation under VMware server was painless.

The first thing I did was setup an extender to test that it could connect and stream the provided sample videos. There should be absolutely no difference, but for reference I went with the Xbox 360 for these tests. It was in the living room and I think it’s a better implementation.

image

The Extender connected first time without any problems and I could immediately select and view all of the sample media without a problem. This was my “wow” moment when I realized that this could actually all work.

Next up it was time to configure the tuners and, aside from having to switch to VMware Player, this is when I experienced my first hitch – TV setup cannot be performed via an Extender and must be done on the Media Center PC itself.

Because the virtual display drivers do not support hardware video you cannot see anything while configuring TV. This leads to a “TV Signal” screen that looks similar-but-not-quite-the-same as when there’s no signal detected.

As well as spotting this you need to use a process of elimination to determine which box maps to which tuner (luckily the Adaptec labels its external ports which makes it trivial) and whether the IR blaster is really changing channel or not.

 image

So with everything setup it was on to some performance tests. First I watched and recorded “The Daily Show” and everything was great – CPU usage on the server was less than 30% and the picture was free of stutters, including while skipping back/forward.

After this I recorded “The Colbert Report” and started to rewatch the Daily Show. This is where things took a down-turn. The picture was generally ok but would occasionally stutter. Looking at Task Manager on the VM, CPU usage would spike from 50-100%, and on the server it would hover between 40-50%.

image

At this point I realized that VMware was maxing out one core on the server while the other went unused. I tried several things to get VMware to use both CPUs without any success – although VMware player is free it has no options so you’re restricted to editing config files using info gleamed on the web.

As I was already seeing problems with two simultaneous streams I was also concerned how it would handle a third show, or HD being thrown into the mix, or multiple extenders. All of these are things that are common in our house and if there’s one Mission Critical WAF item it’s TV :)

At this point I decided to call time on my experiment for the time being. As well as resolving the VMware problem with multiple cores I would need to purchase some USB ATSC hardware before I could satisfactorily judge performance.

My feeling is this setup is absolutely workable, and could work very well, but the spec of the host machine is likely to require more than the MediaSmart Server hardware can support.

Since my whole purpose was minimizing the footprint of both machines instead of switching back to a large form-factor server I’m more likely to purchase a dedicated machine such as a Dell Studio Hybrid or Mac Mini for Media Center purposes, then have it record to a network share. These are avenues I’ll probably explore in the new year.

It was fun tho :)