Jump to content
Updated Privacy Statement
  • 0

HDX Teams performance estimation process in Citrix Workspace app for Linux set to very_slow?

Bas Alblas1709160936


VDA 1912.0.100.24525, Windows Server 2019 Standard 1809
CWA, Windows 10 2004
CWA, Linux (IGEL OS or Ubuntu 20.04.1)
Teams MSI with CLI flag ALLUSER = 1

From https://docs.citrix.com/en-us/citrix-workspace-app-for-windows/configure.html#endpoint-encoder-performance-estimato:

HdxTeams.exe is the WebRTC media engine embedded in Citrix Workspace app that handles Microsoft Teams redirection. HdxTeams.exe can estimate the best encoding resolution that the endpoint’s CPU can sustain without overloading. Possible values are 240p, 360p, 720p and 1080p.

The performance estimation process (also called webrtcapi.EndpointPerformance) runs when HdxTeams.exe initializes. 


The same article also describes how to manually configure webrtcapi.EndpointPerformance by a registry key on a Windows client. I cannot find a equivalent setting for the Citrix Workspace app for Linux, but comparing the webrpc.log of a Windows client to a Linux client it looks like the Linux client is overriding the estimated performance setting with a fixed value "very_slow". As a result Teams will only use a 240p resolution for the video stream. The same Linux client uses 360p in Skype for Business with HDX Optimization, so it's powerful enough. I tried two different Linux clients (IGEL OS and Ubuntu) on two different hardware platforms. The result is the same.


From the webrpc.log (attached) on a Windows client shows the webrtcapi.EndpointPerformance is estimated using a test with the VP9 and H264 codec:

Sep 04 12:46:31.174 webrtcapi.EndpointPerformance Info: run_h264. H.264 estimation-time = 703824200ns mbps = 409193.1 endpoint-performace = fast (3)  used-cores-number = 8
Sep 04 12:46:32.484 webrtcapi.EndpointPerformance Info: run_vp9. VP9 estimation-time = 1009895400ns mbps = 274483.9 endpoint-performace = medium (2) used-cores-number = 8
Sep 04 12:46:32.484 webrtcapi.WebRTCEngine Info: updateEndpointPerformance. estimated endpoint-performance = medium


From the webrpc.log (attached) on a Linux client no estimate is performed at all, the webrtcapi.EndpointPerformance is just set to 'very_slow' by the user setting :

Sep 04 12:34:29.122 webrtcapi.WebRTCEngine Warning: updateEndpointPerformance. performance value is overrided by the user settings, configurable endpoint-performance = very_slow

Is this hard-coded in the HDXTeams binary for Linux or can I override the performance value with another user setting for example slow or medium? Best would be if the webrtcapi.EndpointPerformance would be estimated just as it is on a Windows client.

Linux webrpc.log Windows webrpc.log

Edited by bas.alblas@morganphilips.com
Link to comment

3 answers to this question

Recommended Posts

  • 1

The override function will be available in coming 2009 CWA Linux release. Once that is released, you can follow below steps to do the override for performance value. 


mkdir -p ~/.config/citrix/hdx_rtc_engine/
vim ~/.config/citrix/hdx_rtc_engine/config.json 


// OverridePerformance value means
very_slow = 0
slow = 1
medium = 2
fast = 3

  • Like 1
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...