Ahh dang, it's too bad you can't come to my GTG then
But yeah the reason I did a VM is because before I was using a HTPC to drive my home theater, I already had a generic server PC mainly used for data storage and running other sort of headless server applications, and this server runs Linux, because that's got the best data storage tech like software RAID and such.
I decided to use my server as my HTPC because it was the most cost effective, and here's why.
These days, virtual machine tech has gotten to the point where you can pass physical devices into a virtual machine including PCIe cards like GPUs. Normally when you think of a VM, you think of bad, non-native GUI performance, you think of viewing the VM through a software VM viewer like VMWare or similar or remote desktop software like VNC or RDP or Teamviewer or something.
Well, when you pass-through a PCIe GPU into a VM, it disconnects that device from the host PC and connects it to the VM as if it's a real physical physical PC. This allows you to now connect a HDMI cable to the GPU and get native performance HDMI output from the VM.
So within my Linux server host, I am running a Windows 10 VM with a native HDMI output with full GPU performance. With GPU passthrough you only actually lose a few % of performance, it's actually pretty negligible.
And so, all I had to do in order to have essentially a full blown high-performance HTPC was to add a dedicated GPU to my server, and I had recently bought a new GPU for my gaming desktop, so I simply put the old one into my existing server. The other nice thing is that since it's all in my server, my server is already running 24/7 (because, well, it's a server), so that means my HTPC VM can simply just be running 24/7 as well and I'm not really wasting additional power running a whole separate HTPC. Just whatever extra power cost there is associated with idling a GPU in the server. With a modern GPU that's only a few extra watts. It's nice that the HTPC is always on, so when I turn on my projector, it's just there, ready to go.
For control then, you can simply pass through a USB port to the VM and use whatever controls you would normally use with a PC, you could get a USB remote or KB/mouse combo, or even a USB IR reciever like a FLIRC and map an IR remote to PC controls.
Although all being said, I would not actually recommend this sort of a setup to anyone as it can be pretty complicated to get running smoothly. It only made sense because I wanted to consolidate my computers as much as I could and since I already had a fully functioning server. But I am a software engineer by trade, so it's something I could manage without too much trouble for myself.
I'm sure I can have future GTGs as well, especially since I am planning on upgrading to a new projector soonish.