Windows – FAQ

Screen saver is not working

DCV makes some tricks to avoid the display to be shut down for power saving and this affects the screen saver. You can try to change the disable-display-sleep setting refer to:

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

Key: HKEY_USERS/S-1-5-18/Software/GSettings/com/nicesoftware/dcv/windows/
Name: disable-display-sleep
Type: DWORD
Value: 0

“Failed to create windows swapchain”

This is the Windows related information:

https://support.microsoft.com/en-us/help/3019314/error-generated-when-desktop-duplication-api-capable-application-is-ru

Failed to create windows swapchain with 0x80070005
CDesktopCaptureDWM: IDXGIOutput1::DuplicateOutput failed: 0x887a0004

To fix the problem, you need to setup NVIDIA Optimus driver in your Windows and select the NVIDIA adapter as your main card and high performance card and disable the second card (usually an Intel onboard gpu). Then reboot your Windows and try again.

Is DCV server compatible with Windows 7?

DCV server on Windows 7 is possiblem but it requires NvFBC compatible NVIDIA GPU.

Here is the link to check the supported nvidia GPUs list: 

http://developer.download.nvidia.com/designworks/capture-sdk/docs/7.1/NVIDIA_Capture_SDK_7_1_Release_Notes.pdf  

If your GPU is not listed there, one solution could be to upgrade to Windows 10. For Windows 10 NvFBC will not be used.

Spinning wheel after login

In general the blue spinning wheel is a desktop streaming problem (pixels not reaching the client), while the client is actively connected to the server. It is not a problem on authentication on permissions, as otherwise the client would directly return an error without showing the spinning wheel.  

Sometimes, after a successful log in, DCV gets stuck on a spinning wheel (like in the above image). The reason is that the client is not receiving any frames (pixels not reaching the client) on the display channel. It is not a problem on authentication on permissions, as otherwise the client would directly return an error without showing the spinning wheel.  

If you are using DCV 2023.1, this version introduced the Indirect Display Driver (IDD). In specific cases you may need to disable IDD to get the screen working. Please check this tutorial if is your case, clicking here.

How adapt the default timeout of DCV sessions

In case of Windows you can adapt the default timeout of 60 min in the registry at DWORD key “connectivity\idle-timeout”. Using PowerShell to set the idle-timeout to e.g. 0 to never timeout you can issue the following command:

New-ItemProperty -Path "Microsoft.PowerShell.Core\Registry::\HKEY_USERS\S-1-5-18\Software\GSettings\com\nicesoftware\dcv\connectivity" -Name idle-timeout -PropertyType DWORD -Value 0 -Force

How to modify the Windows DCV Client connection history

The history of connections in the DCV client is stored in the Windows registry. In case you want to clean or adapt the history you can modify this registry key: Computer\HKEY_CURRENT_USER\SOFTWARE\Nice\DCV\Application\ShortcutHistory. To clean the history you can use the following Powershell command: 

Set-ItemProperty -Path "Microsoft.PowerShell.Core\Registry::\HKEY_CURRENT_USER\SOFTWARE\Nice\DCV\Application" -Name ShortcutHistory -Value ""

How to disable the Windows IDD driver in NICE DCV

The DCV version 2023.1 introduced the Indirect Display Driver (IDD) for Windows hosts to optimize the graphics pipeline and significantly reduces overall CPU usage. The IDD also supports blanking the connected physical display. In case that is not of interest you can disable the IDD driver by following these steps:

You can select to not install the IDD driver when you install the DCV server or you can set these registry keys (and restart the dcv server service)

Key: HKEY_USERS\S-1-5-18\Software\GSettings\com\nicesoftware\dcv\display

Value Name: layout-managers
Value Type: String (REG_SZ)
Value Data: ['nvapi', 'amd', 'dod', 'winapi']

Value Name: framebuffer-readers
Value Type: String (REG_SZ)
Value Data: ['desktopduplication', 'gdi']

And here the respective Powershell commands to disable the IDD driver:

New-ItemProperty -Path "Microsoft.PowerShell.Core\Registry::\HKEY_USERS\S-1-5-18\Software\GSettings\com\nicesoftware\dcv\display" -Name layout-managers -PropertyType STRING -Value "['nvapi', 'amd', 'dod', 'winapi']"

New-ItemProperty -Path "Microsoft.PowerShell.Core\Registry::\HKEY_USERS\S-1-5-18\Software\GSettings\com\nicesoftware\dcv\display" -Name framebuffer-readers -PropertyType STRING -Value "['desktopduplication', 'gdi']"

To verify you can inspect the agent.log and should see log entries similar to:

...
INFO  display - Skipping display layout manager extension displaylayoutmanageridd, as it is not enabled
...
INFO  display - Skipping reader fbreaderidd, as it is not enabled

How to clean the layout config

You can use Powershell to clean monitors config:

Stop-Service -Name dcvserver -Force
Get-Item HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\DCV* | Remove-Item -Force -Verbose -Recurse
Get-Item HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\NOEDID* | Remove-Item -Force -Verbose -Recurse
Get-Item HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Connectivity\DCV* | Remove-Item -Force -Verbose -Recurse
Get-Item HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Connectivity\NOEDID* | Remove-Item -Force -Verbose -Recurse
Get-Item HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\ScaleFactors\DCV* | Remove-Item -Force -Verbose -Recurse
Get-Item HKLM:\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\ScaleFactors\NOEDID* | Remove-Item -Force -Verbose -Recurse
Start-Service -Name dcvserver