Selective Build to Lossless

macOS VDA support Intelligent Build to lossless (IBTL)

The general roadmap for Citrix HDX™ Graphics is working towards one consolidated intelligent graphics mode that is adaptable and suitable for all workloads and all circumstances.

IBTL (Intelligent build to lossless) is one of the steps we have been taking in that direction. With Intelligent Build-to-lossless, the Citrix graphics encoder decides based on screen activity and other metrics whether to switch one or more monitors into build-to-lossless.

Other monitors will continue to be encoded using the bandwidth efficient and high quality Thinwire+ encoder. If the screen activity ceases, the affected monitors will automatically be switched back to Thinwire+ encoding. No longer does the admin need to decide whether to use build-to-lossless for a particular workload, the decision is now made in real-time based on what the user is doing.

H265 support

Apple Silicon built-in H.265 (HEVC) encoder delivers superior performance with significantly higher compression efficiency for each frame compared to earlier codecs.

When used in macOS VDA, it enables substantially higher frame rates while simultaneously reducing bandwidth consumption, making it ideal for high-quality remote desktop experiences over constrained network connections. H.265 will be the default video codec for macOS VDA if the Citrix Workspace app side supports it.

Feature toggle

The codec policy “Use video codec for compression” can be leveraged to toggle between different graphic codec features. Setting this policy to “Use when preferred” enables the IBTL feature, which is also the default configuration.

Note:

Related policy settings might affect whether IBTL takes effect:

OptimizeFor3dWorkload = off (Default value is disabled), enable it will enable full screen H264. VisualQuality !=BuildToLossless (Default value is medium), select BuildToLossless will enable BuildToLossless.

Related registry configuration at VDA side (for administrator reference):

  • Disable IBTL:

    sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "DisableSB2L" -d "0x00001" --force

  • Enable indicator to monitor if IBTL feature works:

    sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "SB2LIndicatorLocation" -d "0x00001" --force

Conditions IBTL is “engaged” or “disenaged”:

  • Large transient graphics workload (by default, more than 75% of the surface).
  • Frame processing time is too high (by default, 2.5x more than ideal frame time, only after bandwidth optimizations have been toggled off).
  • Network connection with MacVDA is poor (Input FPS is stabilized and more than min_fps && Output FPS significantly less than Input FPS and there is a significant portion of the screen that is changing (> 25%)).
  • IBTL exit: the input FPS is lower than configured minimum FPS for more than 10 seconds.
Selective Build to Lossless