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.
Google Chrome experience with a GPU (Citrix XenDesktop vs Citrix XenApp)
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.
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.
below picture confirms the GPU is not enabled in Google Chrome with RDS/XenApp in Server 2012R2
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.
Solution
- Edit Google Chrome link and after the chrome.exe add
–ignore-gpu-blacklist - Open Google Chrome and run chrome://gpu in the browser
- Check if Hardware acceleration is now working for all functions in Google Chrome
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.