“Authentication is required to create a color managed device”
If you are having problem with colord
service when you open a session, please execute the code below and then restart your session.
cat << EOF | sudo tee --append /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla
[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes
EOF
Reduce chroma (flickering) artifacts forcing YUV444 or YUV420 lossless updates
The following options let you customize the colorspace settings used by DCV in order to reduce flickering effects in some workloads.
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
To enable this on the Linux client and Mac client, you need to use the gsettings tool:
gsettings set com.nicesoftware.DcvViewer.display enable-yuv444-decoding 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
To enable this on the Linux client and macOS client, you need to set the gsettings tool:
gsettings set com.nicesoftware.DcvViewer.display lossless-colorspace yuv_rec601
It is not possible to set this option on the web client.
KDE
Blank desktop when multiple monitors are used
This might be due to a wrong update of the display layout defined in the $HOME/.kde/share/apps/kscreen/ directory.
This can happen because the disabled displays are put on top of the enabled one.
Example of a working layout:
[ { "enabled" : true, "id" : "VNC-output-0", "metadata" : { "name" : "VNC-output-0" }, "mode" : { "refresh" : 59.9628, "size" : { "height" : 1080, "width" : 1920 } }, "pos" : { "x" : 0, "y" : 0 }, "primary" : true, "rotation" : 1 }, { "enabled" : false, "id" : "VNC-output-1", "metadata" : { "name" : "VNC-output-1" }, "pos" : { "x" : 1928, "y" : 0 }, "primary" : false, "rotation" : 1 }, { "enabled" : false, "id" : "VNC-output-2", "metadata" : { "name" : "VNC-output-2" }, "pos" : { "x" : 2728, "y" : 0 }, "primary" : false, "rotation" : 1 }, { "enabled" : false, "id" : "VNC-output-3", "metadata" : { "name" : "VNC-output-3" }, "pos" : { "x" : 3528, "y" : 0 }, "primary" : false, "rotation" : 1 } ]
Example of a non working layout:
[ { "enabled" : true, "id" : "VNC-output-0", "metadata" : { "name" : "VNC-output-0" }, "mode" : { "refresh" : 59.8708, "size" : { "height" : 616, "width" : 720 } }, "pos" : { "x" : 0, "y" : 0 }, "primary" : true, "rotation" : 1 }, { "enabled" : false, "id" : "VNC-output-1", "metadata" : { "name" : "VNC-output-1" }, "pos" : { "x" : 0, "y" : 0 }, "primary" : false, "rotation" : 1 }, { "enabled" : false, "id" : "VNC-output-2", "metadata" : { "name" : "VNC-output-2" }, "pos" : { "x" : 0, "y" : 0 }, "primary" : false, "rotation" : 1 }, { "enabled" : false, "id" : "VNC-output-3", "metadata" : { "name" : "VNC-output-3" }, "pos" : { "x" : 0, "y" : 0 }, "primary" : false, "rotation" : 1 } ]
In the second case the disabled displays are placed on top of the main one, which might explain the black screen issue.
Check if removing the content of $HOME/.kde/share/apps/kscreen/ and then restarting the session prevents the issue.
Black window issue with OpenGL applications for non-local users on Linux
Overview
When running an OpenGL application (for example dcvgltest or glxgears) in a DCV session the application window is black and shows no content.
When using strace on the application something as the following can be seen:
$ strace glxgears [...] open("/home/USER/.cache/nvidia/GLCache/b9f107672c6acfa590fe3c3a283273dc/18511a519eda7886/765d25cb924374a7.toc", O_RDWR|O_CLOEXEC) = 18
fcntl(18, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_CUR, l_start=0, l_len=1}) = -1 ENOLCK (No locks available)
This only happens for non local users, i.e. for users whose home has been mounted from an NFS filesystem.
The OpenGL application is trying to access the GL cached files in the mounted shared home directory, and setting a lock on the file. Because of how the shared directory is configured, the lock cannot be acquired and the fcntl(FD, F_SETLK, …) system call operations fails and the process hangs.
File locking operations are disabled on a shared NFS filesystem (see the man manual of nfs(5)), and needs a special configuration to be enabled.
Solution 1: fixing it locally
Force the use a local directory for the OpenGL application cache, by setting the __GL_SHADER_DISK_CACHE_PATH environment variable.
This can be done for example by using the following command in the terminal before launching the OpenGL application:
export __GL_SHADER_DISK_CACHE_PATH=/tmp/${USER}-glcache
Solution 2: fixing the NFS server
Enable the nfslock in the NFS server.
Creating a xorg.conf file
For NVIDIA cards
Please follow the respective tutorial clicking here.
For non-GPU servers
Here is an example using dummy driver to get your virtual screen working:
Section "ServerFlags"
Option "DontVTSwitch" "true"
Option "AllowMouseOpenFail" "true"
Option "PciForceNone" "true"
Option "AutoEnableDevices" "false"
Option "AutoAddDevices" "false"
EndSection
Section "InputDevice"
Identifier "dummy_mouse"
Option "CorePointer" "true"
Driver "void"
EndSection
Section "InputDevice"
Identifier "dummy_keyboard"
Option "CoreKeyboard" "true"
Driver "void"
EndSection
Section "Device"
Identifier "dummy_videocard"
Driver "dummy"
Option "ConstantDPI" "true"
Option "NoDDC" "true"
Option "IgnoreEDID" "true"
#VideoRam 4096000
#VideoRam 256000
VideoRam 192000
EndSection
Section "Monitor"
Identifier "dummy_monitor"
HorizSync 5.0 - 1000.0
VertRefresh 5.0 - 200.0
#This can be used to get a specific DPI, but only for the default resolution:
#DisplaySize 508 317
#NOTE: the highest modes will not work without increasing the VideoRam
# for the dummy video card.
Modeline "32768x32768" 15226.50 32768 35800 39488 46208 32768 32771 32781 32953
Modeline "32768x16384" 7516.25 32768 35544 39192 45616 16384 16387 16397 16478
Modeline "16384x8192" 2101.93 16384 16416 24400 24432 8192 8390 8403 8602
Modeline "8192x4096" 424.46 8192 8224 9832 9864 4096 4195 4202 4301
Modeline "5496x1200" 199.13 5496 5528 6280 6312 1200 1228 1233 1261
Modeline "5280x1080" 169.96 5280 5312 5952 5984 1080 1105 1110 1135
Modeline "5280x1200" 191.40 5280 5312 6032 6064 1200 1228 1233 1261
Modeline "5120x3200" 199.75 5120 5152 5904 5936 3200 3277 3283 3361
Modeline "4800x1200" 64.42 4800 4832 5072 5104 1200 1229 1231 1261
Modeline "3840x2880" 133.43 3840 3872 4376 4408 2880 2950 2955 3025
Modeline "3840x2560" 116.93 3840 3872 4312 4344 2560 2622 2627 2689
Modeline "3840x2048" 91.45 3840 3872 4216 4248 2048 2097 2101 2151
Modeline "3840x1080" 100.38 3840 3848 4216 4592 1080 1081 1084 1093
Modeline "3600x1200" 106.06 3600 3632 3984 4368 1200 1201 1204 1214
Modeline "3288x1080" 39.76 3288 3320 3464 3496 1080 1106 1108 1135
Modeline "2048x2048" 49.47 2048 2080 2264 2296 2048 2097 2101 2151
Modeline "2048x1536" 80.06 2048 2104 2312 2576 1536 1537 1540 1554
Modeline "2560x1600" 47.12 2560 2592 2768 2800 1600 1639 1642 1681
Modeline "2560x1440" 42.12 2560 2592 2752 2784 1440 1475 1478 1513
Modeline "1920x1440" 69.47 1920 1960 2152 2384 1440 1441 1444 1457
Modeline "1920x1200" 26.28 1920 1952 2048 2080 1200 1229 1231 1261
Modeline "1920x1080" 23.53 1920 1952 2040 2072 1080 1106 1108 1135
Modeline "1680x1050" 20.08 1680 1712 1784 1816 1050 1075 1077 1103
Modeline "1600x1200" 22.04 1600 1632 1712 1744 1200 1229 1231 1261
Modeline "1600x900" 33.92 1600 1632 1760 1792 900 921 924 946
Modeline "1440x900" 30.66 1440 1472 1584 1616 900 921 924 946
ModeLine "1366x768" 72.00 1366 1414 1446 1494 768 771 777 803
Modeline "1280x1024" 31.50 1280 1312 1424 1456 1024 1048 1052 1076
Modeline "1280x800" 24.15 1280 1312 1400 1432 800 819 822 841
Modeline "1280x768" 23.11 1280 1312 1392 1424 768 786 789 807
Modeline "1360x768" 24.49 1360 1392 1480 1512 768 786 789 807
Modeline "1024x768" 18.71 1024 1056 1120 1152 768 786 789 807
Modeline "768x1024" 19.50 768 800 872 904 1024 1048 1052 1076
EndSection
Section "Monitor"
Identifier "dummy_monitor2"
HorizSync 5.0 - 1000.0
VertRefresh 5.0 - 200.0
Option "RightOf" "dummy_monitor"
#This can be used to get a specific DPI, but only for the default resolution:
#DisplaySize 508 317
#NOTE: the highest modes will not work without increasing the VideoRam
# for the dummy video card.
Modeline "32768x32768" 15226.50 32768 35800 39488 46208 32768 32771 32781 32953
Modeline "32768x16384" 7516.25 32768 35544 39192 45616 16384 16387 16397 16478
Modeline "16384x8192" 2101.93 16384 16416 24400 24432 8192 8390 8403 8602
Modeline "8192x4096" 424.46 8192 8224 9832 9864 4096 4195 4202 4301
Modeline "5496x1200" 199.13 5496 5528 6280 6312 1200 1228 1233 1261
Modeline "5280x1080" 169.96 5280 5312 5952 5984 1080 1105 1110 1135
Modeline "5280x1200" 191.40 5280 5312 6032 6064 1200 1228 1233 1261
Modeline "5120x3200" 199.75 5120 5152 5904 5936 3200 3277 3283 3361
Modeline "4800x1200" 64.42 4800 4832 5072 5104 1200 1229 1231 1261
Modeline "3840x2880" 133.43 3840 3872 4376 4408 2880 2950 2955 3025
Modeline "3840x2560" 116.93 3840 3872 4312 4344 2560 2622 2627 2689
Modeline "3840x2048" 91.45 3840 3872 4216 4248 2048 2097 2101 2151
Modeline "3840x1080" 100.38 3840 3848 4216 4592 1080 1081 1084 1093
Modeline "3600x1200" 106.06 3600 3632 3984 4368 1200 1201 1204 1214
Modeline "3288x1080" 39.76 3288 3320 3464 3496 1080 1106 1108 1135
Modeline "2048x2048" 49.47 2048 2080 2264 2296 2048 2097 2101 2151
Modeline "2048x1536" 80.06 2048 2104 2312 2576 1536 1537 1540 1554
Modeline "2560x1600" 47.12 2560 2592 2768 2800 1600 1639 1642 1681
Modeline "2560x1440" 42.12 2560 2592 2752 2784 1440 1475 1478 1513
Modeline "1920x1440" 69.47 1920 1960 2152 2384 1440 1441 1444 1457
Modeline "1920x1200" 26.28 1920 1952 2048 2080 1200 1229 1231 1261
Modeline "1920x1080" 23.53 1920 1952 2040 2072 1080 1106 1108 1135
Modeline "1680x1050" 20.08 1680 1712 1784 1816 1050 1075 1077 1103
Modeline "1600x1200" 22.04 1600 1632 1712 1744 1200 1229 1231 1261
Modeline "1600x900" 33.92 1600 1632 1760 1792 900 921 924 946
Modeline "1440x900" 30.66 1440 1472 1584 1616 900 921 924 946
ModeLine "1366x768" 72.00 1366 1414 1446 1494 768 771 777 803
Modeline "1280x1024" 31.50 1280 1312 1424 1456 1024 1048 1052 1076
Modeline "1280x800" 24.15 1280 1312 1400 1432 800 819 822 841
Modeline "1280x768" 23.11 1280 1312 1392 1424 768 786 789 807
Modeline "1360x768" 24.49 1360 1392 1480 1512 768 786 789 807
Modeline "1024x768" 18.71 1024 1056 1120 1152 768 786 789 807
Modeline "768x1024" 19.50 768 800 872 904 1024 1048 1052 1076
Section "ServerLayout"
Identifier "dummy_layout"
Screen "dummy_screen"
InputDevice "dummy_mouse"
InputDevice "dummy_keyboard"
EndSection
Notes:
- You need to install the xserver-xorg-video-dummy package
- This code contains lots of different resolutions, you might select just the ones you actually want.
Then you can restart your X server and check the /var/log/Xorg.0.log
log file to validate your xorg.conf.
Display and color artifacts with Abaqus and GNOME3
The Abaqus/CAE and viewer main window and menus appear translucent on Linux platforms RHEL 7, SLES 12, and SLES 11 SP3.
This only happens with GNOME3, while it is not happening with KDE or with other distributions.
This is a known issue, and can be fixed by setting the XLIB_SKIP_ARGB_VISUALS=1 environment variable or in the script launching the application.
This can be done in abaqus_v6.env (or the SMA/site/custom_v6.env) by adding the following line:
import os; os.environ['XLIB_SKIP_ARGB_VISUALS'] = '1'
Using arbitrary resolutions with console session
If you need to use arbitrary resolutions with console session, you need to enable, in the dcv.conf, the option:
[display]
enable-console-scaling=true
The default value is true.
As a temporary config, you can also execute:
dcv set-config --section display --key enable-console-scaling "true"
In the permanent config (dcv.conf) you need to restart DCV Server. In the second temporary config, you need to recreate the session.
If you are seeing blank screen (usually black), it can happens for two reasons:
- In the remote desktop Xorg is not accepting the resolution due EDID.
- In the local physical screen you see a blank screen while the session is created.
In the first case you need to manually add the possible resolutions in your EDID file or you can ignore the EDID configuration adding this code snippet into your Monitor section:
Option "DDC" "false"
Option "UseEDID" "false"
Option "UseEDIDFreqs" "false"
Option "IgnoreEDID" "true"
If you need to just ignore frequency and resolution, but not other stuffs like colors:
Option "UseEDID" "true"
Option "UseEDIDFreqs" "false"
Option "UseEDIDDPI" "false"
Option "ExactModeTimingsDVI" "true"
Option "ModeValidation" "NoEdidModes"
The key changes:
- Keep
UseEDID
as “true” to preserve color space and other display characteristics UseEDIDFreqs
“false” ignores frequency limits from EDIDUseEDIDDPI
“false” ignores resolution/DPI from EDIDModeValidation
“NoEdidModes” prevents using EDID’s mode listExactModeTimingsDVI
“true” uses driver-calculated timings instead of EDID timings
In the second case you need to disable the disable-local-console feature. Click here to get more details.
Disable local display while console session is created
DCV server offer the paramerer disable-local-console (Default value is true) to control the local displays while the console session is created. The local input devices and display will be ignored if the configuration is true, but will show the screen and accept input devices if is false.
You can edit your dcv.conf:
[display]
disable-local-console=false