Windows Virtual Desktop (WVD) client devices overview and best user experience guide
Windows Virtual Desktop (WVD) is a desktop and application virtualization solution that runs from the Microsoft Azure platform. WVD doesn't as many features when compared with Citrix and other alternatives, however Microsoft are constantly announcing new capabilities and there have been some major improvements over last two years. In most cases, WVD is more than enough and itself is an ideal choice for many businesses (especially small to medium).
For large businesses, Citrix offers an increased a management layer over Microsoft’s WVD that maximises flexibility, security and optimizes costs. The cost of Citrix vs Windows Virtual Desktop is probably one of the biggest differences and benefits are in favour of WVD. Companies can adopt impressive list of capabilities in WVD as it provides: multi-session Windows 10 deployment, virtualize Office 365 ProPlus and optimize it to run in multi-user virtual scenarios, utilize FSLogix and MSIX app attach technologies and so on.
Since the COVID-19 pandemic began in early 2020, many people were forced to work from home. In some cases, users must use their personal laptops (sometimes old and slow), or just use specific thin client devices company provided, etc, to connect to their company’s desktops or applications. We spent a lot of time testing and implementing Windows Virtual Desktop, as such we wanted to share our findings related to client device configuration and user experience.
We will focus more on client devices and not much WVD configuration itself, because there are lots of articles and guides how to set up WVD already. If you have performant Windows 10 PC or laptop, everything should be straightforward. Just go to the link below, download Windows 64-bit/32-bit MSI installer, install it and subscribe to get the available resources:
We particularly recommend using WVD client MSI installer package as mentioned, instead of using one from the Microsoft Store. Even performance was similar, overall user experience is worse using Microsoft Store version, in our opinion.
A quick note regarding macOS or Android operating system endpoints, we have not had any use cases yet but this article will be updated once we have anything to share.
The most interesting part element is with Thin Client devices. In most cases, a Thin Client is low-performance computer, running Linux based, Windows 10 IoT or normal Windows OS, if device is capable to run that. Unfortunately, there are no Linux WVD client or SDK released by Microsoft yet, there has been talk of Microsoft announcing some plans for this for over for a year already. Until now only a couple of Microsoft partner companies have released WVD approved Linux Thin Client devices/OS, but that comes with added device/licensing costs.
The good news is that there is still the additional web client option for Linux or any other OS, which typically works a bit slower than dedicated OS client. The user experience may vary depending on device – it will be better on normal PCs/laptops, and slower on simple thin clients.
Below we are going to list our recommendations and findings while trying to maximize user experience using WVD:
- No matter if device supports H.264/AVC encoding (most of them should), recommendation is to enable AVC on all WVD virtual machines (Session Hosts). To take advantage of H.264/AVC graphics mode, following Group Policy setting needs to be enabled: Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment: ‘Prioritize H.264/AVC 444 graphics mode for Remote Desktop Connections’. In simplest case this Group Policy setting can be configured with Local Group Policy Editor (gpedit.msc).
- Enable hardware encoding for AVC/H.264, when used in conjunction with the AVC444 mode. Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment: ’Configure H.264/AVC hardware encoding for Remote Desktop Connections. If AVC/H.264 encoders are not available, the RDP automatically fallback to using Software, so it does not hurt just to enable this one.
- Theoretically, some other “Remote Desktop Session Host” policies, like "Use hardware graphics adapters for all Remote Desktop Services Sessions", "Configure compression for Remote FX data", "Configure image quality for RemoteFX Adaptive Graphics" and others, should impact WVD sessions as well, but we were not able to identify any noticeable differences while changing them. We are planning to test Azure WVD session host with GPU optimized VM size as well and run/compare through all policies again. But it appears that it would be rarely used in real world, due to extra price of GPU enabled azure VMs.
- Disabling Font Smoothing or adjust Windows system for best performance increase performance in the WVD session, but overall visuals are decreased, so test and decide depending on situation and users’ expectations.
- On Linux based Thin Client devices, when using WVD via web client, do not disable hardware acceleration on the browser. Even it looks like logical idea to test that out reaching for better performance on low performance device, but disabling it noticeably reduced user experience. This applies only to browser on thin Client itself, as changing hardware acceleration on the browser in the WVD session host did not make any difference at all. Comparing experience with different browsers inside the WVD session did not make any significant difference, really depends on the situation, but summarizing everything, Microsoft Edge probably is a winner with barely visible margin.
As already mentioned, Windows Virtual Desktop solution is improving fast and this article may be updated if we will have any new findings. Currently we are working on finding not only best user experience WVD solution, but most cost effective as well. It means finding and customizing Thin Client device, which will be simple to use and adjust as client to any popular desktop or application cloud-based delivery solution.