Google Chrome 45.x Blocks GPU Acceleration for WebGL, Direct2D, DirectWrite with Citrix XenApp on Windows 2008R2/2012/2012R2

Solution: Google Chrome 45.x Blocks GPU Acceleration for WebGL, Direct2D, DirectWrite with Citrix XenApp on Windows 2008R2/2012/2012R2

Google Chrome v. 45  have changed their behaviour of their web browser, so they are blacklisting GPUs, which means hardware acceleration is disabled by default in a Remote session this behaviour is seen in Microsoft RDS with RemoteFX, Citrix XenApp 6.5 -> 7.6 with vGPU/GPU pass-through. Behaviour is also seen on Linux environments with Google Chrome.

Issue highlightet in a Citrix XenApp 7.6 (2008R2/2012/2012R2) with GPU

Open Google Chrome and type in chrome://gpu and then you will see if your RDS/XenApp with a GPU is working or not.
With Google Chrome v 45 the default behaviour is now that Google choose to disabling the GPU.

browser - chrome xa 2012r2 cpu issue - graphics feature issue

Google Chrome experience with a GPU (Citrix XenDesktop vs Citrix XenApp)

browser - chrome xd vs xa gpu - 2008R2 vs Win7

above picture confirms the GPU is not enabled in Google Chrome with RDS/XenApp

interesting is that Multiple Raster Threads in Win7 with a GPU is disable… why lets find out.

This is properly because you haven’t configured the CPU correctly in the hypervisor for the virtual machine.
* hint I did on purpose so you can understand it can be complex to troubleshoot if you don’t configure your environment correctly.

browser - chrome win7 cpu issue fix
best practices with HDX 3D Pro is 4 vCPU and in XenServer 6.5 you configure it 2:2

Then Multiple Raster Threads works in Win7 after you changed the configuration of the CPU on the Win7 vm.

browser - chrome win7 cpu fix

browser - chrome win7 cpu issue fixed

below picture confirms the GPU is not enabled in Google Chrome with RDS/XenApp in Server 2012R2

browser - chrome xd vs xa gpu - 2012r2 vs win81

Now we have validated that the GPU is blacklisted in RDS/XA with a GPU, lets see if we can fix this.

Performance with a WebGL web app in Google Chrome

CPU is very high when the Google Chrome is running the WebGL application. This is because its using the CPU to do software rasterize of the GPU and this makes your user able to run a webgl application without a GPU, but wait. We actually have a GPU in our RDS/XA server now, why is this not offloading the CPU, thats because Google desided to turn off GPU and blacklist them.

browser - chrome xa 2012r2 cpu issue

Solution

  1. Edit Google Chrome link and after the chrome.exe add
    –ignore-gpu-blacklistgooglechrome
  2. Open Google Chrome and run chrome://gpu in the browser
  3. Check if Hardware acceleration is now working for all functions in Google Chrome

browser - chrome xa 2012r2 cpu issue - graphics feature

GPU hardware acceleration is now working in RDS/XA with a GPU in Google Chrome and CPU is now offloaded to the GPU as you can see in the below picture.

browser - chrome xa 2012r2 cpu issue fixed

 

 

 

Comments (3)

  • Hey Thomas,

    nice article! I was wondering if you have a link to an official statement of Google (Chrome) about this change. I’m having the opposite experience with V45. Each time I start it, Hardware accelaration is used, except for Canvas, Multiple Raster Threads & Rasterization. I’m using it on a non GPU accelerated XenApp 6.5 farm on 2008 R2 OS.

    Thanks in advance

Leave a Reply

Your email address will not be published. Required fields are marked *

Turn on pictures to see the captcha *