NICE DCV – Tips and Tricks

Working since many years with NICE DCV our technical team at NI SP has compiled a number of Tips and Tricks related to related to NICE DCV administration and tuning. If you have any further questions just let us know.

Location of NICE DCV Logfiles

Typically Windows DCV Logfiles are here:   C:\ProgramData\NICE\dcv\log\ and

Linux DCV Logfiles are here: /var/log/dcv/

Changing the debug level in the DCV Client and the DCV Server

To create debug logfiles on the DCV client side:

  • open a command prompt and go to the folder where the dcvviewer application is located (it is usually in C;\Program Files (x86)\NICE\DCV\Client\bin) and the start the DCV Client:
  • dcvviewer.exe --log-level=debug --log-file-name=log.txt
  • reproduce the issue
  • send us the log.txt file that has been generated in that folder

On the server side on Linux you can add in the [log] section in /etc/dcv/dcv.conf:

[log]
log-level="debug"

This will enable debug logs after restart of the DCV server. After debugging please comment this entry again or configure the default “info”. The verbosity levels (in order of the amount of detail they provide) are: ‘error’,
‘warning’, ‘info’, and ‘debug’.

On Windows the registry entry is HKEY_USERS\S-1-5-18\Software\GSettings\com\nicesoftware\dcv\log\level where we can set the value to “debug”. In DCV on Windows the loglevel is immediately active in the DCV agent server.

To enable debug logs in the browser please connect adding “?logLevel=debug” to the URL – eg.: https://11.60.0.25:8443/?logLevel=debug

Disable NICE DCV Authentication in 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/key 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.

Allow different users to connect to DCV on Windows

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

The default owner proposed at installation time is Administrator. You can change it during installation time or afterwards in the registry.

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. From the DCV admin guide:

The default permissions file is used for all sessions if you do not specify a custom permissions file when creating a session. The default permissions file grants only the session owner full access to all features.

You can customize the default permissions file to include custom authorizations. The default permissions file is located at C:\Program Files\NICE\DCV\Server\conf\default.perm on Windows NICE DCV servers.”

You can configure a group (e.g. osgroup:YOUR_GROUP) or allow all users (%any%) to connect in default.perm:

[groups]
mygroup1=dom\user1, user2

[aliases]
; create permission alias
file-management=file-upload, file-download, clipboard-management

[permissions]
; Example to allow all users to connect
%any% allow builtin

; Example to allow users from osgroup YOUR_GROUP to connect
osgroup:YOUR_GROUP allow builtin

; allow the predefined mygroup to connect
group:mygroup1 allow builtin


The following features can be configured in the permissions file which allows for fine-granular permission control e.g. related to file transfer, cut&paste, USB devices, … :

builtin — All features.
display — Receive visual data from the NICE DCV server.
clipboard-copy — Copy data from the NICE DCV server to the client clipboard.
clipboard-paste — Paste data from the client clipboard to the NICE DCV server.
file-download — Download files from the session storage.
file-upload — Upload files to the session storage.
mouse — Input from the client pointer to the NICE DCV server.
keyboard — Input from the client keyboard to the NICE DCV server.
keyboard-sas — Use the secure attention sequence (CTRL+Alt+Del). Requires the keyboard
feature. Supported on version DCV 2017.3 and later.
touch — Use native touch events. Supported on version DCV 2017.3 and later. Not supported on Linux NICE DCV servers.
stylus — Input from specialized USB devices, such as 3D pointing devices or graphic tablets.
usb — Read the smart card from the client.
pointer — View NICE DCV server mouse position events and pointer shapes. Supported on version DCV 2017.3 and later.
audio-out — Play back NICE DCV server audio on the client.
audio-in — Insert audio from the client to the NICE DCV server.
printer — Print PDFs or XPS files from the NICE DCV server to the client.
smartcard — Read the smart card from the client.

Linux: nVidia driver not working anymore

In case an update of the kernel is performed e.g. via the yum update command, then the nVidia driver needs to be reinstalled. The related commands typically look similar like this (please remember to use dcvgldiag to check the DCV installation):

# reinstall the nVidia driver
sudo sh NVIDIA-Linux-x86_64-430.26.run
sudo nvidia-xconfig --preserve-busid --enable-all-gpus
# Add line ‘Option "UseDisplayDevice" "None" ’ into Screen section
sudo vim /etc/X11/xorg.conf
# ensure that X server is running; you might get logged out by these commands
sudo systemctl isolate multi-user.target
sudo systemctl isolate graphical.target
# enable DCV for 3D
sudo dcvgladmin enable
# verify the installation with dcvgldiag
dcvgldiag ### typical out like below

dcvgldiag is a very convenient tool to check the DCV installation on Linux which is part of the NICE DCV download:

root@host# dcvgldiag
NICE DCV - Diagnostic Script
 Host:             ip-172-31-19-22.eu-west-1.compute.internal
 Architecture:     x86_64
 Operating System: Red Hat Enterprise Linux Server release 7.7 (Maipo)
 Kernel Version:   3.10.0-1062.1.2.el7.x86_64
 Nvidia GPU:       GRID K520
 Nvidia Driver:    430.26
 Runlevel:         5
 X configuration file: /etc/X11/xorg.conf
 DCV GL is enabled for 64 bit applications.
 Running tests: ………………. DONE
 No problem found.
 A detailed report about the tests is available in '/root/dcvgldiag-qc1nmo'

And check if the nVidia driver is working fine again:

# check if the driver is working properly
root@host# nvidia-smi
Mon Jun 29 12:46:29 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.26       Driver Version: 430.26       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GRID K520           Off  | 00000000:00:03.0 Off |                  N/A |
| N/A   46C    P0    44W / 125W |    357MiB /  4037MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      2500      G   /usr/bin/X                                    62MiB |
|    0      2778      G   /usr/bin/gnome-shell                           4MiB |
|    0      3452      C   /usr/libexec/dcv/dcvagent                     60MiB |
|    0      4004      G   /usr/bin/gnome-shell                          59MiB |
|    0      7712      G   ...ownloads/lsprepost4.6_centos7/lsprepost   162MiB |
+-----------------------------------------------------------------------------+

Adapt the DCV image quality influencing bandwidth consumption

For finer-grained control, you can tune the 0-100 quality setting on the server side by modifying the /etc/dcv/dcv.conf file and adding a line to the display section:

[display]
quality="(30,50)"

​The format is (minimum_quality,maximum_quality).  So in this case it would lower the maximum H264 quality from it’s default value of 80 to 50.

On Windows it would be the respective parameter in HKEY_USERS/S-1-5-18/Software/GSettings/com/nicesoftware/dcv/display/quality were we can create a string entry with “(30,50)”.

Any questions just let us know.