Check the hardware acceleration settings in you’re VDI environment

When having for example Windows 10 VDIs it important to know the hardware acceleration setting of you’re applications. When there isn’t a GPU (such as NVIDIA M10 or a NVIDIA Tesla T4) installed and hardware acceleration is enabled in the application this can introduce strange problems such as black screens and performance issues.

When no GPU is installed: disable hardware acceleration and when a GPU is installed: enable the hardware acceleration in the application.

I created a script to check the GPU hardware acceleration registry keys for the following applications:
– Office 2016/365 (For Office 2013 and 2019 you need to change the script)
– Google Chrome
– Mozilla Firefox
– Internet Explorer 11
– Microsoft Edge based on Chromium

If you have other applications to check let me know. The script can be found on my GitHub page found here.

What Windows 10 version for my VDI desktop?

In a VDI project one of the questions in the design phase is always:  “What version I use for my Windows 10 VDI desktop?”. Before Windows 10, the Operating System release cycle was approximate 3 to 5 years. With Windows 10 a new release management concept is introduced called “Windows as a Service (WaaS)”. WaaS includes:

  • Feature updates: Twice a year new feature updates to Windows 10 will be released
  • Quality updates: Deliver both security and non-security fixes every month on patch Tuesday such as:
    • Security updates
    • Critical updates
    • Servicing stack updates
    • Driver Updates
  • Servicing channels: Allow organizations to choose when to deploy new features. The following channels are available:
    • Semi-Annual Channel (SAC):  This is also known as the Current Branch. Receive feature updates twice a year (Around March and September/October) with a 18/30 months support cycle. SAC releases numbers are for example: 1703, 1709, 1803 and 1809. (1809 stands for 18 = 2018, 09 = September).
    • Long Term Servicing Branch (LTSB) that is now called the Long Term Servicing Channel (LTSC). LTSC shares the same codebase as Windows 10 IoT and is only available when having a Windows 10 Enterprise license. The typical use cases are embedded systems such as manufacturing or medical equipment and KIOSK systems that don’t run Office and receive new feature updates every 2 to 3 years. LTSC comes with 10 years support cycle and looks like an Operating System release cycle before Windows 10 such as Windows 7 for example. The new announced LTSC version is called: Windows 10 2019 LTSC build 1809.
  • Deployment rings: are groups of devices used to initially pilot, and then to broadly deploy, each feature update in an organization

So we can choose between two servicing channels. Here is a quick comparison table between the two channels:

LTSB/LTSC Semi-Annual Channel (SAC)
Support 10 years 18/30 months (Windows 10 Support lifecycle, link.)
Latest new features or security enhancements No Yes
Support for new hardware (silicon) and Surface No Yes
Default browser(s) Internet Explorer 11 Internet Explorer 11, Microsoft Edge
Office LTSC only supports Office 2019.

On January 14, 2020 , Office 365 ProPlus will be no longer supported on LSTC or the older LTSB version (link)

Yes
Updates and Security updates Yes Yes
Office support Yes Yes
Universal Apps Support Yes Yes
Cortana support No Yes
Windows Store No Yes
Windows Ink and MS camera support No Yes
Includes non-business apps like Xbox, Minecraft, Candy crush No Yes
ConfigMgr Express Update No Yes
OneNote

OneDrive files on demand that is introduced in release 1709 is not included in LTSB 1607.

No Yes

The advice from Microsoft is to use SAC channel over a LTSB/LTSC channel. Ask yourself the question: Why do I use a Windows OS? My personal answer on this question is: Because I need to run legacy Windows apps.  So a stable OS that requires less patching and overhead can be more relevant than having the latest features which involves more management, testing  and overhead. But more and more customers are migrating to Office 365.  Office 365 ProPlus delivers cloud-connected and always up-to-date versions of Office desktop apps. This requires Windows Update OS requirements for Office 365 ProPlus which means you’re stuck with the SAC channel.

For choosing between the Professional and the Enterprise edition there is a comparison table available link. Windows 10 Enterprise has for example more advanced security and management functions and support for LTSC.

When deciding what channel and Windows 10 version release to use, ask yourself the following questions:

  • Define the business scope, requirements, constrains, assumptions and risks.
  • What Windows 10 versions are supported by my VDI brokers and software such as Citrix XenDesktop, VMware Horizon, App Volumes and NVIDIA for example?
  • Are we going to use Office 365?
  • Do my applications support the channel and version? Ask the software vendors.
  • Define a update and patch management plan.
  • Perform a Proof of Concept (PoC).

I hope this blog post makes it easier to choose the right Windows 10 version for the VDI desktop.

Windows 10 with Horizon View Agent generates BSOD

After installing the VMware Horizon View Agent (6.1.1)  on a Windows 10 (tested with build 10240), it generates a Blue Screen Of Death (BSOD) when pressing Ctrl+Alt+Del/Ins.

PSOD

 

The error is: DRIVER_IRQ_NOT_LESS_OR_EQUAL (kbdclass.sys).

To fix the problem (The solution was found on the Microsoft Community site, link):

  • RDP to the Windows 10 VM
  • Edit HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E96B-E325-11CE-BFC1-08002BE10318}\UpperFilters
  • Put the kbdclass before the vmkbd value
  • Reboot the VM

Upperclasses Uppper2

After changing the UpperFilters value I was able to login the Horizon View desktop without BSOD.