Citrix receiver (seamless mode) with multiple screen resolutions

citrixwindows 10

This is a rather old issue but it's starting to get more and more frequent.

We are providing an application to external users trough Citrix XenApp 6.5. The users have a number of different version of the receiver but the problem is the same even with the latest one (4.9 at the time I write this, it wa confirmed at least as far back as 4.2).

The users typically have a windows 10 system with multiple display. They attempt also have different zoom factor for each screen (display settings -> Scale and Layout).

At connection, the application gets zoomed according to the display factor of the screen is initially starts on. This works fine until the user moves one of the application's windows (even partially) to the second screen. Then several things happen:

  • The "clipping region" that Citrix uses to display the application in seamless mode get desyncronized with the actual position of the window (on the second screen only). This results in only part of the application to be displayed on the client with blue background next to it.
  • The mouse position isn't forwarded properly to the server any more in both screens: the user cannot click on any UI element because the server receives a different location that where the user clicked.

The problem can be solved by synchronizing the zoom factors of both screens but, of course, that is a major inconvenience when the user has several screens with very different DPIs (typically, a laptop or tablet with a QHD or UHD screen and a main display with a 1080p one). In such a situation, the user has more or less to stop using one of the screens.

Best Answer

Actually, I found an acceptable answer (at least for me).

The user needs to:

  • Navigate to the installation folder of the Citrix receiver client (by default, C:\Program Files (x86)\Citrix\ICA Client)
  • Select wfica32.exe and bring up file's properties.
  • Go to the Compatibility tab.
  • Enable the Override high DPI scaling behavior option
  • Under Scaling performed by select Application
  • Apply and close.

Connection will most likely needs to restarted for the parameter to be applied, but the issue is solved (at least for this user).

Properly configured dialog screenshot