Virtualisation of my media PCs using ESXi

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

nry

Active Member
Feb 22, 2013
312
61
28
Hey

Felt the need for a new project so figured I'd reattempt something which I tried a few years ago. Hosting multiple Windows based media PCs within one physical machine running ESXi 6 with the graphics cards passed through to the VM using VT-d.

Last time when I attempted this in December 2012 I got the basics working, but things like DXVA (DirextX Video Acceleration) didn't work which resulted in slightly laggy playback. Also the host machine would occasionally crash which probably isn't ideal when watching a film! Here is the setup running three TVs each with a Windows 7 VM with the GPU passed through, running on a single physical box. https://pbs.twimg.com/media/A93MtsBCIAAiiti.jpg:large

My main reason for attempting this is that my rack is full of systems which feels a little overkill, currently theres 3 media PCs in there and one ESXi processing box (not really used enough). The plan is to combine all these systems into one box, leaving me with three servers. Primary server which runs 24/7, file server and ESXi box (with media PCs virtualised).

The most important point is I'm trying to carry out all testing without spending any additional money until I know it's going to work!

System spec:
  • X-Case RM 400/10 V4
  • Unknown 5x3.5" hot swap SATA
  • Corsair RM850i PSU
  • Asus Z9PE-D8 WS
  • 2x Xeon E5-2660 ES
  • 2x Noctua NH-U9DX i4 CPU coolers
  • 3x Arctic Cooling F12 PWM
  • 2x Arctic Cooling F8 PWM
  • 4x Kingston 8GB DDR3 ECC 1600Mhz (hoping to upgrade to 64GB once some pops up on eBay)
  • OCZ Agility 3 60GB
  • 2x Asus HD6450
  • 2x 4 port USB3 PCIe adapters
  • ESXi 6 booted off OCZ Agility 3 60GB (primarily to speed up boot times)
  • Intel X520-DA2 10GbE NIC
Contents
Test 1
  • Install ESXi
  • Configure GPU for passthrough
  • Create Windows 10 VM, but no pass through configured yet
  • (Optional) Disable User Account Control, enable auto login
  • Make sure all ATI drivers are installed and ready
  • Shutdown VM and add GPU PCI device (noting that both HDMI audio device and graphics card will need to be passed through)
  • Reboot VM, TV went blank and finally I had a Windows booting screen :)
Tested a rip of Avatar in MPC-HC and VLC which both resulted in around 30% CPU usage. Seems a little high but playback is perfect. Checked DXVA checker (DXVA Checker) and it reported the VM as supporting DXVA1/2.

Power usage idle: 102w
Power usage with movie playing: 128w



Next steps
  • Test CPU usage using bare metal
  • Triple check DXVA is actually working
  • Investigate how to pass through USB keyboard/mouse through to the VM
  • Test multiple graphics cards simultaneously.
 
Last edited:
  • Like
Reactions: spazoid and Chuntzu

Angus

Member
Mar 3, 2015
48
8
8
43
Nice.. keep us updated..

I had tried it on 5.1 I believe but I found it to be glitchy.. I would love to remove some media PC's as well..
 

nry

Active Member
Feb 22, 2013
312
61
28
Nice.. keep us updated..

I had tried it on 5.1 I believe but I found it to be glitchy.. I would love to remove some media PC's as well..
Will do :)

I think I was either using 5 or 5.1 before with an AMD board and the same graphics cards. From what I have read nVidia cards don't seem to be compatible. But the little HD6450 plays everything I throw at it, guess if I upgraded to 4k it might be a different story though!
 

Deslok

Well-Known Member
Jul 15, 2015
1,122
125
63
34
deslok.dyndns.org
Is there a reason you chose ESXI for this instead of hyper-v since you're virtualizing windows specifically?

EDIT: nevermind I missed the bit about PCIE passtrhough
 

nry

Active Member
Feb 22, 2013
312
61
28
Is there a reason you chose ESXI for this instead of hyper-v since you're virtualizing windows specifically?
I use ESXi on my other system, all my scripts are setup to use it too.
 

azev

Well-Known Member
Jan 18, 2013
769
251
63
What do you use to display the VM on TV/Monitor ? Thin client and RDP ?
 

nry

Active Member
Feb 22, 2013
312
61
28
What equipment are you using for HDBaseT?
To each location I use Gefen extenders (Gefen, LLC - Extender for HDMI 1.3 over CAT5 w/ ETH (Discontinued)) these actually work up to 4K at 30Hz which I was surprised about as the ones I purchased didn't mention anything about 4K! Not that my HDMI matrix supports 4k mind you.

Then for my projector I use some Wyrestorm extenders which have ethernet, IR and RS232. As my projector only supports RS232 control.
 

azev

Well-Known Member
Jan 18, 2013
769
251
63
hmm i am trying to picture this whole setup but I am still somewhat confused. So are you saying that you are extending the hdmi out from the ESXi server video card using cat5 to another location with the display ? Very curious as to how to harness the passthrough video card on vm.
 

nry

Active Member
Feb 22, 2013
312
61
28
hmm i am trying to picture this whole setup but I am still somewhat confused. So are you saying that you are extending the hdmi out from the ESXi server video card using cat5 to another location with the display ? Very curious as to how to harness the passthrough video card on vm.
Correct, so theres a few other bits in the mix if you see the diagram below.



Still not 100% sure the GPI passthough is going to work as I want, but worth a try seeing as I have everything I need (almost).
 
  • Like
Reactions: T_Minus and azev

azev

Well-Known Member
Jan 18, 2013
769
251
63
Nice diagram :) it clears up a few things i have in my mind. Anyway, don't you need some kind of client to display the vm directly from the esxi host ? how do you attached keyboard/mouse to control the vm's ?
 

nry

Active Member
Feb 22, 2013
312
61
28
You just connect the TV to the HDMI port on the graphics card passed through to the VM. No need for additional client.

Keyboard/mouse this is where things get a little interesting as I mentioned in my first post, basically ESXi won't let you pass through keyboard/mice through to the VMs. So you have to pass through a physical USB controller, fine if your motherboard has plenty! Otherwise I'll have to buy some add in PCIe cards.

Alternatively what I have been using is Mobile Mouse: Turn your iPhone, iPad, or Apple Watch into a Remote for your computer which works perfectly.
 

nry

Active Member
Feb 22, 2013
312
61
28
I seem to recall reading you can pass through a unify receiver then pair a mouse....

With the distance I'd use a small tablet with RDP.
I have two Logitech K830 keyboards which use the unify receivers, neither of which I could pass through to a VM. I have bought a USB PCIe card to play with for £6 will see what I can do with this.

In terms of range, they keyboards work all around the house no problem providing the USB receiver is outside of the rack! But most of the time I just use MobileMouse (Mobile Mouse: Turn your iPhone, iPad, or Apple Watch into a Remote for your computer) on my phone.
 
  • Like
Reactions: Chuntzu

nry

Active Member
Feb 22, 2013
312
61
28
Test 2 - Baremetal CPU usage comparison

This was more out of curiosity than anything else, as I know CPU usage is typically below 10% when watching films on my main media PC.

Spec:
  • Asus Z9PE-D8 WD
  • 2x Xeon E5-2660 ES
  • 2x Kingston 16GB DDR3 ECC 1600Mhz
  • OCZ Agility 3 60GB
  • Asus HD5450
  • Windows 7 booted from SSD, Windows 10 fails due to ACPI error which I couldn't get past
Although it's hard to tell in the photo, total CPU usage never went above 1%. Given that theres 16 cores on this, probably not a fair test. Couldn't find any way within VLC or MPC-HC to show DXVA compatibility.

 
  • Like
Reactions: Chuntzu