Thursday, February 6, 2014

White block artifacts displayed in Citrix XenDesktop 5.6 virtual desktops


Citrix XenDesktop Version: 5.6
XenDesktop VDA Version: 5.6.300
Hypervisor: VMware vSphere 5.1
VDI Operating System: Windows 7 Enterprise
Microsoft Office Version: Office 2013


You’ve received complaints that users intermittently notice that the screen of their Citrix XenDesktop VDI would display white block artifacts:



**Ignore the blackbox as I just needed to black out the text for privacy purposes.


**Ignore the white box with purple outlines as I just needed to block out the text for privacy purposes.

Further troubleshooting shows that the white blocks are caused by Outlook 2013 where minimizing Outlook would minimize the white blocks as well but as soon as you restore the Outlook 2013 window, the white blocks come back.  The traditional way of forcing a redraw by dragging a window over the white blocks then away does not fix this.


While I’ve had mixed feedback from users in regards to this issue, one of the changes that were applied to the Citrix XenDesktop infrastructure that appeared to correct this issue was to disable the Citrix API Hooks as per the following KB:

How to Disable Citrix API Hooks on a Per-Application Basis

More details about the API hooks can be found here:

Citrix API Hooks (mfaphook.dll) Explained and Enumerated

So although I can’t conclusively say this may fix the issue, it’s definitely worth a try if you’re experiencing this issue.


James Allen said...

How did you disable API hooks on the desktops? The Citrix article seems to reference Xenapp and targeting specific applications, not the entire OS.

Thanks in advance!

Anonymous said...

To fix this Citrix gave me a picaDisplayManager.dll replacement file.

Terence Luk said...

Hi James,

To disable the API hooks, you would create a CtxHook key under:

For 32-bit:

• For 64-bit:

Then create a REG_SZ named ExcludedImageNames and add Outlook.EXE,EXCEL.EXE for the value.

I'm going to call into Citrix to ask about the picaDisplayManager.dll replacement.