Configuring the Anyware Agent
You can configure the Anyware agent, and optimize PCoIP protocol behavior for local network conditions, by adjusting configuration directives found in /Library/Preferences/com.teradici.pcoip-agent.plist.
You can find detailed information and descriptions about each setting in the next section. You can also consult the man
pages for com.teradici.pcoip-agent.plist:
man com.teradici.pcoip-agent.plist
Viewing Current Settings
To view the contents of your current settings file, open a Terminal window and run the following command:
defaults read "/Library/Preferences/com.teradici.pcoip-agent.plist";
The com.teradici.pcoip-agent.plist file only holds configuration overrides; it does not hold all configuration values. Values not specified in the file will use their defaults, as documented in the next section.
The configuration file will not exist until at least one setting has been written to it. If you try to read the file before it exists, you will receive a Domain com.teradici.pcoip-agent.plist does not exist
error.
Applying Configuration Changes
To set or change a configuration value, use defaults write
to modify directives in com.teradici.pcoip-agent.plist. The format is:
sudo defaults write /Library/Preferences/com.teradici.pcoip-agent.plist {directive} {value};
...where {directive}
is one of the settings detailed in the next section, and {value}
is the desired setting.
For example, to set the maximum bandwidth to 900000 kilobits/second, and the device bandwidth floor to 5000 kilobits/second, you would set values like this:
sudo defaults write /Library/Preferences/com.teradici.pcoip-agent.plist pcoip.max_link_rate 900000;
sudo defaults write /Library/Preferences/com.teradici.pcoip-agent.plist pcoip.device_bandwidth_floor 5000;
Note: Support for IPv6 Addresses
The Graphics Agent for macOS supports IPv6 addresses. No configuration is needed to switch between IPv4 and IPv6 modes.
H.264 Hardware Decode Requirements
For H.264 Hardware Decode, the Graphics Agent must have an NVIDIA Graphics Card that supports PCoIP Ultra GPU Offload, and PCoIP Ultra setting is either set to GPU Offload or Auto Offload.
Note: Default Values
In deployments with no existing PCoIP Ultra configuration, PCoIP Ultra defaults to "Auto Offload" and YUV Chroma subsampling defaults to 4:2:0.
The following NVIDIA graphics cards are supported:
- NVIDIA Quadro P400
- NVIDIA GeForce RTX 3060
Any Nvidia GPU with NVENC support are expected to work, but have not been tested.
Note: Configurable Values
A complete list of configurable values is shown next.
Configurable Settings
The following settings can be configured on the Graphics Agent for macOS.
Build-to-lossless
Directive | Options | Default |
---|---|---|
pcoip.enable_build_to_lossless |
0 (off), 1 (on) | Off |
This setting takes effect immediately. Specifies whether to turn the build-to-lossless feature of the PCoIP protocol off or on; this feature is turned off by default.
When build-to-lossless is turned off images and other desktop content may never build to a lossless state. In network environments with constrained bandwidth, turning off build-to-lossless can provide bandwidth savings. Build-to-lossless is recommended for environments that require images and desktop content to be built to a lossless state.
Clipboard redirection
Directive | Options | Default |
---|---|---|
pcoip.server_clipboard_state |
0—Disabled in both directions 1—Enabled in both directions 2—Enabled client to agent only 3—Enabled agent to client only |
— |
This setting takes effect when you start the next session. Determines the direction in which clipboard redirection is allowed. You can select one of these values:
- Disabled in both directions
- Enabled in both directions (default setting)
- Enabled client to agent only (That is, allow copy and paste only from the client system to the host desktop.)
- Enabled agent to client only (That is, allow copy and paste only from the host desktop to the client system.)
Clipboard redirection is implemented as a virtual channel. If virtual channels are disabled, clipboard redirection does not function.
Collaboration
Directive | Options | Range | Increment | Default |
---|---|---|---|---|
pcoip.enable_collaboration |
0 (off), 1 (on) | Off | ||
pcoip.max_collaborators |
1 – 5 | 1 | 5 | |
pcoip.collaboration_udpport |
1 – 65535 | 1 | 64172 |
This setting takes effect when the agent is restarted. This policy enables or disables user collaboration. When not configured, user collaboration is disabled by default.
The default maximum number of collaborators allowed is 5.
The default UDP starting port used for collaborator sessions is 64172. When a different starting port is used, ensure that firewall rules are adjusted so that PCoIP traffic can go through the new port.
If there is more than one collaborator, additional UDP ports will be needed for the collaborator sessions. For example, when the second collaborator connects, the next free UDP port will be opened on the host.
Collaboration input control
Directive | Options | Range | Increment | Default |
---|---|---|---|---|
pcoip.enable_collaboration_input_control |
0 (off), 1 (on) | Off | ||
pcoip.collaboration_input_control_timeout |
100 – 10000 | 100 | 3000 |
This setting takes effect when you start the next PCoIP session. This policy enables or disables input control from the collaborators. When not configured, collaboration input control is disabled by default.
The input control timeout specifies the waiting period before any user with input control permission can acquire the input control of the host. The current input owner is the only one authorized to send mouse, keyboard and touch inputs to the host.
Connection addresses
Directive | Options | Default |
---|---|---|
pcoip.connection_address |
string (up to 511 characters) | — |
pcoip.client_connection_address |
string (up to 511 characters) | — |
This setting takes effect when you start the next session. Configuring this allows you to control the IPv4 or IPv6 address used by the agent or client in PCoIP sessions.
'Connection Address' controls the IP address used by the agent for the PCoIP session.
'Client Connection Address' controls the IP address the client is told to use when establishing the PCoIP session.
Please note that neither of these values should need to be set under normal circumstances.
Enable/disable audio in the PCoIP session
Directive | Options | Default |
---|---|---|
pcoip.enable_audio |
0 (off), 1 (on) | On |
This setting takes effect when you start the next session. Determines whether audio is enabled in PCoIP sessions. Both endpoints must have audio enabled. When this setting is enabled, PCoIP audio is allowed. When it is disabled, PCoIP audio is disabled. When this setting is not configured, audio is enabled by default.
Hide local cursor
Directive | Options | Default |
---|---|---|
pcoip.disable_locally_rendered_cursor |
0 (off), 1 (on) | Off |
This setting takes effect immediately. When this setting is enabled the local cursor on the client will be hidden. This may resolve duplicate cursor issues if there is a host rendered cursor within the host environment but may also result in no visible cursor. With this setting enabled there may be delays in mouse movements due to network latency and video processing times. By default, this setting is disabled, meaning that local cursors will be used, providing the most responsive user experience.
License server URL
Directive | Options | Default |
---|---|---|
pcoip.license_server_path |
string (up to 511 characters) | — |
This setting takes effect when you start the next session. This policy sets the license server path. Enter the license server path in 'https://address:port/request' or 'http://address:port/request' format.
Maximum PCoIP session bandwidth
Directive | Range | Increment | Default |
---|---|---|---|
pcoip.max_link_rate |
104 – 900000 | 100 | 900000 |
This setting takes effect when you start the next session. Specifies the maximum bandwidth, in kilobits per second, in a PCoIP session. The bandwidth includes all imaging, audio, virtual channel, USB, and control PCoIP traffic.
Set this value based on the overall capacity of the link to which your endpoint is connected, taking into consideration the number of expected concurrent PCoIP sessions. For example, with a single user VDI configuration (e.g. a single PCoIP session) that connects through a 4Mbit/s Internet connection, set this value to 4Mbit (or 10% less than this value to leave some allowance for other network traffic).
Setting this value prevents the agent from attempting to transmit at a higher rate than the link capacity, which would cause excessive packet loss and a poorer user experience. This value is symmetric. It forces the client and agent to use the lower of the two values that are set on the client and agent side. For example, setting a 4Mbit/s maximum bandwidth forces the agent to transmit at a lower rate, even though the setting is configured on the client.
When this setting is disabled or not configured on an endpoint, the endpoint imposes no bandwidth constraints. When this setting is configured, the setting is used as the endpoint's maximum bandwidth constraint in kilobits per second.
The default value when this setting is not configured is 900000 kilobits per second.
This setting applies to the agent and client. If the two endpoints have different settings, the lower value is used.
PCoIP Ultra
Directive | Options | Range | Increment | Default |
---|---|---|---|---|
pcoip.enable_ultra |
0 (off), 1 (on) | On | ||
pcoip.ultra |
0—Disabled 1—CPU Offload 2—GPU Offload 3—Automatic Offload |
— | ||
pcoip.ultra_offload_mpps |
1 – 40 | 1 | 10 |
This setting takes effect when you start the next session. When this setting is disabled, PCoIP Ultra will not be used.
-
PCoIP Ultra CPU Offload - these optimizations require CPU support for the AVX2 instruction set on both the remote host and client and are not compatible with the PCoIP Zero client. CPU Offload is recommended for 4K UHD resolutions with video playback requirements of 30 fps (or more) and highest image quality / color accuracy.
-
PCoIP Ultra GPU Offload - these optimizations require an NVIDIA graphics card on the remote host capable of NVENC. GPU Offload is recommended when minimal CPU impact of pixel encoding is desired.
-
PCoIP Ultra Auto Offload - enabling this setting allows PCoIP to automatically switch between CPU and GPU Offload modes; CPU Offload is used by default to provide the best image fidelity, GPU Offload is used during periods of high display activity to provide improved frame rates and bandwidth optimization. This setting is only effective if the remote host and client endpoints are capable of both CPU and GPU Offload.
The PCoIP Ultra Offload MPPS sets the Megapixels Per Second (MPPS) transition rate between PCoIP Ultra CPU Offload and PCoIP Ultra GPU Offload. Under Auto-Offload, PCoIP Ultra uses CPU Offload at lower pixel rates and switches to GPU Offload at the Offload MPPS. Increasing this value results in PCoIP Ultra transitioning to GPU Offload at a higher pixel rate and decreasing this value results in the transition at a lower pixel rate. The default PCoIP Ultra Offload MPPS is set to 10.
PCoIP event log verbosity
Directive | Range | Increment | Default |
---|---|---|---|
pcoip.event_filter_mode |
0 – 3 | 1 | 2 |
This setting takes effect immediately. Configures the PCoIP event log verbosity ranging from 0 (least verbose) to 3 (most verbose).
PCoIP image quality levels
Directive | Options | Range | Increment | Default |
---|---|---|---|---|
pcoip.minimum_image_quality |
30 – 100 | 10 | 40 | |
pcoip.maximum_initial_image_quality |
30 – 100 | 10 | 80 | |
pcoip.frame_rate_vs_quality_factor |
0 – 100 | 10 | 50 | |
pcoip.maximum_frame_rate |
0 – 60 | 1 | — | |
pcoip.use_client_img_settings |
0 (off), 1 (on) | Off |
This setting takes effect immediately. Controls how PCoIP renders images during periods of network congestion. The Minimum Image Quality, Maximum Initial Image Quality, and Maximum Frame Rate values interoperate to provide fine control in network-bandwidth constrained environments.
Use the Minimum Image Quality value to balance image quality and frame rate for limited-bandwidth scenarios. You can specify a value between 30 and 100. The default value is 40. A lower value allows higher frame-rates, but with a potentially lower quality display. A higher value provides higher image quality, but with potentially lower frame rates when network bandwidth is constrained. When network bandwidth is not constrained, PCoIP maintains maximum quality regardless of this value.
Use the Maximum Initial Image Quality value to reduce the network bandwidth peaks required by PCoIP by limiting the initial quality of the changed regions of the display image. You can specify a value between 30 and 100. The default value is 80. A lower value reduces the image quality of content changes and decreases peak bandwidth requirements. A higher value increases the image quality of content changes and increases peak bandwidth requirements. Unchanged regions of the image progressively build to a lossless (perfect) quality regardless of this value. A value of 80 or lower best utilizes the available bandwidth.
The Minimum Image Quality value cannot exceed the Maximum Initial Image Quality value.
Use the Frame Rate vs Image Quality value to favor image sharpness over smooth motion during a PCoIP session when network bandwidth is limited. Lower values favor smoothness, higher values favor sharpness of image.
Use the Maximum Frame Rate value to manage the average bandwidth consumed per user by limiting the number of screen updates per second. You can specify a value between 1 and 60 frames per second. A higher value can use more bandwidth but provides less jitter, which allows smoother transitions in changing images such as video. A lower value uses less bandwidth but results in more jitter.
YUV chroma subsampling is set to 4:2:0 by default. It enables chroma subsampling to further compress the imaging to reduce bandwidth usage at the cost of reduced color accuracy. 4:2:0 subsampling is only supported in combination with PCoIP Ultra GPU optimization. Please note: 4:4:4 subsampling with PCoIP Ultra GPU optimization is GPU dependent and is not supported by all GPUs, in this case, PCoIP will fall back to 4:2:0 subsampling. Please see our support site for further details.
Set the 'Use image settings from zero client' when you want to use the 'Minimum Image Quality', 'Maximum Initial Image Quality', 'Maximum Frame Rate', 'Disable Build to Lossless' values from the client instead of the host. Currently, only Zero Client Firmware 3.5 and above support these settings on the client side.
These image quality values apply to the soft host only and have no effect on a soft client.
When this setting is disabled or not configured, the default values are used.
PCoIP session MTU
Directive | Range | Increment | Default |
---|---|---|---|
pcoip.mtu_size |
500 – 1500 | 1 | 1200 |
This setting takes effect when you start the next session. Specifies the Maximum Transmission Unit (MTU) size for UDP packets for a PCoIP session.
The MTU size includes IP and UDP packet headers. TCP uses the standard MTU discovery mechanism to set MTU and is not affected by this setting. The maximum MTU size is 1500 bytes. The minimum MTU size is 500 bytes. The default value is 1200 bytes.
Typically, you do not have to change the MTU size. Change this value if you have an unusual network setup that causes PCoIP packet fragmentation.
This setting applies to the agent and client. If the two endpoints have different MTU size settings, the lowest size is used.
If this setting is disabled or not configured, the client uses the default value in the negotiation with the agent.
PCoIP session audio bandwidth limit
Directive | Range | Increment | Default |
---|---|---|---|
pcoip.audio_bandwidth_limit |
0 – 100000 | 1 | 512 |
This setting takes effect immediately. Specifies the maximum audio bandwidth that can be used for audio output (sound playback) from the virtual desktop to the client in a PCoIP session. Note that the network transport overhead can add an additional 20-40% bandwidth to this number.
Audio processing monitors the bandwidth needed for audio and selects the audio compression algorithm that provides the best quality possible, without exceeding the bandwidth limit:
-
512 kbit/s or higher - 7.1 surround, high-quality, compressed audio
-
384 kbit/s or higher - 5.1 surround, high-quality, compressed audio
-
256 kbit/s or higher - stereo, high-quality, compressed audio
-
48 kbit/s to 255 kbit/s - stereo audio ranging between FM radio quality down to AM radio quality
-
32 kbit/s to 47 kbit/s - monaural AM radio or phone call quality
-
Below 32 kbit/s - results in no audio playback
If this setting is not configured, a default audio bandwidth limit of 512 kbit/s is configured to constrain the audio compression algorithm selected.
Note that zero clients on older firmware have less efficient audio compression algorithms that may require setting this limit higher to achieve the same audio quality or upgrading the firmware.
PCoIP session bandwidth floor
Directive | Range | Increment | Default |
---|---|---|---|
pcoip.device_bandwidth_floor |
0 – 100000 | 1 | — |
This setting takes effect immediately. Specifies a lower limit, in kilobits per second, for the bandwidth that is reserved by the PCoIP session.
This setting configures the minimum expected bandwidth transmission rate for the endpoint. When you use this setting to reserve bandwidth for an endpoint, the session does not have to wait for bandwidth to become available, which improves session responsiveness.
Make sure that you do not over-subscribe the total reserved bandwidth for all endpoints. Make sure that the sum of bandwidth floors for all connections in your configuration does not exceed the network capability.
The default value is 0, which means that no minimum bandwidth is reserved. When this setting is disabled or not configured, no minimum bandwidth is reserved.
This setting applies to the agent and client, but the setting only affects the endpoint on which it is configured.
PCoIP statistics interval
Directive | Range | Increment | Default |
---|---|---|---|
pcoip.server_statistics_interval_seconds |
0 – 65535 | 1 | — |
This setting takes effect immediately. Configuring this allows you to set an interval in seconds for logging performance statistics to the PCoIP server log. When not configured, logging is disabled by default.
PCoIP transport header
Directive | Options | Default |
---|---|---|
pcoip.transport_session_priority |
1—High Priority 2—Medium Priority (default) 3—Low Priority 4—Undefined Priority |
— |
This setting takes effect when you start the next session. Configures the PCoIP transport header.
PCoIP transport header is a 32-bit long header which is added to all PCoIP UDP packets (only if the transport header is enabled/supported by both sides). PCoIP transport header allows network devices to make better prioritization/Qos decisions when dealing with network congestions. The transport header is enabled by default.
The transport session priority determines the PCoIP session priority reported in the PCoIP Transport Header. Network devices make better prioritization/Qos decisions based on the specified transport session priority. The transport session priority value is negotiated by the PCoIP agent and client. If agent has specified a transport session priority value (high, medium, or low), then the session uses the agent specified session priority. If only the client has specified a transport session priority (high, medium, or low), then the session uses the client specified session priority. If neither agent nor client has specified a transport session priority (or specified 'undefined priority'), then the session uses/defaults to the medium session priority.
PCoIP virtual channels
Directive | Options | Default |
---|---|---|
pcoip.vchan_list |
string (up to 255 characters) | — |
This setting takes effect when you start the next session. Specifies the virtual channels that can or cannot operate over a PCoIP session.
There are two modes of operation:
- Enable all virtual channels except for <list> (default setting)
- Disable all virtual channels except for <list>
When specifying which virtual channels to include or not include in the list, the following rules apply:
- An empty list is allowed
- Multiple virtual channel names in the list must be separated by the vertical bar (|) character. For example: channelA|channelB
- Vertical bar or backslash () characters in virtual channel names must be preceded by a backslash. For example: the channel name "awk|ward\channel" must be specified as "awk|ward\channel" (without the double quotes)
- A maximum of 15 virtual channels are allowed in a single PCoIP session
The virtual channel must be enabled on both agent and client for it to be used.
Proxy Access to a remote License Server
Directive | Options | Range | Increment | Default |
---|---|---|---|---|
pcoip.license_proxy_server |
string (up to 511 characters) | — | ||
pcoip.license_proxy_port |
0 – 65535 | 1 | — |
This setting takes effect when you start the next session. If a proxy is required to access a local License Server or the Cloud License Server, enter those parameters here. These parameters are loaded only during agent startup.
Timezone redirection
Directive | Options | Default |
---|---|---|
pcoip.enable_timezone_redirect |
0 (off), 1 (on) | On |
This setting takes effect when you start the next session. Configuring this allows you to enable or disable timezone redirection. When not configured, timezone redirection is enabled by default.
Configurable Settings
The following settings can be configured on the Graphics Agent for macOS.
Build-to-lossless
Directive | Options | Default |
---|---|---|
pcoip.enable_build_to_lossless |
0 (off), 1 (on) | Off |
This setting takes effect immediately. Specifies whether to turn the build-to-lossless feature of the PCoIP protocol off or on; this feature is turned off by default.
When build-to-lossless is turned off images and other desktop content may never build to a lossless state. In network environments with constrained bandwidth, turning off build-to-lossless can provide bandwidth savings. Build-to-lossless is recommended for environments that require images and desktop content to be built to a lossless state.
Clipboard redirection
Directive | Options | Default |
---|---|---|
pcoip.server_clipboard_state |
0—Disabled in both directions 1—Enabled in both directions 2—Enabled client to agent only 3—Enabled agent to client only |
— |
This setting takes effect when you start the next session. Determines the direction in which clipboard redirection is allowed. You can select one of these values:
- Disabled in both directions
- Enabled in both directions (default setting)
- Enabled client to agent only (That is, allow copy and paste only from the client system to the host desktop.)
- Enabled agent to client only (That is, allow copy and paste only from the host desktop to the client system.)
Clipboard redirection is implemented as a virtual channel. If virtual channels are disabled, clipboard redirection does not function.
Collaboration
Directive | Options | Range | Increment | Default |
---|---|---|---|---|
pcoip.enable_collaboration |
0 (off), 1 (on) | Off | ||
pcoip.max_collaborators |
1 – 5 | 1 | 5 | |
pcoip.collaboration_udpport |
1 – 65535 | 1 | 64172 |
This setting takes effect when the agent is restarted. This policy enables or disables user collaboration. When not configured, user collaboration is disabled by default.
The default maximum number of collaborators allowed is 5.
The default UDP starting port used for collaborator sessions is 64172. When a different starting port is used, ensure that firewall rules are adjusted so that PCoIP traffic can go through the new port.
If there is more than one collaborator, additional UDP ports will be needed for the collaborator sessions. For example, when the second collaborator connects, the next free UDP port will be opened on the host.
Collaboration input control
Directive | Options | Range | Increment | Default |
---|---|---|---|---|
pcoip.enable_collaboration_input_control |
0 (off), 1 (on) | Off | ||
pcoip.collaboration_input_control_timeout |
100 – 10000 | 100 | 3000 |
This setting takes effect when you start the next PCoIP session. This policy enables or disables input control from the collaborators. When not configured, collaboration input control is disabled by default.
The input control timeout specifies the waiting period before any user with input control permission can acquire the input control of the host. The current input owner is the only one authorized to send mouse, keyboard and touch inputs to the host.
Connection addresses
Directive | Options | Default |
---|---|---|
pcoip.connection_address |
string (up to 511 characters) | — |
pcoip.client_connection_address |
string (up to 511 characters) | — |
This setting takes effect when you start the next session. Configuring this allows you to control the IPv4 or IPv6 address used by the agent or client in PCoIP sessions.
'Connection Address' controls the IP address used by the agent for the PCoIP session.
'Client Connection Address' controls the IP address the client is told to use when establishing the PCoIP session.
Please note that neither of these values should need to be set under normal circumstances.
Enable/disable audio in the PCoIP session
Directive | Options | Default |
---|---|---|
pcoip.enable_audio |
0 (off), 1 (on) | On |
This setting takes effect when you start the next session. Determines whether audio is enabled in PCoIP sessions. Both endpoints must have audio enabled. When this setting is enabled, PCoIP audio is allowed. When it is disabled, PCoIP audio is disabled. When this setting is not configured, audio is enabled by default.
Hide local cursor
Directive | Options | Default |
---|---|---|
pcoip.disable_locally_rendered_cursor |
0 (off), 1 (on) | Off |
This setting takes effect immediately. When this setting is enabled the local cursor on the client will be hidden. This may resolve duplicate cursor issues if there is a host rendered cursor within the host environment but may also result in no visible cursor. With this setting enabled there may be delays in mouse movements due to network latency and video processing times. By default, this setting is disabled, meaning that local cursors will be used, providing the most responsive user experience.
License server URL
Directive | Options | Default |
---|---|---|
pcoip.license_server_path |
string (up to 511 characters) | — |
This setting takes effect when you start the next session. This policy sets the license server path. Enter the license server path in 'https://address:port/request' or 'http://address:port/request' format.
Maximum PCoIP session bandwidth
Directive | Range | Increment | Default |
---|---|---|---|
pcoip.max_link_rate |
104 – 900000 | 100 | 900000 |
This setting takes effect when you start the next session. Specifies the maximum bandwidth, in kilobits per second, in a PCoIP session. The bandwidth includes all imaging, audio, virtual channel, USB, and control PCoIP traffic.
Set this value based on the overall capacity of the link to which your endpoint is connected, taking into consideration the number of expected concurrent PCoIP sessions. For example, with a single user VDI configuration (e.g. a single PCoIP session) that connects through a 4Mbit/s Internet connection, set this value to 4Mbit (or 10% less than this value to leave some allowance for other network traffic).
Setting this value prevents the agent from attempting to transmit at a higher rate than the link capacity, which would cause excessive packet loss and a poorer user experience. This value is symmetric. It forces the client and agent to use the lower of the two values that are set on the client and agent side. For example, setting a 4Mbit/s maximum bandwidth forces the agent to transmit at a lower rate, even though the setting is configured on the client.
When this setting is disabled or not configured on an endpoint, the endpoint imposes no bandwidth constraints. When this setting is configured, the setting is used as the endpoint's maximum bandwidth constraint in kilobits per second.
The default value when this setting is not configured is 900000 kilobits per second.
This setting applies to the agent and client. If the two endpoints have different settings, the lower value is used.
PCoIP Ultra
Directive | Options | Range | Increment | Default |
---|---|---|---|---|
pcoip.enable_ultra |
0 (off), 1 (on) | On | ||
pcoip.ultra |
0—Disabled 1—CPU Offload 2—GPU Offload 3—Automatic Offload |
— | ||
pcoip.ultra_offload_mpps |
1 – 40 | 1 | 10 |
This setting takes effect when you start the next session. When this setting is disabled, PCoIP Ultra will not be used.
-
PCoIP Ultra CPU Offload - these optimizations require CPU support for the AVX2 instruction set on both the remote host and client and are not compatible with the PCoIP Zero client. CPU Offload is recommended for 4K UHD resolutions with video playback requirements of 30 fps (or more) and highest image quality / color accuracy.
-
PCoIP Ultra GPU Offload - these optimizations require an NVIDIA graphics card on the remote host capable of NVENC. GPU Offload is recommended when minimal CPU impact of pixel encoding is desired.
-
PCoIP Ultra Auto Offload - enabling this setting allows PCoIP to automatically switch between CPU and GPU Offload modes; CPU Offload is used by default to provide the best image fidelity, GPU Offload is used during periods of high display activity to provide improved frame rates and bandwidth optimization. This setting is only effective if the remote host and client endpoints are capable of both CPU and GPU Offload.
The PCoIP Ultra Offload MPPS sets the Megapixels Per Second (MPPS) transition rate between PCoIP Ultra CPU Offload and PCoIP Ultra GPU Offload. Under Auto-Offload, PCoIP Ultra uses CPU Offload at lower pixel rates and switches to GPU Offload at the Offload MPPS. Increasing this value results in PCoIP Ultra transitioning to GPU Offload at a higher pixel rate and decreasing this value results in the transition at a lower pixel rate. The default PCoIP Ultra Offload MPPS is set to 10.
PCoIP event log verbosity
Directive | Range | Increment | Default |
---|---|---|---|
pcoip.event_filter_mode |
0 – 3 | 1 | 2 |
This setting takes effect immediately. Configures the PCoIP event log verbosity ranging from 0 (least verbose) to 3 (most verbose).
PCoIP image quality levels
Directive | Options | Range | Increment | Default |
---|---|---|---|---|
pcoip.minimum_image_quality |
30 – 100 | 10 | 40 | |
pcoip.maximum_initial_image_quality |
30 – 100 | 10 | 80 | |
pcoip.frame_rate_vs_quality_factor |
0 – 100 | 10 | 50 | |
pcoip.maximum_frame_rate |
0 – 60 | 1 | — | |
pcoip.use_client_img_settings |
0 (off), 1 (on) | Off |
This setting takes effect immediately. Controls how PCoIP renders images during periods of network congestion. The Minimum Image Quality, Maximum Initial Image Quality, and Maximum Frame Rate values interoperate to provide fine control in network-bandwidth constrained environments.
Use the Minimum Image Quality value to balance image quality and frame rate for limited-bandwidth scenarios. You can specify a value between 30 and 100. The default value is 40. A lower value allows higher frame-rates, but with a potentially lower quality display. A higher value provides higher image quality, but with potentially lower frame rates when network bandwidth is constrained. When network bandwidth is not constrained, PCoIP maintains maximum quality regardless of this value.
Use the Maximum Initial Image Quality value to reduce the network bandwidth peaks required by PCoIP by limiting the initial quality of the changed regions of the display image. You can specify a value between 30 and 100. The default value is 80. A lower value reduces the image quality of content changes and decreases peak bandwidth requirements. A higher value increases the image quality of content changes and increases peak bandwidth requirements. Unchanged regions of the image progressively build to a lossless (perfect) quality regardless of this value. A value of 80 or lower best utilizes the available bandwidth.
The Minimum Image Quality value cannot exceed the Maximum Initial Image Quality value.
Use the Frame Rate vs Image Quality value to favor image sharpness over smooth motion during a PCoIP session when network bandwidth is limited. Lower values favor smoothness, higher values favor sharpness of image.
Use the Maximum Frame Rate value to manage the average bandwidth consumed per user by limiting the number of screen updates per second. You can specify a value between 1 and 60 frames per second. A higher value can use more bandwidth but provides less jitter, which allows smoother transitions in changing images such as video. A lower value uses less bandwidth but results in more jitter.
YUV chroma subsampling is set to 4:2:0 by default. It enables chroma subsampling to further compress the imaging to reduce bandwidth usage at the cost of reduced color accuracy. 4:2:0 subsampling is only supported in combination with PCoIP Ultra GPU optimization. Please note: 4:4:4 subsampling with PCoIP Ultra GPU optimization is GPU dependent and is not supported by all GPUs, in this case, PCoIP will fall back to 4:2:0 subsampling. Please see our support site for further details.
Set the 'Use image settings from zero client' when you want to use the 'Minimum Image Quality', 'Maximum Initial Image Quality', 'Maximum Frame Rate', 'Disable Build to Lossless' values from the client instead of the host. Currently, only Zero Client Firmware 3.5 and above support these settings on the client side.
These image quality values apply to the soft host only and have no effect on a soft client.
When this setting is disabled or not configured, the default values are used.
PCoIP session MTU
Directive | Range | Increment | Default |
---|---|---|---|
pcoip.mtu_size |
500 – 1500 | 1 | 1200 |
This setting takes effect when you start the next session. Specifies the Maximum Transmission Unit (MTU) size for UDP packets for a PCoIP session.
The MTU size includes IP and UDP packet headers. TCP uses the standard MTU discovery mechanism to set MTU and is not affected by this setting. The maximum MTU size is 1500 bytes. The minimum MTU size is 500 bytes. The default value is 1200 bytes.
Typically, you do not have to change the MTU size. Change this value if you have an unusual network setup that causes PCoIP packet fragmentation.
This setting applies to the agent and client. If the two endpoints have different MTU size settings, the lowest size is used.
If this setting is disabled or not configured, the client uses the default value in the negotiation with the agent.
PCoIP session audio bandwidth limit
Directive | Range | Increment | Default |
---|---|---|---|
pcoip.audio_bandwidth_limit |
0 – 100000 | 1 | 512 |
This setting takes effect immediately. Specifies the maximum audio bandwidth that can be used for audio output (sound playback) from the virtual desktop to the client in a PCoIP session. Note that the network transport overhead can add an additional 20-40% bandwidth to this number.
Audio processing monitors the bandwidth needed for audio and selects the audio compression algorithm that provides the best quality possible, without exceeding the bandwidth limit:
-
512 kbit/s or higher - 7.1 surround, high-quality, compressed audio
-
384 kbit/s or higher - 5.1 surround, high-quality, compressed audio
-
256 kbit/s or higher - stereo, high-quality, compressed audio
-
48 kbit/s to 255 kbit/s - stereo audio ranging between FM radio quality down to AM radio quality
-
32 kbit/s to 47 kbit/s - monaural AM radio or phone call quality
-
Below 32 kbit/s - results in no audio playback
If this setting is not configured, a default audio bandwidth limit of 512 kbit/s is configured to constrain the audio compression algorithm selected.
Note that zero clients on older firmware have less efficient audio compression algorithms that may require setting this limit higher to achieve the same audio quality or upgrading the firmware.
PCoIP session bandwidth floor
Directive | Range | Increment | Default |
---|---|---|---|
pcoip.device_bandwidth_floor |
0 – 100000 | 1 | — |
This setting takes effect immediately. Specifies a lower limit, in kilobits per second, for the bandwidth that is reserved by the PCoIP session.
This setting configures the minimum expected bandwidth transmission rate for the endpoint. When you use this setting to reserve bandwidth for an endpoint, the session does not have to wait for bandwidth to become available, which improves session responsiveness.
Make sure that you do not over-subscribe the total reserved bandwidth for all endpoints. Make sure that the sum of bandwidth floors for all connections in your configuration does not exceed the network capability.
The default value is 0, which means that no minimum bandwidth is reserved. When this setting is disabled or not configured, no minimum bandwidth is reserved.
This setting applies to the agent and client, but the setting only affects the endpoint on which it is configured.
PCoIP statistics interval
Directive | Range | Increment | Default |
---|---|---|---|
pcoip.server_statistics_interval_seconds |
0 – 65535 | 1 | — |
This setting takes effect immediately. Configuring this allows you to set an interval in seconds for logging performance statistics to the PCoIP server log. When not configured, logging is disabled by default.
PCoIP transport header
Directive | Options | Default |
---|---|---|
pcoip.transport_session_priority |
1—High Priority 2—Medium Priority (default) 3—Low Priority 4—Undefined Priority |
— |
This setting takes effect when you start the next session. Configures the PCoIP transport header.
PCoIP transport header is a 32-bit long header which is added to all PCoIP UDP packets (only if the transport header is enabled/supported by both sides). PCoIP transport header allows network devices to make better prioritization/Qos decisions when dealing with network congestions. The transport header is enabled by default.
The transport session priority determines the PCoIP session priority reported in the PCoIP Transport Header. Network devices make better prioritization/Qos decisions based on the specified transport session priority. The transport session priority value is negotiated by the PCoIP agent and client. If agent has specified a transport session priority value (high, medium, or low), then the session uses the agent specified session priority. If only the client has specified a transport session priority (high, medium, or low), then the session uses the client specified session priority. If neither agent nor client has specified a transport session priority (or specified 'undefined priority'), then the session uses/defaults to the medium session priority.
PCoIP virtual channels
Directive | Options | Default |
---|---|---|
pcoip.vchan_list |
string (up to 255 characters) | — |
This setting takes effect when you start the next session. Specifies the virtual channels that can or cannot operate over a PCoIP session.
There are two modes of operation:
- Enable all virtual channels except for <list> (default setting)
- Disable all virtual channels except for <list>
When specifying which virtual channels to include or not include in the list, the following rules apply:
- An empty list is allowed
- Multiple virtual channel names in the list must be separated by the vertical bar (|) character. For example: channelA|channelB
- Vertical bar or backslash () characters in virtual channel names must be preceded by a backslash. For example: the channel name "awk|ward\channel" must be specified as "awk|ward\channel" (without the double quotes)
- A maximum of 15 virtual channels are allowed in a single PCoIP session
The virtual channel must be enabled on both agent and client for it to be used.
Proxy Access to a remote License Server
Directive | Options | Range | Increment | Default |
---|---|---|---|---|
pcoip.license_proxy_server |
string (up to 511 characters) | — | ||
pcoip.license_proxy_port |
0 – 65535 | 1 | — |
This setting takes effect when you start the next session. If a proxy is required to access a local License Server or the Cloud License Server, enter those parameters here. These parameters are loaded only during agent startup.
Timezone redirection
Directive | Options | Default |
---|---|---|
pcoip.enable_timezone_redirect |
0 (off), 1 (on) | On |
This setting takes effect when you start the next session. Configuring this allows you to enable or disable timezone redirection. When not configured, timezone redirection is enabled by default.