Wednesday, March 9, 2011

How to enable and test RemoteFX on RDSH

As a followup on my previous post about Remote FX for RDSH, and with SP1 for both Windows Server 2008 R2 and Windows 7 being available for download let’s see if we can get a basic RemoteFX for Remote Desktop Session Host running!
As a quick recap, what is RemoteFX in a nutshell? RemoteFX is not a standalone product from Microsoft. It’s a set of RDP technologies that is added to Windows Server 2008 R2 SP1.
“.. With Microsoft RemoteFX, users will be able to work remotely in a Windows Aero desktop environment, watch full-motion video, enjoy Silverlight animations, and run 3D applications – all with the fidelity of a local-like performance when connecting over the LAN. Their desktops are actually hosted in the data center as part of a virtual desktop infrastructure (VDI) or a session virtualization environment (formerly known as Terminal Services)..”
RemoteFX for VDI has been the most heard combination but RemoteFX on RDSH can actually give more benefits then you might suspect. Quick reminder of a blogpost from Brian Madden on this:
“…In the case of a Terminal Server running RemoteFX, you'll actually have an increase in CPU usage on the server since you can't offload the RemoteFX encoding to the GPU. (The exact amount of the increase will vary depending on your workload.) However, the actual traffic over the network will decrease since you're spending more effort on the host encoding and compressing the traffic. You'll also typically end up with a better user experience because of this! (That's right! A Terminal Server running RemoteFX with the CPU-based encoding will typically provide a better overall user experience than a non-RemoteFX RDP session!)…”

So, lets get started…What are the minimum requirements in this test-setup? I used the following virtual machines:
- Windows Server 2008 R2 Domain Controller
- Windows Server 2008 R2 SP1 RD Session Host
- Windows 7 SP1 client to run the RDP session on
So after setting up the basic stuff we have the domain running and have added the machines to it. We have configured the RD Session Host with the appropriate roles and created a group to allow them connections via RDP. As said, we need SP1 to enable RemoteFX on the RD Session host. Before running SP1 the option “configure RemoteFX” simply isn’t available in the Policy (see below)
 So let’s get that SP1 running! Updating it is pretty straight forward, we download ISO, run the setup and after accepting some license terms we hit Install.
And after the reboot we’re up & running
And there we have the new options in the policy:
Now let’s take our Windows 7 client to SP1 as well, same procedure as previously.
Now let’s enable and configure RemoteFX for the RD Session Host server:
To enable RemoteFX compression
  1. Log on to RDSH-SRV as a member of the local Administrators group.
  2. Click Start, click Run, type gpedit.msc and then click OK.
  3. Navigate to Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Remote Session Environment.
Double-click Configure RemoteFX, click Enabled, and then click OK..
After a quick reboot of the RD Session Host to make sure the policy applied, we open up a session to the Windows 7 client and open up a Remote Desktop Client. We set the experience to LAN (10 Mbps or higher).
We enter the name to the RD Session Host server and hit connect. We’re now connected to the RD Session Host server with RemoteFX enabled. But…how can we make sure of this?
We open up the eventlog and we enable Analytic and Debug Logs
And then browse to
Application and Services\Logs\Microsoft\Windows\RemoteDesktopServices-RemoteDesktopSession Manager.
    • If the computer is connected to the RD Session Host by using RemoteFX for Remote Desktop Session Host, Event ID 1000 will be shown.
    • If the RemoteFX hardware compression was used, Event ID 1001 will be shown.
To conclude, we can configure the experience index for RemoteFX connections by using the following policy settings:
Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Remote Session Environment.
Enable Optimize visual experience when using RemoteFX.
In the Screen capture rate (frames per second) box, click Highest (best quality), and then click OK.
Select the Enabled option.
In the Screen Image quality box, click Highest (best quality), and then click OK.
A reboot of the RDSH server to apply the settings and we’re done!
Related articles and blogs:
* http://technet.microsoft.com/en-us/library/ff817595(WS.10).aspx
* http://www.brianmadden.com/blogs/brianmadden/archive/2011/03/03/can-you-connect-to-a-terminal-server-via-remotefx-yes-here-s-what-you-need-to-know.aspx
* http://technet.microsoft.com/en-us/library/ff817602(WS.10).aspx
* http://technet.microsoft.com/en-us/library/ff817578(WS.10).aspx

3 comments:

  1. Thanks for the very informative article!

    I am trying to connect to an RDSH server (a Win 2008 R2 Enterprise SP1 64-bit VM) using a Win7-SP1 Client VM. Even after enabling RemoteFX using gpedit (and rebooting the RDSH server), the session is still RDP7, because the Event ID is 1000. Are there any settings I need to do on the client to use RemoteFX? Appreciate any helpful suggestions!

    ReplyDelete
  2. hi Freek,

    Gr8 post,
    i was configuring RemoteFX in windows server 2012, i have enabled the "configure remotefx" option from GP but still in the Hyper-v Settings there are no GPU shown.I am using Graphics card which comes with the motherboard (intel DH67CL), drivers for the graphics card are installed.
    am i missing something...Please suggest.

    Thanks
    Pranay.

    ReplyDelete