Windows – Tips and Tricks

NICE DCV Product Codes and Features

Here you can find an overview of NICE DCV Product Codes and Features.

Any suggestions or questions reach out to us! Location of NICE DCV Logfiles

Connect to a specific DCV session

When running multiple DCV sessions on one server you can specify in the DCV client to which session you would like to connect to by adding “#session_name” – e.g. #session3 in the example below:

This also is possible in the DCV web client by specifying the session name in the URL like e.g. https://dcv.ni-sp.com#session3.

Adapting the DCV Web Client default resolution

The default maximum remote desktop resolution for the DCV WebClient is set to (1920, 1080). This can be adapted by setting the parameter “web-client-max-head-resolution“.

On a Windows DCV server you can set the registry key HKEY_USERS​\​S-1-5-18​\​Software​\​GSettings​\​com​\​nicesoftware​\​dcv​\display\web-client-max-head-resolution to the desired maximum resolution.

Disable NICE DCV Authentication on Windows

To disable the NICE DCV authentication on Windows you can follow these steps:

  1. Open the Windows Registry Editor.
  2. Navigate to the HKEY_USERS/S-1-5-18/Software/GSettings/com/nicesoftware/dcv/security/ and select the authentication parameter.​ ​If there is no authentication parameter in the registry key, create one
    ​a. In the left-hand pane, open the context (right-click) menu for the authentication key and​ ​choose New, string value.
    b. For Name, type authentication and press Enter.
  3. Open the authentication parameter. For Value data, enter either system or none.
  4. Choose OK and close the Windows Registry Editor.
  5. Restart the DCV Server

Enabling the Grip Bar in Full-Screen Mode

When you have enabled full-screen mode in the NICE DCV client you can move to the upper screen area to trigger showing the menu bar. In case this automatic behaviour does not fit your use case you can click the pin to the right of the dotted bar (“…”) and the grip bar is stuck. You can then also move it to the place where it works best for you. Screenshots are below with pin open in the first screenshot:

Locked grip bar after clicking the pin and moved to another location:

How to increase image quality forcing YUV444 or YUV420 lossless updates

In some cases high fidelity of images is needed like in movie editing where chroma artifacts introduced by the H264 stream can be an issue. In this case the colorspace can be changed for better image quality while increasing the network usage.

Force YUV444 colorspace for video content

Tradeoff: improve the overall quality, but increase the network usage.
To enable this on the Windows client there are two options:

  • Launch the client from the command line and set the option –enable-yuv444-decoding=true, for example with the command:C:\WINDOWS\system32>”C:\Program Files (x86)\NICE\DCV\Client\bin\dcvviewer.exe” –enable-yuv444-decoding=true
  • Set the EnableYUV444Decoding=true setting in the connection file [options] section. For example, add this configuration to the connection file:[options] EnableYUV444Decoding=true

It is not possible to set this option on the web client.

Force YUV colorspace for lossless updates

Tradeoff: reduce flickering, but lossless updates will not have the exact RGB values of the server source.

To enable this on the Windows client:

  • Launch the client from the command line and set the option –enable-lossless-yuv-decoding=true, for example with the command:C:\WINDOWS\system32>”C:\Program Files (x86)\NICE\DCV\Client\bin\dcvviewer.exe” –enable-lossless-yuv-decoding=true
  • Set the EnableLosslessYUVDecoding=true setting in the connection file [options] section. For example, add this configuration to the connection file:[options] EnableLosslessYUVDecoding=true

It is not possible to set this option on the web client.

Check supported display resolutions

On Windows, you can use the following command from a PowerShell terminal to get the list of supported resolutions:

PS C:\> foreach ($video in Get-WmiObject -Class CIM_VideoControllerResolution) { Write-Host $video }
....
\\EC2AMAZ-PDQBG1E\root\cimv2:CIM_VideoControllerResolution.SettingID="1920 x 1080 x 4294967296 colors @ 59 Hertz“
\\EC2AMAZ-PDQBG1E\root\cimv2:CIM_VideoControllerResolution.SettingID="1920 x 1200 x 4294967296 colors @ 59 Hertz“
\\EC2AMAZ-PDQBG1E\root\cimv2:CIM_VideoControllerResolution.SettingID="1920 x 1440 x 4294967296 colors @ 59 Hertz“
\\EC2AMAZ-PDQBG1E\root\cimv2:CIM_VideoControllerResolution.SettingID="2048 x 1536 x 4294967296 colors @ 59 Hertz“
\\EC2AMAZ-PDQBG1E\root\cimv2:CIM_VideoControllerResolution.SettingID="2560 x 1440 x 4294967296 colors @ 59 Hertz“
\\EC2AMAZ-PDQBG1E\root\cimv2:CIM_VideoControllerResolution.SettingID="2560 x 1600 x 4294967296 colors @ 59 Hertz“
\\EC2AMAZ-PDQBG1E\root\cimv2:CIM_VideoControllerResolution.SettingID="3840 x 2160 x 4294967296 colors @ 60 Hertz“
\\EC2AMAZ-PDQBG1E\root\cimv2:CIM_VideoControllerResolution.SettingID="4096 x 2160 x 4294967296 colors @ 60 Hertz“

Windows DCV session with different users as owners

DCV on Windows by default starts one session, this session has an “owner”.

The default owner proposed at installation time is Administrator, but you can change it, see:

https://docs.aws.amazon.com/en_us/dcv/latest/adminguide/config-param-ref.html#session_management_automatic_console_session

By default, only the owner can connect to that session. If you want multiple users to be able to connect to the session, you have to change the DCV session permissions:

https://docs.aws.amazon.com/en_us/dcv/latest/adminguide/security-authorization.html

If for instance, you set a permission file that says that user1, user2 and user3 are authorized to connect, any of those users can connect to the session.

If instead you want that user1, user2, user3 can all start a session, but once the session is started only the same user that started the session can connect, then you need to use a session broker like EnginFrame/Neutro to dynamically manage sessions.

Embed inside an iFrame

DCV by default does not allow it to be embedded inside an iFrame to avoid Clickjacking attacks.

However there are use cases where we want to intentionally remove this limitation to allow us to use DCV inside another Web Application. This is controlled by two HTTP headers:

To use DCV inside an iFrame you must change two settings:

  • web-x-frame-options
  • web-extra-http-headers

The first one sets the X-Frame-Options value, the allowed values are: “DENY”, “SAMEORIGIN” and “ALLOW-FROM <uri>” 

The default is DENY. Chrome and Safari do not support the “ALLOW-FROM <uri>” value (https://bugs.chromium.org/p/chromium/issues/detail?id=129139) so in that case you must also set the second option to set the Content-Security-Policy header, for this you use the setting web-extra-http-headers, which allows to specify an array of extra headers to be added to the HTTP/HTTPS headers. The array should be filled with pairs like: [(‘header_name’,’header_content’)]. Multiple headers can be added. For instance, if the website answers to the address https://myportal.com and you want to stream DCV inside an iframe, you should use the following configuration:

Windows: HKEY_USERS/S-1-5-18/Software/GSettings/com/nicesoftware/dcv/connectivity

web-x-frame-options ALLOW-FROM https://myportal.com
web-extra-http-headers  [("Watchcloud", "Production Engine"), ("Content-Security-Policy", "frame-ancestors https://*.myportal.com https://myportal.com")] 

Disable clipboard copy or paste for all users

To deny the clipboard usage for all users of all sessions you have to add these rows to the default permissions file (C:\Program Files\NICE\DCV\Server\conf\default.perm):

[permissions]
%any% deny clipboard-copy clipboard-paste

Disable screenshot

Regarding the screenshot feature ​we have “disable-screenshot” setting on the client side to disable it. For now we don’t have any feature server-side.

On the client side there are 2 ways to disable the screenshot feature:

  1. Launch the client with the –disable-screenshot  command line parameter
  2. Create a dcv connection file and add the following
[options]
disablescreenshot=true

You have to add the --disable-screenshot parameter to dcvviewer.exe command line.