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

Azure NVv4 instances how to enable hardware encoding

Chris Hahn


6 answers to this question

Recommended Posts

  • 0


I was trying to solve the same issue for two days now. I tried both Windows 10 and Windows Server versions with loads of different policy settings from both citrix cloud and local GPOs. 3D application framerates inside the VM were actually pretty good. Yet the video stream on my client was lagging and stuttering. Citrix Graphics Status tool pointed to the video stream hardware encoding being disabled and it seemed to me like single-thread CPU performance on CtxGfx.exe was bottle-necking the whole thing.

Then I found this in Microsoft's documentation for their own product "Azure Virtual Desktop":

See here: https://docs.microsoft.com/en-us/azure/virtual-desktop/configure-vm-gpu#configure-gpu-accelerated-frame-encoding

Seems VM size NVv4 does not provide the feature we need (at the time of writing).
I'll give it another shot using NVv3 VMs as soon as I'm able to deploy one of those, maybe tomorrow. Hoping hardware acceleration for video encoding will work as advertised there.

Kind regards,
Stefan Werner

Link to comment
  • 0

Encoding is not available on AMD GPU for Citrix Multi session enabled machine, only single session VDA.


Access to a high-performance video encoder for NVIDIA GPUs and Intel Iris Pro graphics processors. A policy setting (enabled by default) controls this feature and allows the use of hardware encoding for H.264 encoding (where available). If such hardware is not available, the VDA fall backs to CPU-based encoding using the software video codec. For more information, see Graphics policy settings.


Link to comment
  • 0

So ... well yeah. NVv3 does indeed work fine with hardware encoding, regardless of single/multi-session OS. Documentation might be partially outdated at some places.

I used Windows Server 2016 on VM size NV12s_v3 and installed the NVidia driver extension. Citrix VDA is the most current (multi-session) agent, version 2112. 
Hardware encoding does work and ctxgfx.exe is running at <1% CPU usage, as expected.


I'll still have to figure out some more settings. WebGL applications seem limited to 30fps now, as opposed to 60 fps on NVv4. But that's most probably my fault due to some config stuff i forgot about.

NVv4 = no hardware video stream encoding.

Low resolution/activity 3D applications and video calls might still work there, but I can't see us using NVv4 for full-screen 3D CAD Apps.

Link to comment
  • 0

Citrix support confirmed NVv4 = no hardware video stream encoding.


It looks like Microsoft will have some less expensive Nvidia options in Azure soon, nva10v5, that should support hardware encoding. I will test again when those are available widely.





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...