Skip to main content

Mozilla Firefox 40.x Blocks GPU Acceleration for WebGL, Direct2D, DirectWrite with Citrix XenApp on Windows 2008R2/2012/2012R2

Mozilla Firefox 40.x Blocks GPU Acceleration for WebGL, Direct2D, DirectWrite with Citrix XenApp on Windows 2008R2/2012/2012R2

One of the great things about adding a GPU in a Citrix XenApp environment is that you can allow rich graphics and offload CPU and run your DirectX, OpenGL  applications on a XenApp server. In latest version of Mozilla Firefox WebGL, Direct2D, DirectWrite this have been disabled, so you can’t open webpages that uses these graphics in a Citrix XenApp session.

Symptoms or Error

If you open Mozilla Firefox 40.x and try to open a webGL website like http://madebyevan.com/webgl-water
this will not load anymore cause WebGL is default now disabled in Mozilla Firefox. Mozilla Firefox 40.x  blocks GPU acceleration for WebGL, Direct2D, DirectWrite in remote sessions on Windows Server operating systems.

2015-09-15_1553

To determine what content Firefox is blocking, run Firefox in your XenApp remote session and enter the address about:support into the browser address bar. In the section labelled “Graphics” you will see the following content disabled (as of Firefox version 40.0.3):

Direct2D Enabled             Blocked for your graphics card because of unresolved driver issues.
DirectWrite Enabled         false (6.3.9600.17999)
WebGL Renderer             Blocked for your graphics card because of unresolved driver issues.

2015-09-15_1555

Solution

The text “Blocked for your graphics card” is misleading as, in this case, it is not the specific graphics card but general Windows Server operating system remote sessions that are blocked. Mozilla’s published advice on how to override the graphics driver blocks also applies to XenApp sessions on workstation operating system (see bottom of this Mozilla Wiki – Blocklisting/Blocked Graphics Drivers).

Enable WebGL in Mozilla Firefox

In Mozilla Firefox entering the address about:config into the address bar and setting webgl.force-enabled=true will enable WebGL for XenApp on operating system (Server 2008R2/2012/2012R2)

webgl

 

You can double click on it and then it will become enabled. (with the value=true) and this is user set.
These settings can be change with a policy or with profile management such as RES Workspace Manager or others.

webgl-working

Now you can open the WebGL demo and the graphics will work

2015-09-15_1557

Enable DirectDraw2D

In Mozilla Firefox entering the address about:config into the address bar and setting gfx.direct2d.force-enabled=true will enable WebGL for XenApp on operating system (Server 2008R2/2012/2012R2)

direct2d

You can double click on it and then it will become enabled. (with the value=true) and this is user set.
These settings can be change with a policy or with profile management such as RES Workspace Manager or others.

direct2d-working

Enable DirectDraw2D

In Mozilla Firefox entering the address about:config into the address bar and setting gfx.font_rendering.directwrite.enabled=true will enable DirectWrite for XenApp on operating system (Server 2008R2/2012/2012R2)

directwrite

You can double click on it and then it will become enabled. (with the value=true) and this is user set.
These settings can be change with a policy or with profile management such as RES Workspace Manager or others.

directwrite-working

Users should be aware and note the caveats and warnings that Mozilla advises if taking this route to above settings for DirectWrite, Direct2D, WebGL

This issue only affects server operating system (example – Win 2012 R2 and Win 2008 R2) and XenApp.

How to force-enable blocked graphics features

If you would like to forcibly enable a graphics feature that is blocked on your system, follow these instructions. Warning: do this at your own risk. There usually are good reasons why features are blocked.

To force-enable WebGL, go to about:config and set webgl.force-enabled=true.

To force-enable WebGL anti-aliasing, go to about:config and set webgl.msaa-force=true.

To force-enable Layers Acceleration, go to about:config and set layers.acceleration.force-enabled=true.

On Windows Vista and Windows 7, to force-enable Direct2D Content Acceleration, go to about:config and set gfx.direct2d.force-enabled=true.

On Android, to force-enable StageFright software decoding, go to about:config and set stagefright.force-enabled=true.

On Windows, you can also spoof your graphics system information to help debug driver blacklisting issues (see bug 604771):

  1. Create spoofed-firefox.bat in the installation folder (e.g. C:\Program Files (x86)\Mozilla Firefox)
  2. Set the new values of spoofed variables ending with a command to launch Firefox:
    SET MOZ_GFX_SPOOF_WINDOWS_VERSION=60001
    SET MOZ_GFX_SPOOF_VENDOR_ID=0x8086
    SET MOZ_GFX_SPOOF_DEVICE_ID=0x0046
    SET MOZ_GFX_SPOOF_DRIVER_VERSION=8.15.10.2302
    “C:\Program Files (x86)\Mozilla Firefox\firefox.exe” -p -no-remote
  3. Double-click spoofed-firefox.bat and create a profile if required
  4. Click the Firefox button, then select Help, finally Troubleshooting Information and check the Graphics section.

If force-enabling a feature doesn’t work, that probably means that your hardware doesn’t support it. For example, layers acceleration currently requires support for 4Kx4K textures, which rules out some graphics cards, like the Intel G31/G33.

Source

Firefox article

http://support.citrix.com/article/CTX202065 (credits to Rachel Berry for writing this CTX article)

Another great blogpost to read about this subject is my friend / CTP fellow Barry Schiffer http://www.barryschiffer.com/citrix-hdx-3d-pro-and-nvidia-grid-browser-experience/ He was the guy who wrote a great blogpost with some very interesting results on performance tuning Mozilla Firefox in a XenApp/XenDesktop session.

 

Leave a Reply

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

Turn on pictures to see the captcha *