Jump to content
Welcome to our new Citrix community!
  • 1

1903.1 CVAD - enableWPFHook causes sessions to connect, then immediately disconnect

Joe Robinson


Good Afternoon:


I have physical HP DL 380 G10 servers.  They have an nVidia Quadro card in them.  They're running Windows Server 2016 and hosting seamless applications.


In previous builds of CVAD, I've enabled the 'enableWPFHook' registry value to allow WPF applications to utilize the GPU.  However, if I enable that registry key, users will connect to the server and then immediately disconnect.  Is enableWPFHook still required?  Reading over the documentation, I believe it is, so maybe something is broken in this version of CVAD?


This is the documentation I am referencing:



To enable WPF applications to render using the server’s GPU, create the following settings in the registry of the server running Windows Server OS sessions:

[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxHook\AppInit_Dlls\Multiple Monitor Hook] “EnableWPFHook”=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\CtxHook\AppInit_Dlls\Multiple Monitor Hook] “EnableWPFHook”=dword:00000001

Link to comment

4 answers to this question

Recommended Posts

  • 0

I am having the exact same issue with Windows Server 2019 on a Dell R740 server. 


When I try to enable these hooks, some RDSH servers work and some do not.  It is quite random and exactly as described above.  The server event viewer indicates that the issues is a result of the VDA detecting a issue with the registry keys.


I should note that without this key, it is quite random if the application leverages the GPU or not.  This looks like a bug with Citrix Server VDA.


Any advice on how to proceed.

Link to comment
  • 0

I found that if I rebuild my machines and install ONLY 1906, I do not have this problem.  If I install 1903, or upgrade from 1903 to 1906, I have this issue.  I have applied this strategy to four of my 40 servers, and they're all working great.  In comparison, I had 100% failure with 1903.


Not sure if that will help you, and it's going to take some time to rebuild all the hosts, but if it gets me back up and running I'm ok with it.


Hope this helps you.


If you decide to go the 1906 route, there is a bug in the VDA that causes disconnects.  Be sure to open a support call and get the hotfix!

Link to comment
  • 0

You need to apply this in the image and not via a Group Policy. It's a race condition related to the CtxUvi driver. Any changes to the AppInit_DlLLs structure after it has started will cause the CtxUvi driver to disable itself until the next reboot. This was a change Citrix made from 7.9 and above. References: CTX220418, CTX226605, CTX223973.


Obviously applying via Group Policy would be hit and miss depending on when the policy applies and when the CtxUvi driver starts. Hence a race condition.


I feel that instead of disabling the CtxUvi driver when changes to the AppInit_DlLLs structure are detected, it would be best ignoring those changes, log an event, and continue to function as expected. That's proper engineering!

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...