Citrix Web App Chrome



  1. Chrome Web App Citrix
  2. Citrix Receiver Chrome
downloadWhy can't I download this file?

Recommended Solution(s) for All Browsers

  • Connect via Citrix Gateway even for internal connections. This would ensure connections work fine regardless of Virtual Apps or Desktops versions.
    Deploying SSL/TLS for each Virtual Delivery Agent (VDA) for direct connections. Workspace App for HTML5 supports secure direct SSL/TLS connections with XenApp/XenDesktop 7.6

Read the following articles from the Citrix Blog for more information:

Mozilla Firefox

There is a possible workaround for Mozilla Firefox browser.

Note: This workaround has security implications; consult the security specialist of your organization to consider the following configuration.

  1. Enforce secure communications between Workspace App for HTML5 and applications or desktops (for example, using IPSec).

  2. Use Mozilla Firefox only for Citrix Receiver for HTML5 (not for general website use).

  3. Enforce a secure configuration for Firefox.

  4. Enable the Firefox network.websocket.allowInsecureFromHTTPS option.

If the preceding configuration is consistent with the security policy of your organization, an administrator can enable launching applications or desktop using the following steps:
  1. Open a new tab in the Firefox browser.

  2. Type about:config in the address bar.

  3. Double-click network.websocket.allowInsecureFromHTTPS and set the value to true.

Note: This Firefox option might not be supported in Citrix Receiver for HTML5 future versions.

WARNING! This option on Firefox affects the operation of entire Firefox, not just Citrix Receiver for HTML5.

Important Note

As of version 9, Safari browser allows insecure web socket connections. Internet Explorer never allowed non SSL/TLS web socket connections from HTTPS websites. Chrome used to allow it behind a flag, but after the Chrome 44 update, this is no longer supported. Firefox allows it behind a flag (as explained earlier in this article), but it is not recommended. Going forward, only secure (SSL/TLS) web socket connections can be made from Receiver for HTML5.

Problem Cause

When Workspace App for HTML5 is hosted on a https site (default and recommended), non SSL/TLS websocket connections are prohibited by browsers.
In explaining the technical reason behind this it is important to understand the following two principles:
1. As opposed to existing as a separate process, Citrix Workspace App for HTML5 operates within the frame and process space of the browser itself. As such the browser has the ability to enforce certain security parameters.

2. Additionally, when any Workspace App for Windows makes a connection to a VDA for either a published desktop or app, the underlying connection is made to the VDA and not the Storefront server as any kind of intermediate proxy.


This second point is less obvious in the case of Citrix Workspace App for HTML5 because the published desktop or application displays within the browser frame and “appears” to be connected via the Storefront server. Despite this appearance though, the underlying TCP/UDP connection is still between the client and the VDA. If the Storefront base URL is SSL enabled (where it begins with https as is best practice) and the VDA is not SSL enabled (which it is not by default) the browser in this case will prevent the connection due to what it sees as an underlying inconsistency. The inconsistency is that while the URL shown in the browser frame is prefixed with https, the actual underlying connection is not https even though it is not obvious to the user.
There are two solutions for this.
Solution 1 is to enable SSL on the VDA using the following guide:

https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/secure/tls.html
This will ensure that the connection path is SSL enabled between the internal client and the VDA.
Solution 2 is to have your connections from the clients first go through a Citrix Gateway. Citrix Gateway will proxy the connections and perform a SSL handshake between the client and the Citrix Gateway. In this scenario there is no inconsistency and connections via HTML5 Receiver will succeed.

Additional Resources

You can now use the Application probing feature to proactively monitor the health of applications enabling you to fix issues before the user actually experiences them. For more information refer to Citrix Documentation - Application probing.
downloadWhy can't I download this file?Chrome Web App Citrix

This article contains information about using webcams with Citrix Virtual Apps and Desktops (formerly XenApp and XenDesktop) and explains the HDX RealTime Webcam Video Compression and HDX Generic USB Redirection features.
In addition to the two approaches discussed in this article, it should be noted that 'optimized' solutions are available for certain leading Unified Communications applications. These optimized solutions shift the media processing workload to the user device, thereby maximizing server scalability. Optimized solutions exist for Microsoft Skype for Business, Microsoft Teams, Cisco Jabber for VDI and Cisco Webex Meetings, Avaya one-X Communicator, Zoom and Genesys.
See CTX133024 for more details on these plug-ins.
List of topics
1. Background
2. HDX Realtime Webcam Video Compression
3. HDX Generic USB Redirection
4. Default Behavior
5. Webcam compatibility
6. Known Issues
7. Advanced Configuration
8. Troubleshooting

1. Background

Webcams can be used by applications running within the Citrix Virtual Apps and Desktops session either by HDX RealTime Webcam Video Compression or by using HDX Generic USB Redirection technology. Users can choose between the two based on their specific requirements. HDX RealTime Webcam Video Compression is generally recommended since it offers superior bandwidth efficiency.
Important Note: Webcam Video Compression is a feature implemented both in CWA and VDA. Hence, the version combination is critical to determine the resultant set of supported features.
Only the following Citrix Receiver / Workspace app OS and versions support optimized Webcam Video Compression:

PlatformVersion Comments
Workspace app for WindowsAnyBoth 32 and 64-bit apps in the VDA as long as the VDA is 7.17 or higher, otherwise only 32-bit
Receiver for Windows

4.9 (any CU)

Only 32-bit apps in the VDA
Workspace app for MACAnyBoth 32 and 64-bit apps in the VDA as long as the CWA is 2006 or higher and the VDA is 7.17 or higher, otherwise only 32-bit
Workspace app for LinuxAnyOnly for 32-bit apps in the VDA
Workspace app for ChromeAnySome ARM Chromebooks don't support H.264 encoding - in that case, only 32-bit apps in the VDA can use the optimized HDX RealTime Webcam Video Compression


HDX Webcam redirection and Citrix Hooks:
It is important to understand that Windows Server VDAs and Workstation VDAs have different approaches to HDX RealTime Webcam redirection.
In Windows 10 VDAs, you need to explicitly whitelist your application name (e.g. Zoom.exe) in the registry HKLMSOFTWARECitrixCtxHookAppInit_DllsCtxMFPlugin
See Section 8.5 below.
If you don't, HDX will leverage DirectShow which is the legacy multimedia framework in that Windows OS version. When DirecShow is used, some webcam functionality might be lost (like being able to toggle between front and rear webcams).
In Windows Server VDAs, you don't need to whitelist the app name. HDX will use Media Foundation by default, the latest multimedia framework in that Windows OS versions.
In some scenarios, if you can't redirect your webcam still, you can remove all hooking to the application (e.g. Zoom.exe) by using the 'UviProcessExcludes' registry key with the value set to the application (e.g. badapp1.exe). See CTX107825 for guidance.

2. HDX RealTime Webcam Video Compression

With HDX RealTime Webcam Video Compression, the video data is captured on the user device; it is then compressed and sent to the XenApp/XenDesktop session. Installation of the device drivers for the webcam is not required on the Virtual Delivery Agent (VDA). Device drivers are only required on the client device. It is recommended that the latest drivers are obtained directly from the webcam manufacturer’s website.
Sometimes, default drivers are installed when the device is first plugged in, but these drivers might be old and not offer the video color space that the client’s codec is looking for, which might lead to higher CPU consumption on the user device as a result of color space conversion.
Note: 64-bit Application support for HDX RealTime Webcam Video Compression requires XenApp / XenDesktop 7.17 or later, and also Receiver for Windows 4.11 or later

HDX RealTime Webcam Video Compression allows less bandwidth consumption and is especially suited to deployments where the VDA and client reside across slow networks. HDX RealTime Webcam Video Compression uses upstream bandwidth in the rage of 300-600 kbps (for CIF resolutions).


Further information regarding configuration of HDX RealTime Webcam Video Compression is available on the Citrix documentation site - see HDX video conferencing and webcam video compression.

3. HDX Generic USB Redirection

With HDX Generic USB Redirection technology, the webcam is virtually detached from the client device and attached to the XenApp/XenDesktop session. This provides all the native functionalities of the webcam in the XenApp/XenDesktop session. HDX Generic USB Redirection requires the device drivers for the webcam to be available on both the client device as well as on the VDA.
Bandwidth usage for webcams using HDX Generic USB Redirection technology can vary based on the vendor and model of the device, but it is significantly higher compared to use it over HDX RealTime Webcam Video Compression. HDX Generic USB for webcams is recommended to be used only under LAN conditions where bandwidth and latency are not constraints.
Refer the following link regarding more information on HDX Generic USB Redirection configuration:
Configure USB Support.

4. Default Behavior

By default, webcams use HDX RealTime Webcam Video Compression technology. However, end users can override the default behavior and explicitly choose to use HDX Generic USB Redirection from the Desktop Viewer preferences tab of Citrix Workspace app, if the administrator has enabled remoting of USB devices through policies.
Important note on Integrated Webcams (e.g. Surface devices) : Integrated webcams are generally not detected as USB devices in Device Manager on the Client, but rather under System devices.
If you go to Device Manager on the Client, then View->Sort by Connection, see if your cameras show up under a USB Hub device. If they do, then they should appear on Desktop Viewer.

4.1 Whether to use Webcam Video Compression or Generic USB Redirection

HDX RealTime Webcam Video Compression is the default and preferred way of using webcams with XenApp/XenDesktop, except when an “optimized” solution is available such as the HDX RealTime Optimization Pack for Microsoft Skype for Business and Lync. HDX RealTime Webcam Video Compression uses significantly less bandwidth compared to HDX Generic USB Redirection and works well over WAN connections.
HDX Generic USB is recommended only when there are application compatibility issues with HDX RealTime Webcam Video Compression or when advanced native functionalities of the webcam such as auto-focus are required. For better performance, Citrix recommends a XenDesktop VDA to have at least two virtual CPUs.

4.2 Configuring HDX RealTime Webcam Video Compression

HDX RealTime Webcam Video Compression feature is available on XenDesktop 5.0 and later versions with Online Plug-in for Windows version 12.0 and later version or Receiver for Linux 12.0 and later version. It is also supported on Mac and Chrome Receivers.
With Workspace app for Linux, it has to be explicitly enabled. Refer the following link regarding information on how to configure this - Citrix Documentation - Optimize.
HDX RealTime Webcam Video Compression is enabled by default on the VDA and on the Windows client and no additional configurations are required.
Policies

HDX webcam video compression requires that the following machine policy settings are enabled (all are enabled by default).

  • Multimedia conferencing
  • Windows Media Redirection


4.3 Dependency on Windows Media Redirection

HDX RealTime Webcam Video Compression uses the same underlying technology as Windows Media Redirection. Enable Windows Media Redirection in Studio for HDX RealTime Webcam Video Compression to be functional. If Windows Media Redirection is disabled, HDX RealTime Webcam Video Compression will not work.
4.4 Application Compatibility
HDX RealTime Webcam Video Compression is compatible with most unified communications clients. The feature has been tested for compatibility with the following applications:

  • Cisco Webex Meetings and Webex Teams
  • GoToMeeting
  • Google Hangouts and Meet
  • Microsoft Teams
  • Microsoft Skype for Business 2015, 2016 and 2019
  • Microsoft Skype 7 or higher
  • IBM Sametime
  • Adobe Connect
  • Media Foundation-based video applications on W8.x or higher and WS2012 R2 and higher (see section 8.5)


Note: 64-bit Application support requires XenApp / XenDesktop 7.17 or later, and also Receiver for Windows 4.11 or later, and Receiver for Chrome.
The 7.17 VDAs and 4.11 Receiver for Windows (or higher versions of both) now include both 64-bit and 32-bit H.264 compression encoder/decoders. This means customers using 64-bit video conferencing hosted applications, such as Skype for Business x64, Google Chrome browser, and Google Hangouts, are now supported. Note that these 64-bit video conferencing apps must support H.264 for this feature to work.
Some ARM Chromebooks don't support H.264 encoding - in that case, only 32-bit apps in the VDA can use the optimized HDX RealTime Webcam Video Compression.

5. Webcam Compatibility

HDX RealTime Webcam Video Compression is not directly dependent on specific models of webcams. Any webcam that is DirectShow compatible (including integrated ones) can be used with HDX RealTime Webcam Video Compression. Most Windows Driver Model (WDM) compatible webcams can be used. However, webcam bandwidth consumption can vary from webcam to webcam. Different webcams offer different frame rates and have different levels of brightness and contrast. Citrix used the following webcams for initial feature validation:

  • Microsoft LifeCam VX models (2000, 3000, 5000, 7000)
  • Creative LIVE! CAM Optia Pro
  • Logitech QuickCam Messenger
  • Logitech C600, C920
  • HP Deluxe Webcam

Adjusting the contrast of the webcam can reduce upstream traffic significantly. This can be accomplished if the webcam ships with a system tray utility that runs on the user device.


6. Known Issues

Caution! Refer to the Disclaimer at the end of this article before using Registry Editor.

  • If Citrix GoToMeeting with HDFaces or Skype for Business (either hosted or when in fallback mode with RTOP) does not recognize the webcam of the user, edit the system registry.
    For 32-bit devices, access HKEY_CLASSES_ROOTCLSID{860BB310-5D01-11d0-BD3B-00A0C911CE86}InstanceCitrix HDX Web Camera.
    For 64-bit devices, access HKEY_CLASSES_ROOTWow6432NodeCLSID{860BB310-5D01-11d0-BD3B-00A0C911CE86}InstanceCitrix HDX Web Camera.
    Add a string value named DevicePath.
    Set REG_SZ as the data type and Citrix Client as the value [Reference 263277].

  • HDX RealTime Webcam Video Compression does not automatically reconnect if the session connection is interrupted mid-conference. The user must restart the video conference [Reference 233296].

  • On XenApp 7.17 or older (Windows Server VDA) with Receiver for Windows 4.11 or older, only one webcam can be used with HDX RealTime Webcam Video Compression at a time; if the client device has multiple webcams configured, only the first one successfully detected is used in the XenApp session.
  • XenApp 7.18 and Receiver for Windows 4.12 added support for multiple webcams when connecting to Windows Server VDAs. Applications dynamically detect a webcam being plugged in or removed on the client. Users don't have to restart the application to detect these changes.
  • On XenDesktop (VDI), multiple webcams are supported, along with client-side webcam switching.
  • Linux Receiver / Workspace app does not support multiple webcam enumeration when the VDA is a Windows Server. Only the default camera is enumerated.
  • In XenApp 7.18 or higher, actual webcam names are displayed instead of the generic Citrix HDX Camera (which is the way they are still displayed in 7.15 LTSR, for example).

Citrix Receiver Chrome

Double Hops:
  • Xenapp 7.15 LTSR and double hops - [internal ref. LD1143] when installing Citrix Receiver 4.10 or higher, or any version of Citrix Workspace app in the VDA, webcam functionality will break if H264 encoding is used. Only Citrix Receiver for Windows 4.9 LTSR can be installed in a 7.15 VDAs for H264 encoding. This is because both Receiver/Workspace app and the VDA rely on (and are packed with) the same codec library (CtxVideoCodec.dll), and installing Receiver/Workspace app in the VDA will overwrite the dll of the 7.15 VDA with a newer version. As a work-around (if you must install 4.10+ or Workspace app in the VDA), you can try to disable H.264 encoding, and enable Theora using the following registry setting (on the client or on the VDA)
i. HKEY_CURRENT_USERSoftwareCitrixHDXRealTime
DWORD EnableDeepcompress_Client – set it to 0 to disable H.264 encoding (and use Theora instead). By default HDX always prefer H.264. Set it to 1 to go back to H264 default behavior.
ii. If you want to disable H264 on the VDA side instead, it is also possible by setting:
HKLMSoftware Wow6432NodeCitrixHDXRealTime
DWORD EnableDeepcompress_Server – set it to 0 to disable H.264 support.
Please note that when H.264 is disabled, the webcam resolution must be integral multiple of 16. So, 1920*1080 is not supported. User can use other resolution like 1280*720, so apply the defaultwidth and defaultheight regkeys described in 7.1
  • HDX RealTime Webcam Video Compression supports ICA double-hop for webcams.


7. Advanced Configuration

High Definition
In XenDesktop 7.16 and XenApp 7.18 VDAs (with Receiver for Windows 4.10 or higher) support was added for native resolutions beyond 352x288 (CIF).
This enhancement allows high-def webcam native resolutions for virtual sessions, up to 1080p.
Citrix Receiver now queries the webcams on the client for their list of supported capabilities (media type information and resolutions). Then, the HDX PnP virtual channel is used to send this information to the VDA. Server will then offer this list to the hosted application trying to use the webcam.
Media types that aren’t supported will be filtered out and not offered to the application.
At the moment, HDX supports the RGB formats, YUV420 formats and YUY2 packed formats.
Application running on the VDA picks the desired media type and resolution from the list that was offered.
(If for some reason this media type negotiation fails, HDX falls back to our legacy way of webcam redirection, which is to use hard coded 352x288 CIF resolution).
The selected media type and resolution is then sent to the client and the webcam uses that to start the webcam feed.
The existing registries keys on the client to control the resolution will be honored, and this mechanism can be utilized to enforce a given resolution (see section 7.1 below).
If Bandwidth consumption is a concern, High Definition can be disabled by applying the following registry key (either on the VDA or Client):

On the VDAOr on the Client/Workspace App
HKLMSoftwareCitrixHDXRealTime
Name: Enable_HighDefWebcam
Type: REG_DWORD
Data: 0 = Disable the high definition webcam streaming
HKCUSoftwareCitrixHDXRealTime
Name: Disable_HighDefWebcam
Type: REG_DWORD
Data: 1 = Disable the high definition webcam streaming

7.1 Resolution

As of XenApp 7.18 and XenDesktop 7.17 (with Receiver for Windows 4.10 or higher), all supported resolutions by the webcam are presented to the hosted app trying to access it, so it can pick the desired resolution.
By default, Citrix Receiver for Windows 4.10 or older and non-Windows Receivers use CIF resolution (352 x 288) to stream webcam video to the XenApp/XenDesktop host.
A scaling function allows applications to request resolutions other than the default. The CIF frames are scaled appropriately on the VDA before delivering them to the application.
To manually adjust (and force) the webcam video resolution, create (on the Client) under HKEY_CURRENT_USERSoftwareCitrixHDXRealTime two DWORD values named

  • DefaultWidth
  • DefaultHeight


The resolution directly affects the bandwidth consumed and the overall quality of the video.
Some Webcams (specially integrated) might not support CIF, and Webcam detection might fail on an older VDA (like 7.15 LTSR).
Editing the Registry for a known supported resolution (like 640 x 480 or 1280 x 720) might fix the issue.
Note that the higher the resolution, the higher the bandwidth consumption between Workspace app and the VDA.
Try a lower known supported resolution (e.g. 480p) to avoid high network traffic.
You can find this by launching the Camera app in Windows 10 and clicking on Settings:
Client-side registry:


7.2 Frame Rate

The preferred video frame rate can be adjusted by creating (on the Client) a DWORD (32-bit) value named FramesPerSecond under HKEY_CURRENT_USERSoftwareCitrixHDXRealTime. Because it is possible to input a value that the webcam does not support (e.g 31 FPS), the actual frame rate might be different as seen by the hosted application (e.g. 10 FPS). When this key is not present, a default value of 15 frames per second is selected. The actual frame rate used is dependent upon the Webcam.
For example, an old WebCam device might only support up to 10 fps in 1280*720 resolution for I420, NV12, YV12, YUY2 video format (the formats supported in H.264 encoding, plus RGB with Theora encoding). To confirm this, use a third-party tool (like DumpVCap or GraphStudioNext) to verify.

--DumpVcap output--
Major Type Sub Type Format Type FixedSamples Temporal Compression Sample Size Max Input Size Min Output Size Max Output Size Min-Max FPS
Video YUY2 VideoInfo Fixed NotTemporal 1843200 1280x720 1280x720 1280x720 5.00-10.00 {none}
Video YUY2 VideoInfo2 Fixed NotTemporal 1843200 1280x720 1280x720 1280x720 5.00-10.00 {none}
Video MJPG VideoInfo Fixed NotTemporal 2764800 1280x720 1280x720 1280x720 5.00-30.00 {none}
Video MJPG VideoInfo2 Fixed NotTemporal 2764800 1280x720 1280x720 1280x720 5.00-30.00 {none}


From the output, it is clear that at 1280*720 resolution, the WebCam device can support 5~10 fps for YUY2 video format and 5~30 fps for MJPG video format (but not supported in HDX). In this case, only up to 10FPS can be used by the hosted app.
Most modern webcams like the integrated ones in a Surface device (e.g. OV5693) support at least 640x480 (480p 4:3) or 640x360 (wide 360p 16:9) and 15-30 FPS (see SETTINGS screenshot above).

7.3 Bandwidth

The bandwidth usage can be tweaked by creating a client-side DWORD (32-bit) value named TargetBitrate under HKCUSoftwareCitrixHDXRealTime. Values are in bits per second, so if 300 kbps is desired, the value should be set to 300000. When this key is not present, the default value is 350000.
During testing, somewhere between 250000 and 300000 was found to be the minimum values for the default CIF (352x288) resolution or 480p that still produced acceptable video quality. If the resolution and frame rate are set to lower values then it might be possible to lower the bit rate and reduce bandwidth consumption. Lastly, setting the bit rate to zero has special meaning – zero indicates that the codec should operate in VBR mode.
However, during production testing, the codec would generate excessive video artifacts so VBR mode is NOT recommended.

7.4 Encoders

Citrix Workspace app for Windows supports H.264 (Default) and Theora (legacy) encoders. If for whatever reason you want to disable H264 (not recommended), the following registry key on either VDA or the client can be used:

On the VDAOr on the Client
HKLMSoftwareWow6432NodeCitrixHdxRealTime
Or
HKLMSoftwareCitrixHdxRealTime
DWORD EnableDeepcompress_Server – set it to 0 to disable H.264 support.
HKCUSoftwareCitrixHdxRealTime
DWORD EnableDeepcompress_Client – set it to 0 to disable H.264 encoding. By default HDX always prefer H.264 decoding. Set it to 1 to go back to default behavior.


8. Troubleshooting
8.1. Device Manager on the Client would list the same webcam names as done by the Citrix Workspace app Desktop Viewer. Although keep in mind that there is no single designated place where they show inside Device Manager. This is device specific. Most common place is under Imaging Devices. Integrated webcams might show in other places (e.g. Device Manager/System devices)
8.2. Citrix Workspace app Desktop Viewer preferences should list all the available webcams on the client. If that drop down does not show webcams at all, that means the Client cannot access the locally attached webcams

In this scenario, redirection will not work. If you run into this problem, try launching apps like Skype for Business, Skype or GoToMeeting LOCALLY to confirm that webcam devices are not available on the endpoint either.
This can happen because of various reasons, most commonly device drivers not installed correctly because of which Windows cannot recognize webcams.
For HDX Realtime webcam video compression, the device drivers are not needed on the VDA, only on the Client.
For Generic USB redirection, drivers are needed at both the VDA and on the Client machine.
Important : in some cases, integrated webcams like in a Surface Book will not show in Desktop Viewer preferences. This does not mean they cannot be redirected.
8.3. Make sure the following Computer policies 'Windows media Redirection' and 'Multimedia Conferencing' are Enabled in Studio.
By default, all multimedia policies explicitly set on the Controller are stored in these registries:

Computer policies:
HKEY_LOCAL_MACHINESoftwarePoliciesCitrixMultimediaPolicies

User policies:
HKEY_LOCAL_MACHINESoftwarePoliciesCitrix{User Session ID}UserMultimediaPolicies
To locate the current user session ID, issue the qwinsta command on the Windows command line.
Keep in mind that these two policies are Enabled by default, and policies that are enabled by default will not show under those regkeys (only policies that are explicitly configured will).

8.4. Once you plug a webcam in your session, or if the webcam was already plugged when the session started,
the following registry entries should be seen on the VDA:Citrix for chrome
Information on the MediaPropertyData values can be found here.
8.5 If some apps on the VDA can display the webcam, but some other app or self-preview window shows a black or grey screen instead of the video feed, you might need to whitelist the application. This applies to Workstation VDAs only (Windows 10 / Windows 7).
Add a key with the name of your app executable (e.g. myapp.exe) under:

HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeCitrixCtxHookAppInit_DllsCtxMFPlugin
and
HKEY_LOCAL_MACHINESOFTWARECitrixCtxHookAppInit_DllsCtxMFPlugin

DWORD “HookProcess” = 1
After editing this key, a VDA reboot is required.

Disclaimer

Caution! Using Registry Editor incorrectly can cause serious problems that might require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it.