Only the Windows 8.1 Pro and Enterprise versions support the Remote Desktop service aka Microsoft Terminal Services. So, nice title but misleading? Well no, I only didn’t mention the additional software component to make this work. It’s called VirtualBox, it’s free and it’s multi platform. It’s virtualization software that you can for example use to run Windows on an Apple laptop, one of the the most used scenarios I guess.
Virtualization software emulates a standard set of hardware such as USB and network interfaces, harddisk, cd-rom and display. What-if the display emulation would support the remote desktop protocol and is independent from screen size? And don’t bother about performance. Emulating hardware does not imply software emulation. Modern CPU’s will let you run your code inside a virtualized environment with native speed. The performance hit comes from the emulated hardware, so running you favorite FPS or Skype on an emulated display is not recommended. Also make sure you have sufficient memory installed…
Enabling remote display in VirtualBox enables you to connect to the host system with a RDP client and get a exact copy of the guest display, including bios messages. (which actually is not possible when running Remote Desktop services on the guest). But this does not bring you the real advantage of RDP: independent screen size. Enter VirtualBox headless mode.
Headless mode means that the guest display is not displayed on the host. This sounds useless, unless you make this display accessible through RDP. Since the display is not displayed on the host, it’s not restricted by the hosts screen size. The screen size is now set by the remote desktop client program, just like “real” remote desktop access. (but without the additional cost of the Pro version)
This all sounds complicated but in fact it’s very easy to use. When you have VirtualBox up and running, just shutdown the guest and then start it again by pressing the big green right-arrow symbol with Shift pressed. VirtualBox now starts the guest but without displaying the guests display. Next, fire up your favorite RDP client (from another machine preferably) and connect to the host. Voila, there’s the guest display again. Now right click on the guest desktop (with a Win 8.1 guest) and select Screen resolution from the context menu. You’ll notice that you can select up to the resolution of your RDP client display, independently of the host display.
You don’t even have to enable remote display explicitly in VirtualBox, it’s enabled automatically when you start your guest in headless mode from the command line. Now that makes sense…
1. Beware that VirtualBox’s implementation of the Remote Desktop service does not support all authentication and encryption features of the Microsoft implementation. Best use something like SSH port forwarding or a VPN when on an untrusted network.
2. VirtualBox’s documentation calls the remote desktop feature VRDP: Virtual Remote Display Protocol. You need to install the VirtualBox extension package before you can use VRDP, since parts of it’s implementation are not open source.