RemoteFX is new age Remote Desktop Protocol and enables the GPU (GPU card) virtualization which means sharing a physical graphics adaptor among the multiple virtual machines The virtual machines can offload rendering of graphics information from the processor to the dedicated graphics processing unit ( GPU card) attached to the host. This feature reduces Virtual machine ’s load on physical processors and improves the graphical stability.
After the Bitcoin Boom, RemoteFX again has come into picture. I have spent time to dig down the internet and collect information about this amazing technology. So, if you are looking for the same, you are at the right place. I have consolidated everything that you should know about RemoteFX to begin with, here in this article.
Use of the Remote Desktop Protocol(RDP) is not new and evolved as a great tool for remote desktop connectivity for Windows operating systems. Users want to use their work stations from diverse devices, through networks. The RDP has resolved their issues with its rich features like complete 32-bit color support, audio redirection and that too bidirectional, RDS Print, support for real multi-color monitor and Aero glass monitoring.
Then, what went wrong? Why we need RemoteFX at the first place?
To experience a great usability, complete Aero Glass features, and graphics, RDP depends on the resource and network capabilities of the client. That means, if the VM gets connected from a basic client, the user will not get the Aero Glass experience at all. Also, multimedia rendering experience is not smoother with RDP.
Here comes the RemoteFX technology. It empowers the user to experience a smoother pseudo-local desktop experience with a support of full graphics, and consistent multimedia including 3D videos, irrespective of the capabilities and power of the client used.
We can define RemoteFX as an enhancement of Microsoft Remote Desktop Services(RDS). This technology enables users to work on a remote environment on Windows Aero Desktop with a richer experience of graphics rendering.
That means they can watch full-motion videos, Silverlight Animations, and running 3D applications on their session based virtual machines through network connections. Users can experience all these things, while accessing their applications remotely over the network with a constancy and performance of a real desktop machine.
RemoteFX is not a standalone technology or product from Microsoft. RemoteFX is a combination of three RDP technologies that are meant for Hyper-V 2008 R2 SP1 enabled servers with Windows 7 Service Pack 1 client on virtual machines, which runs VDI environments. This Hyper V server operating system is free.
It is a very good platform to implement VDI environments. Unlike the Enterprise editions, you do not need a virtual guest right on the server. All you need is a virtualized environment. This is the reason, RemoteFX has become a buzzword after it is being used for mining bitcoins rigorously, though it is an age-old technology that exists from 2010.
RemoteFX is a combination of the goodness of RDS solutions for virtualization. It is made up of some session based virtualization and some other complex codes, which was introduced with Windows Server 2008.
We can use RemoteFX, as a tool for session-based virtualizations, virtual desktop infrastructure and/or a combination of these two. Here are some uses of this smart technology -
• We as system users, have become tech-savvy and mobile-oriented. To get along with the demand for remote system accesses, we can use RemoteFX along with RDS as a platform to provide the users a multisession and cost-effective solution for their daily work.
• RemoteFX provides the fidelity of real desktop in a local like environment through VDI. The remote applications have their own taskbar. We can move them across the monitors. We also can resize to the virtual environment. It allows the users to work in a secure and reliable remote environment through the experience of real customization.
• One of the three technologies of RemoteFX empowers the server to virtualize the GPU (graphics processing unit). This GPU then appears on the virtual machines running on the Hyper V Server. Windows 7 has some updated integration services that allow it to see this full-featured GPU and let the users use it without any need of additional software.
So, basically, RemoteFX is a set of RP protocols to give VM users a high quality, user experience through graphics virtualization and advanced coding. Using this flexible technology, users can experience seamless remote work through virtual desktops. This allows the use of Windows Aero Environment, run 3D applications through a performance close to native desktops.
RemoteFX provides a very consistent, high-end graphics with a higher constancy which works well regardless of the resources that clients use. With RemoteFX, you'll have the ability to experience remote desktop with complete features which enable the redirection of high-end graphics to the remote VMs. Therefore, RemoteFX usage is going to leap is future.
Here are some of its features and usage -
Graphics processing unit is a very important thing in the case where high -graphics are in demand. Technology that RemoteFX is based on, furnishes it with the ability to virtualize the Graphics Processing units or GPUs in the server. Then the GPU becomes available on the VM that is running on the server (Hyper V).
This virtualization of the entire GPU provides an awesome graphical experience to the VM users. High configuration servers and GPUs are essential for Cryptocurrency. Bitcoin mining has an essential use of GPU as it requires high graphical environment.
After the Bitcoin boom, GPUs are getting used through VMs over the LANs and WANs for mining. RemoteFX provides a seamless graphical experience to the VM clients irrespective of their powers and capabilities.
It offers real-time video rendering, a 3D application running, and other multimedia too. This is one of the reasons Bitcoin mining and cryptocurrency has started using the RemoteFX vigorously now. Another Reason for using RemoteFX in Cryptocurrency is that Hyper V server is free and now you can use it in a multipoint environment as well.
High-quality GPU virtualization, multimedia redirection, new improved features for seamless virtualizations through WANs, high level enhanced USB redirections, and 3D applications running -these have made RemoteFX the first choice for the gaming industry. High-end game developers and testers use RemoteFX for shared resources of high-end servers through VMs.
Though this is in a very initial or experimental stage, RemoteFX can essentially be used for gamification of businesses or anything. The potential of this technology in this field is still unleashed though.
People who work in knowledge-based industries and use various applications will now be able to use RemoteFX.
Applications such as Silverlight and Flash-based applications, USB devices that are used on VMs, VM based MS Office applications, Rich Media applications, Line-of-Business applications and many more – all these can be used on the virtual environments through RemoteFX.
Administrators who manage many standalone servers, server groups, VMs clients, or Host Server Remote Sessions can use RemoteFX. This will reduce the cost of high-end servers through creation of virtualized systems.
RemoteFX provides a rich and outstanding 3D experience in a remote environment. To get the 100% benefit of it, there are some technical considerations you need to keep a check on.
● RemoteFX supporting servers need high performance. Hence, the processor in the server that runs RemoteFX must be supporting L2 SLAT (Second Level Address Translation) for high-end performance.
● You need to have DitectX9.0 and DirectX1.0 supporting GPUs for graphical rendering during virtualization. Therefore, on the RemoteFX servers, at least one of such GPU is required. If more than one GPU is needed, they should be identical.
● If you require scalability in RemoteFX servers, you must install RemoteFX encoder in the RemoteFX server. It is optional though.
● Hyper-V hardware requirements are among the most essential requirements for RemoteFX to be up and running.
● For Live Migration option, the GPU of the source and destination servers must be identical.
RD Session host server that supports Streaming SMID Extensions 2 (SSE2) only can be used for RemoteFX on RD Session Host Server. If you need more scalability on your RemoteFX server, you may install RemoteFX encoder. This is an optional requirement.
Before we talk about the installation, let’s first understand, how RemoteFX functions.
The vGPU in the Microsoft RemoteFX enables the servers to virtualize the GPUs in the server. These virtualized GPUs then become available to the virtual machines that are running on the Hyper V Server.
Then the screen outputs, which are highly compressed bitmaps, are sent to the client. These screen outputs can include server side rendering of multimedia, Aero effects, other medias, applications, adobe flash based applications and Microsoft Silverlight based applications.
Rendering of all these things are actually performed in the Hyper V server within the Virtual Machines, and compressed images go to the client. In the client, the RemoteFX decoder decodes these images.
Then the ‘Intelligent Screen Capture’ functionality adjusts these outputs according to the capability of the client machine and the client side network. Thus, capabilities of the client don't matter anymore to provide a high end graphical rendering through RemoteFX.
Once a client virtual machine is added to the RemoteFX, it will show as a VM has a GPU in real and graphics memory will be allocated too, based on the configuration of the RemoteFX VM.
RemoteFX provides a never before graphical experience with a fidelity of native machines along with the following functionalities.
Multiple virtual desktops share a single GPU on a Hyper V server is shared. This happens, when RemoteFX exposes a WDDM Driver, which is a virtual graphics device to the virtual desktop.
Earlier network capability differences between host and the client used to take troll on the graphical experience on a remote desktop. Intelligent Screen capture understands these differences. It is used to check changes in screen contents between the frames and transmit the bits which are changed for encoding.
Host Side rendering provides the rendering on the host servers instead of the client servers. Also, it enables the host to send highly compressed bitmap images to the endpoint systems, which provides the experience of high quality graphical image rendering and performance like a native system.
RemoteFX encoder is used for the scalability and high performance of the RemoteFX servers.
USB redirection provides the flexibility of redirection of many devices to the Remote Desktop Virtualization host server at the USB level. Through this, no physical device is required on the client side and any device can be connected to the USB.
It decodes the highly compressed bitmaps that are sent to the client from the virtual desktops.
Microsoft Azure Provides the efficiency and flexibility to run your Windows Server, Hyper-V server on Azure cloud spaces. It also enables you to install and run RemoteFX on the Azure Reserved VM Instances. These highly efficient servers and instances are self-managed.
Medha Hosting provides one of the best solutions to all your Virtualization needs and server supports. You can get Microsoft Server Support, physical as well as RemoteFX Cloud Servers, and technical consultation along with 24*7 support environment. Medha Hosting provides fully managed services. That means you can leave everything from Server setup to installation of RemoteFX to them and concentrate on your business well through the RemoteFX benefits.
Amazon clouds enables you to deploy, manage and scale the Windows Servers efficiently and easily. You can install and setup RDP and RemoteFX on the Windows Servers on Amazon AWS. It provides secure, scalable, self-managed services for Microsoft Windows Server and Remote Desktop Protocols.
We have read enough about RemoteFX till now. Let’s dive into the real thing. We need to follow the below steps to install RemoteFX on the intended servers.
Installation of RemoteFX and prepare it to work for you, needs some preparation. H.ere are those.
First you have to checkout which Windows Server version is suitable for you which supports RemoteFX services.
The minimum requirement for installing RemoteFX is Windows Server 2008 R2 SP1. You may use any of the versions like Standard, Enterprise or Datacenter, but you have to do the full installation for these servers. You may use Hyper V Server 2008 R2 SP1.
Running a full installation only will enable you to use Server Core for installing VDI environments. Other than that, you may use Windows Server 2012 R2, Windows Server 2016 Hyper V for the upgraded features.
Here is the list of supported GPU accelerations on VMs provided by Microsoft.
Image Source: https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-supported-config
Well, the hardware requirements are very crucial for any type of VDI environment, including the RemoteFX.
● To virtualize a graphics processing unit on a server and make the GPU work like a real server side graphical rendering on the VM machine, you need a Graphics Processing Unit. Hence, the first requirement for installing RemoteFX is to get a GPU in the Windows 2008 R2 SP1 server or the Hyper V Server.
● The GPU you will use in the Server must support Direct X9.0c and DirectX10.0.
● GPU should be having a dedicated memory for high graphical rendering.
● Memory requirements depend on certain factors. One of them is your requirement of Virtual Machines to configure.
● You must use Identical GPUs must be used if you require more than one GPU in the Hyper V server.
There are some requirements for RemoteFX vGPU which we need to take care of and that from the planning stage itself.
For the full featured advanced RemoteFX GPU settings, you need the following.
● Windows 10 or Windows Server 2016(You may use older versions as well according to the compatibility shown in the table above.
● GPU that is compatible with DirectX 11.0 along with WDDM 1.2 compatible driver.
● Remote Desktop Virtualization Host Role enabled Windows Server which enables Hyper V Role.
● Second Level Address Translation supported CPU along with physical server.
The guest machine should be able to run a Windows Server, like Windows Server 2008 R2, Windows Server 2012 R2 or Windows Server 2016 OR a Windows Enterprise version client like Windows 7 SP1, Windows 8.1 or Windows 10.
To install RemoteFX, here are some steps we need to follow.
Suppose we are enabling RemoteFX on a Windows Server 2012 R2 environment. So, the process will be like the following -
● Install the Windows Server 2012 R2 first or make sure it is installed already
● You need to verify that the CPU supports SLAT using Systeminfo
● Install a display driver which supports WDDM 1.2 and DirectX 11 at least
● Use DxDiag to verify DirectX 11
● Windows SKU running inside the virtual machine must be Windows 8 Enterprise at least.
● Add the Hyper V Role to the Server
● Add the RDS or Remote Desktop Services
● Install and configure RemoteFX on the top of it.
So let's follow it step by step to install and enable RemoteFX.
Here, we'll see how to set up and configure RemoteFX on Windows Server 2012 R2 with a Hyper V host. For RemoteFX vGPU, we assume we are having a DirectX11.0 compatible graphics adapter in the VMs we are going to use.
To install Hyper V Role on a server we can either use the Power Shell method or we can use the graphical Server Manager wizard.
First launch the PowerShell from the taskbar icon.
● On the PowerShell terminal, type “Get-WindowsFeature”. You’ll get the list of the features you can install.
● Now type ‘Install-WindowsFeature Hyper-v –IncludeManagementTools’
● After it is installed and the cursor is back, Restart the Windows.
Open the Server Manager First and then follow the below steps.
● Click on "Add roles and features". Below screen will appear.
● Click Next and you get the following screen.
● Select “Select Role-based or Feature-based installation and click on Next.
● Select the server from the Server Pool option and click on Next.
● On this screen click on Add Features and the following screen will appear.
● Select Hyper-V and click Next.
● On this screen click on next unless you want to add additional features.
• Click on Next.
• If you want to add external interfaces, you may select LAN. We click on Next.
• Click on Next. These settings can be changed later as well. So, we are just skipping the screen leaving it as it is.
• We need to modify the default locations to the destination as we require on our system. Then click on Next.
• Next, a warning screen appears. On this, we need to click on Yes to restart server automatically later without appearing of any additional notification later.
• Save and Close everything before you start the installation of Hyper-V. By clicking on Install, you just enable the system to start the installation of Hyper-V Role.
• Now, you need to click on Close after the Hyper V server is installed. Now, it is ready to get configured.
Once the Hyper V is installed on Windows Server, you can readily start configuring it. You need to select the local server which you want to add the role into first.
Then, use the Add Roles and Features wizard to add the role to the server. You’ll sell a screen like below with the Hyper-V status as “Installed”.
Now follow the steps of the wizard as required to finish up adding the Hyper-V Role configuration.
After adding the Hyper-V Role, The Hyper-V Manager will be available after you add the Role.
To make the RemoteFX up and running, you need to install Remote Desktop Virtualization Host(RDVH) and make it up and running on the machine, which Hyper-V server is installed upon.
A Remote Desktop Licensing Server should be available on the network, so that RDVH gets the confirmation about Remote Desktop Access Licenses from the Remote Desktop Licensing Server.
To install the RDS, you need to log on to the Domain Controller and open the Server Manager. Then right click on the "All Servers Node" and select the target server by - right click on All Servers Node, then click on Manage and finally click on Add Servers.
Next, you need to click on "Add Roles & Features".
Click on Next.
Click on Remote Desktop Services Configuration and click on Next.
Now we need to select the deployment options. It is safer to use the Standard Deployment for a standard installation.
Click on Next and then click on the session based desktop deployment. Click on Next.
Click on the server your intent and then click next.
After specifying the RD session host, you need to restart the server to complete the installation.
Click on Deploy.
To Install the Remote Desktop License, you need to follow these steps.
• First, start the Remote Desktop Licensing Manager. Then you need to connect to the machine where the RDLM server is running on.
• Now, go to the Server Nodes Context Menu-> Open Properties menu. Check that the connection method is set as Automatic Connection. You need to enter the required information like Name, Company Name, country etc. for licensing purpose.
• After selecting the option Install Licenses which is there in the server node's context menu.
• On the Install Licenses wizard, you need to select the licensing program you require. Click on Next.
• In the next step, you need to enter the license information that you have purchased.
• Now the Wizard will install the RDS license program to complete the licenses. You can check the installation status in Remote Desktop Licensing Manager.
After the installation of RDS host and RDS License, RD Licensing Diagnoser becomes available like this.
2. Now open the ‘Use the specified Remote Desktop license servers’ window to set up the policy.
3. Next step is to open the Remote Desktop licensing mode window. Specify the licensing policy for each device after enabling the policy setting by clicking on Enable.
4. After setting the policy RD Diagnoser looks like this.
1. Once the installation of Hyper V Role and Remote Desktop Virtualization Host Role is done, you need to open the Hyper V Manager interface.
2. In the Hyper V Settings, you need to select the physical GPU support
3. Navigate to Virtual Machine settings.
4. Select Add Hardware to add the RemoteFX 3D Graphics adapter to the VMs which are essentially Windows 8 Enterprise edition or Windows Server 7 enterprise
5. Now select RemoteFX 3D Video Adapter in the Windows 8 RemoteFX settings screen and click on Add.
6. Now it is time to add a maximum number of monitors and resolution which will be used by the RD Clients connected to the virtual machine. Navigate to the properties of the RemoteFX 3D video adapter.
7. Click on OK to save the changes.
8. Now verify that the Microsoft RemoteFX Graphics Device -WDDM is being recognized as a display adapter during the connection request to the Remote Desktop Client by checking the device manager
This completes the installation and configuration of the RemoteFX vGPU.
To enable the RemoteFX compression, we need to follow the below steps.
1. First, you need to log on to the RDSH-SRV as a member user of the local administrator group.
2. Now click on Start, click on Run type gedit.msc and click OK.
3. Now navigate to the directory ConfigurationAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostRemote Session Environment.
4. Then double click on the Configure RemoteFX option, click on Enabled and click OK.
5. After a Reboot, RemoteFX is ready for a test.
6. Open the Event Log and check on ‘Enable Analytics and Debug’ log option.
7. Navigate to the Remote Desktop Session Manager through Application and ServicesLogsMicrosoftWindowsRemoteDesktopServices-RemoteDesktopSession Manager.
From the Event ID shown in the Session Manager, we can decide RemoteFX is working or not.
I. If the Session ID shows 1000, it means the system is connected to the Remote Desktop session using the RemoteFX for the RD Session host.
II. Event ID 1001 will be shown if the RemoteFX hardware compression is not getting used for RD Session host.
To optimize the visual experience and performance, the experience index for RemoteFX can be configured by using these policy settings.
●Navigate to Computer “Computer ConfigurationPoliciesAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostRemote Session Environment”.
● Now Enable the option Optimize Visual Experience when using RemoteFX.
● Now, in the Screen Capture Rate (Frames Per Second) box, click on the ‘Highest Best Quality Option'.
● Click OK.
● Now, check the Enabled option and click on OK button.
● Reboot the RDSH server.
The settings for best visual experience will be applied.