Do you have a VMware Horizon View VDI environment and some power users you’d like to optimize? I’ve got some optimizations that you can easily apply via the VMware Horizon GPO (Group Policy Object) bundle.
These are performance optimizations and configurations that I have rolled out for my own persistent desktop to optimize the experience for myself. These optimizations may use more resources to provide a better experience for power users.
Please note that these optimizations are not meant to be deployed for large numbers of users unless you have the resources to handle it. Always test these settings before rolling out in to production.
VMware Horizon GPO Bundle
As part of any VMware Horizon View deployment, you should have installed the VMware Horizon GPO Bundle. This is a collection of ADMX GPO (Group Policy Object) templates that you can upload to your domain controllers and use to configure various aspects of your VMware Horizon deployment.
These GPOs can be used to configure both the server, VDI VMs, VMware Horizon Clients, and various configurables with the protocols (including VMware Blast) being used in your deployment such as VMware BLAST, PCoIP, and RDP.
Below, you’ll find some of my favorite customizations and optimizations that I use in my own environment to enhance my experience.
For more information on the VMware Horizon GPO Bundle, please visit the VMware Horizon Documentation – Using Horizon Group Policy Administrative Template Files.
In this post, I’ll be covering the following:
- VMware Blast: Framerate
- VMware Blast: H. 264 Quality
- VMware Blast: Max Session Bandwidth kbit/s Megapixel Slope
- VMware Horizon Client Configuration: Allow display scaling
- VMware Horizon Client Configuration/View USB Configuration: Allow keyboard and Mouse (HID) Devices
- VMware View Agent Configuration/View RTAV Configuration/View RTAV Webcam Settings
- VMware View Agent Configuration/VMware HTML5 Features/Enable VMware HTML5 Features
- VMware View Agent Configuration/VMware HTML5 Features/VMware HTML5 Multimedia Redirection
- VMware View Agent Configuration/VMware HTML5 Features/VMware WebRTC Redirection Features
Let’s begin!
VMware Blast: Framerate
Do you have a GPU for your VDI session and extra bandwidth? If so, let’s crank that framerate up for a smoother experience! Configuring this variable will increase the default framerate to 60 fps (frames per second).
Computer Configuration -> Policies -> Administrative Templates -> VMware Blast -> Max Frame Rate
Let’s set this to “Enabled” and set it to 60.
VMware Blast: H. 264 Quality
If you have a GPU to offload H. 264 and the available bandwidth, you can change this setting to reduce the
Computer Configuration -> Policies -> Administrative Templates -> VMware Blast -> H. 264 Quality
There are two values for this setting, “H. 264 Maximum QP” and “H. 264 Minimum QP”. These control how much processing and compression is used on the VMware Blast h. 264 session.
To increase the quality (and bandwidth usage) of the session, you can decrease these to reduce the amount of compression. In my case I reduced both by “5” from their default values which made a big change.
VMware Blast: Max Session Bandwidth kbit/s Megapixel Slope
This setting will increase the amount of available bandwidth for the Horizon Blast h.264 video stream.
Computer Configuration -> Policies -> Administrative Templates -> VMware Blast -> Max Session Bandwidth kbit/s Megapixel Slope
The default is “6200” and I recommend playing with this a little to find out what suits you best depending on the other changes you made, especially with the 2 items above.
You can try doubling, tripling, or quadrupling this value depending on what’s required and how much available bandwidth you have.
VMware Horizon Client Configuration: Allow display scaling
Users are usually connecting from all sorts of devices, including laptops, tablets, and more. When connecting to a VDI session with a laptop or tablet that is using display scaling because it has a high native resolution, it may be extremely difficult to read any text because scaling is disabled on the VDI session.
To allow display scaling in the VDI session, we need to enable it via GPO on both the “Computer Configuration” and “User Configuration”.
Computer Configuration -> Policies -> Administrative Templates -> VMware Horizon Client Configuration -> Allow display scaling
And we’ll set “Allow Display Scaling” to “Enabled”.
User Configuration -> Policies -> Administrative Templates -> VMware Horizon Client Configuration -> Allow display scaling
And we’ll also set that “Allow Display Scaling” to “Enabled”.
Configuring this will allow you to configure display scaling on the VMware Horizon View client. After enabling this, it automatically configures scaling to match what I have configured on my connecting workstation (such as my Microsoft Surface Tablet, or my Lenovo X1 Carbon laptop). You also have the ability to manually configure the scaling on the session.
VMware Horizon Client Configuration/View USB Configuration: Allow keyboard and Mouse Devices
While you never want to use USB Redirection for keyboards and mice, you may need to use USB redirection for various HID (Human Interface Devices) that appear as keyboards or mice. You may need to enable this to make the following devices work:
- 2FA/MFA Security Tokens
- Security Keys
- One Touch Tokens
In my case, I had a Yubico Yubikey security key that I needed passed through using USB Redirection (more on that here) to authenticate 2FA sessions inside of my VDI session.
To enable the passthrough of keyboards and mice (HID) devices, change the following.
Computer Configuration -> Policies -> Administrative Templates -> VMware Horizon Client Configuration -> View USB Configuration -> Allow keyboard and Mouse Devices
We’re going to go ahead and set “Allow keyboard and Mouse Devices” to “Enabled”.
VMware View Agent Configuration/View RTAV Configuration/View RTAV Webcam Settings
Using a webcam with VMware Horizon and RTAV (Real Time Audio Video), you may notice a slow frame rate and low resolution on your webcam going through the VDI session.
Here, we’re going to increase the fps (frames per second) and resolution of RTAV for VMware Horizon.
Computer Configuration -> Policies -> Administrative Templates -> VMware View Agent Configuration -> View RTAV Configuration -> View RTAV Webcam Settings
We’re going to “Enable” the following and set the values below:
Max frames per second = 25
Resolution - Default image resolution height in pixels = 600
Resolution - Default image resolution width in pixels = 800
Resolution - Max image height in pixels = 720
Resolution - Max image width in pixels = 1280
You’ll now notice a clearer and higher resolution webcam running at a faster framerate.
VMware View Agent Configuration/VMware HTML5 Features/Enable VMware HTML5 Features
There’s numerous HTML5 optimizations that VMware has incorporated in to the latest versions of VMware Horizon View. These include, but are not limited to:
- HTML5 Multimedia Redirection
- Geolocation Redirection
- Browser Redirection
- Media Optimization for Microsoft Teams
We want all this good stuff, so we’ll head over to the following:
Computer Configuration -> Policies -> Administrative Templates -> VMware View Agent Configuration -> VMware HTML5 Features -> Enable VMware HTML5 Features
We’ll set “Enable VMware HTML5 Features” to “Enabled”.
I highly recommend reading up and briefing yourself on HTML5 Multimedia Redirection, along with over Remote Desktop Features over on the VMware Horizon 2013 Documentation – Configurating Remote Desktop Features.
VMware View Agent Configuration/VMware HTML5 Features/VMware HTML5 Multimedia Redirection
So there’s this little thing called “HTML5 Multimedia Redirection”, where when configured and the plugins are installed, VMware Horizon will essentially redirect HTML5 based multimedia from the VDI session to your local system to handle.
This offload makes video extremely crisp and smooth, however comes with some concerns, security risks, and learning on your part. When you enable this, you only want to do so for trusted websites.
Computer Configuration -> Policies -> Administrative Templates -> VMware View Agent Configuration -> VMware HTML5 Features -> VMware HTML5 Multimedia Redirection
In this location, we need to set “Enable VMware HTML5 Multimedia Redirection” to “Enabled”. After this, we need to configure the URL list for domains and websites that we will allow HTML5 Multimedia Redirection to work with.
To do this, we’ll set “Enable URL list for VMware HTML5 Multimedia Redirection” to “Enabled”, and then add YouTube to the exception list to allow HTML5 Multimedia Redirection for YouTube. In the URL list, we will add:
https://www.youtube.com/*
And that’s it!
VMware View Agent Configuration/VMware HTML5 Features/VMware WebRTC Redirection Features
We’re all using Microsoft Teams these days, and while Microsoft Teams does have VDI optimization, you need to enable what’s needed on the VMware Horizon side of things to make it work.
To do this, head over to:
Computer Configuration -> Policies -> Administrative Templates -> VMware View Agent Configuration -> VMware HTML5 Features -> VMware WebRTC Redirection Features
We’ll set “Enable Media Optimization for Microsoft Teams” to “Enabled”.
In order for Microsoft Teams VDI optimization to function, there are steps involved with the installation which aren’t covered in this post. For these steps, make sure you check out my guide on Microsoft Teams VDI Optimization for VMware Horizon.
Conclusion
Leave a comment and let me know if these helped you, or if you have any optimizations or tweaks you’d like to share with the community!