This is due to the way that the remoting protocol detects the local mouse position and transmits it from client to VM. The best source for information on the issue is from Citrix in this case.
It’s also dependent on the way in which the game engine detects the mouse position. Different engine’s behave differently so for example Cryengine will detect the mouse correctly in the VM, but Real Virtuality (ARMA) will not. I’ve seen Borderlands 2 (Unreal Engine 3) and Elite Dangerous (proprietary game engine) working in a Citrix environment, as in the video below.
https://www.youtube.com/watch?v=gaJypGGSP68
With what you have right now, your options are
- Pass the mouse hardware directly to the VM
- Use a controller such as Xbox or PS passed directly into the VM
- Use the GRID SDK to develop an in house remoting solution (This is how our own GRID gaming on SHIELD is built).