Remote session environment windows 10


date26.04.2021

user

В этой статье мы рассмотрим, что делать, если при RDP подключении к удаленному хосту вместо рабочего стола вы видите черный экран. Эта проблема стала довольно часто встречаться в последних билдах Windows 10 и Windows Server 2019, и я решил оставить тут информацию из внутренней базы знания нашего HelpDesk о типовых способах решения.

Итак, вы пытаетесь подключиться к удаленному компьютеру стандартным RDP клиентом Windows (mstsc.exe) и после ввода имени и пароля вместо рабочего стола вы видите черный экран (BLM).

черный экран вместо рабочего стола в RDP сессии

Причин, из-за которых вместо RDP сессии отображается черный экран довольно много. Как-то диагностировать или классифицировать их довольно сложно.

  1. В RDP сессии нажмите сочетание клавиш
    CTRL+ALT+END
    (в том числе позволяет сменить пароль в RDP сеансе), а затем нажмите кнопку Отмена. Иногда это позволяет вернуться к рабочему столу RDP сессии. Если это не помогло, запустите из этого экрана диспетчер задач Task Manager и запустите процесс File Explorer (File -> Run new task ->
    explorer.exe
    -> Ok); ctrl alt end в RDP сессии
  2. Проверьте, что в настройках RDP клиента (
    mstsc.exe
    ) отключено кэширование (отключите опцию Persistent bitmap caching на вкладке Experience) и используется разрешение экрана, которое поддерживается удаленным хостом (на вкладке Display выставите меньшее разрешение экрана, или попробуйте режим Full Screen); отключить кэширование для rdp
  3. Убедитесь, что на вашем и на удаленном компьютере установлены последние версии видеодрайверов. Попробуйте воспользоваться автоматическим обновлением драйверов (если этот режим у вас не отключен), или скачайте и установите драйвер вручную). обновить видео драйверы в windows В некоторых случаях для Windows 10 нужно принудительно выставить режим использования XDDM видео драйвера вместо WDDM. Для этого нужно открыть редактор групповых политик gpedit.msc и в разделе Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Environment установить значение параметра Use WDDM graphics display driver for Remote Desktop Connections = Disabled (либо тоже самое через реестр:
    reg add “HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services” /v “fEnableWddmDriver” /t REG_DWORD /d 0 /f
    . Обновите групповые политики на RDP сервере; Use WDDM graphics display driver for Remote Desktop Connections
  4. В Windows Server 2016 с настроенными таймаутами для RDS сессий пару раз сталкивался с жалобами пользователей, что после подключения в отключенную (disconnected) сессию, она не активировалась корректно и они видели черный экран. Здесь поможет только завершение RDP сеанса пользователем самостоятельно (CTRL+ALT+End -> Sign out), либо принудительное завершение сессии администратором (по аналогии со статьей Не удается завершить требуемую операцию при входе по RDP). Либо настройте более агрессивные настройки отключения disconnected сессий;
  5. Отключите использование протокола UDP 3389 для передачи RDP трафика в дополнение к стандартному RDP порту TCP 3389 (доступно, начиная с Windows Server 2012 R2/Windows 8.1) через параметр Turn off UDP on client на клиенте (Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Connection Client) или через реестр:
    reg add “HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client” /v “fClientDisableUDP” /t REG_DWORD /d 1 /f
    . Для отключения UDP протокола для RDP трафика на стороне сервера, настройте параметр GPO …Remote Desktop Session Host -> Connections -> Select RDP transport protocols = Use only TCP. отключить использование UDP для RDP сессий

Из более экзотических рекомендаций от Microsoft, которые помогают далеко не всегда, но могут исправить именно источник проблемы:

  1. Убедитесь, то RDP сервер, клиент и все сетевое оборудование между ними настроены на одинаковый размер MTU;
  2. Отключите сжатие передаваемых данных в сеансе RDP через редактор локальной GPO – Configure compression for RemoteFX data (Настройка сжатия данных RemoteFX) = Do not use an RDP compression algorithm (Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host). отключить сжатие для rdp трафика
  3. Если проблема с черным экраном в RDP встречается на Windows Server 2019 и Windows 10 1809+. Откройте Event Viewer и проверьте журнал событий Application and Service Logs –> Microsoft –> Windows –> RemoteDesktopService-RdpCoreTS. Проверьте, есть ли там ошибки вида ‘
    Failed GetConnectionProperty’ in CUMRDPConnection::QueryProperty at 2884 err=[0x80004001]
    ‘, ‘
    Connection doesn’t support logon error redirector’ in CUMRDPConnection::GetLogonErrorRedirector at 4199 err=[0x80004001]
    . Если такие ошибки встречаются, нужно отключить использование протокола URCP (Universal Rate Control Protocol), который используется для передачи некоторых данных между RDP клиентом и сервером поверх UDP (MS-RDPEUDP2):
    reg add “HKLM\SOFTWARE\Microsoft\Terminal Server Client” /v “UseURCP” /t REG_DWORD /d 0 /f

    или так
    New-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Terminal Server Client' -Name UseURCP -PropertyType DWord -Value 0




Давайте рассмотрим, что делать, если во время RDP подключении к удаленному хосту вы видите не рабочий стол, а черный экран. Проблема особенно часто встречается в ранних версиях Windows 10 и Windows Server 2019. Забегая наперед скажем, что проблема решается. 

Причины возникновения проблемы

Почему вместо RDP сессии появляется черный экран?

Причины возникновения проблемы

Диагностировать или присвоить их к категории, то есть классифицировать, достаточно проблематично. Но мы постараемся это сделать:

Во время сессии RDP нажмите CTRL+ALT+END, после чего Отмена. Часто так можно вернуться к рабочему столу RDP сессии. Если не помогает, запускаем диспетчер задач Task Manager и процесс File Explorer (File -> Run new task -> explorer.exe -> Ok);

Настройки RDP клиента

Проверьте, что в настройках RDP клиента (mstsc.exe) отключено кэширование (выключаем Persistent bitmap caching на вкладке Experience) и используется разрешение экрана.

Разрешение экрана

Оно поддерживается удаленным хостом. Проверьте, что на вашем ПК стоит последняя версия видеодрайвера. Вы можете установить драйвера ручным способом или установить их автоматическое обновление. 

Настройки

Решение проблемы

Для Windows 10 нужно вставить использование XDDM вместо WDDM. Откроем редактор групповых политик gpedit.msc и в разделе Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Environment ставим значение параметра Use WDDM graphics display driver for Remote Desktop Connections = Disabled. Обновляем групповые политики на RDP сервере.

Групповая политика

В Windows Server 2016 с выставленными таймаутами для RDS сессий иногда приходят жалобы пользователей, что после подключения в отключенную (disconnected) сессию, она не активировалась корректно и они видели черный экран. Здесь поможет только завершение RDP сеанса пользователем самостоятельно (CTRL+ALT+End -> Sign out), либо принудительное завершение сессии администратором (по аналогии со статьей Не удается завершить требуемую операцию при входе по RDP). Либо настройте более агрессивные настройки отключения disconnected сессий;

Отключаем использование протокола UDP 3389 для передачи RDP трафика в дополнение к стандартному RDP порту TCP 3389 через параметр Turn off UDP on client на клиенте (Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Connection Client) или через реестр: reg add “HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client” /v “fClientDisableUDP” /t REG_DWORD /d 1 /f . Для отключения UDP протокола для RDP трафика на стороне сервера, настройте параметр GPO …Remote Desktop Session Host -> Connections -> Select RDP transport protocols = Use only TCP.Локальная политика

Другие способы

Из более экзотических рекомендаций от Microsoft, которые помогают далеко не всегда, но могут исправить именно источник проблемы:

Проверяем RDP сервер, клиент и все сетевое оборудование между ними. Они должны быть настроены на одинаковый MTU.

Выключаем опцию сжатия данных, которые перелаются, в сеансе RDP через редактор локальной GPO – Configure compression for RemoteFX data (Настройка сжатия данных RemoteFX) = Do not use an RDP compression algorithm (Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host).

Если проблема с черным экраном в RDP встречается на Windows Server 2019 и Windows 10 1809+. Откройте Event Viewer и проверьте журнал событий Application and Service Logs –> Microsoft –> Windows –> RemoteDesktopService-RdpCoreTS.

Проверьте, есть ли там ошибки вида ‘ Failed GetConnectionProperty’ in CUMRDPConnection::QueryProperty at 2884 err=[0x80004001] ‘, ‘ Connection doesn’t support logon error redirector’ in CUMRDPConnection::GetLogonerrorRedirector at 4199 err=[0x80004001].

Если есть, отключаем использование протокола URCP (Universal Rate Control Protocol), который используется для передачи некоторых данных между RDP клиентом и сервером поверх UDP (MS-RDPEUDP2): reg add “HKLM\SOFTWARE\Microsoft\Terminal Server Client” /v “UseURCP” /t REG_DWORD /d 0 /f или так New-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\Terminal Server Client’ -Name UseURCP -PropertyType DWord -Value 0

Проверяем RDP сервер

Теперь вы знаете, как можно решить эту проблему. 

Remote users can connect to their Windows 10 and 11 computers through the Remote Desktop Services (RDP). All you need to do is enable Remote Desktop, grant the user RDP access permissions, and connect to the computer using any remote desktop client. However, the number of concurrent RDP sessions is limited in desktop versions of Windows. Only one active Remote Desktop user session is allowed.

A warning will appear asking you to disconnect the first user’s session if you try to establish a second RDP connection.

Another user is signed in. If you continue, they’ll be disconnected. Do you want to sign in anyway?

windows11 dosnt allow multiple rdp - Another user is signed in. If you continue, they’ll be disconnected. Do you want to sign in anyway?

Contents:

  • Number of Concurrent RDP Connections on Windows
  • RDP Wrapper: Enable Multiple RDP Sessions on Windows
  • RDP Wrapper Not Working on Windows
  • Patch the Termsrv.dll to Enable Multiple Remote Desktop Sessions
  • Multiple Concurrent RDP Connections in Windows 10 Enterprise Multi-session

Number of Concurrent RDP Connections on Windows

There are a number of restrictions on the use of Remote Desktop Services in all desktop versions of Windows 10 and 11:

  1. Only Windows Professional and Enterprise editions can accept remote desktop connections. RDP access is not allowed to Home/Single Language Windows editions;
  2. Only one simultaneous RDP connection is available. Attempting to start a second RDP session will prompt the user to end the active session;
  3. If the user is working at the computer console (locally), their local session is disconnected (locked) when they make a remote RDP connection. The remote RDP session will also be terminated if the user logs into Windows from the computer’s console.

The number of concurrent RDP connections on Windows is actually a license limitation. Microsoft prohibits the creation of a workstation-based Terminal RDP server for multiple users to work simultaneously.

If your tasks require the deployment of a terminal server, Microsoft suggests purchasing Windows Server (allows two simultaneous RDP connections by default). If you need more concurrent user sessions, you will need to purchase RDS CALs, install, and configure the Remote Desktop Session Host (RDSH) role or deploy an RDS farm.

Technically, any version of Windows with sufficient RAM and CPU resources can support dozens of remote user sessions simultaneously. On average, an RDP user session requires 150-200MB of memory (excluding running apps). This means that the maximum number of concurrent RDP sessions is limited only by the available resources of the computer.

In this article, we are going to show you three ways to remove the limit on the number of concurrent RDP connections in Windows 10 and 11:

  • RDP Wrapper
  • Modifying the termsrv.dll file
  • Upgrading Windows 10/11 edition to Enterprise for virtual desktops (multi-session)

Note. Any modifications to the operating system that are described in this article are considered a violation of the Windows License Agreement and may be used at your own risk.

Before you proceed, make sure that the Remote Desktop protocol is enabled in Windows.

  • Go to Settings -> System —> Remote Desktop -> Enable Remote Desktop;enable remote desktop on windows
  • Or use the classic Control Panel: run the command SystemPropertiesRemote and check the option Allow remote connection to this computer.

RDP Wrapper: Enable Multiple RDP Sessions on Windows

The RDP Wrapper Library OpenSource project allows you to enable multiple RDP sessions on Windows 10/11 without replacing the termsrv.dll file. This tool acts as a layer between SCM (Service Control Manager) and the Remote Desktop Services. The RDP wrapper doesn’t make any changes to the termsrv.dll file, it simply loads the termsrv with the modified settings.

Thus, the RDPWrap will work even in the case of termsrv.dll file update. It allows you not to be afraid of Windows updates.

Important. Before installing the RDP Wrapper, it is important to make that you are using the original (unpatched) version of the termsrv.dll file. Otherwise, RDP Wrapper may become unstable or not start at all.

You can download the RDP Wrapper from the GitHub repository https://github.com/binarymaster/rdpwrap/releases (the latest available version of the RDP Wrapper Library is v1.6.2). The project hasn’t been updated since 2017, but it can be used in all new builds of Windows 10 and 11. To use the wrapper on modern versions of Windows, simply update the rdpwrap.ini configuration file.

RDP Wrapper is detected as a potentially dangerous program by most antivirus scanners.  For example, it is classified as PUA:Win32/RDPWrap (Potentially Unwanted Software) with a low threat level by the built-in Microsoft Defender antivirus. If your antivirus settings are blocking the RDP Wrapper from starting, you will need to add it to the exceptions.

rdpwrap detected as potentially unwanted software

The RDPWrap-v1.6.2.zip archive contains some files:

  • RDPWinst.exe — used to install/uninstall an RDP wrapper library;
  • RDPConf.exe — RDP Wrapper configuration tool;
  • RDPCheck.exe —an RDP check tool (Local RDP Checker);
  • install.bat, uninstall.bat, update.bat — batch files to install, uninstall, and update RDP Wrapper.

RDPWrap-v1.6.2 install files

To install RDPWrap, run the install.bat file as an administrator. The program is installed in the C:\Program Files\RDP Wrapper directory.

installing install RDP Wrapper Library in windows 10

Run RDPConfig.exe when the installation is complete.

windows 10: rdp wrapper not supported issue

Most likely, immediately after installation, the tool will show that the RDP wrapper is running (Installed, Running, Listening), but not working. Note the red [not supported] warning. It reports that this version of Windows 10 22H2 (ver. 10.0.19041.1949) is not supported by the RDPWrapper.

This is because the rdpwrap.ini configuration file does not contain settings for your Windows version (build). +

✅ Download the latest version of rdpwrap.ini here https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini

Manually copy the contents of this page into the C:\Program Files\RDP Wrapper\rdpwrap.ini file. Or download the INI file using the PowerShell cmdlet Invoke-WebRequest (you must first stop the Remote Desktop service):

Stop-Service termservice -Force
Invoke-WebRequest https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini -outfile "C:\Program Files\RDP Wrapper\rdpwrap.ini"

update rdpwrap.ini file

You can create a scheduled task to check for changes to rdpwrap.ini and update it automatically.

This screenshot shows that the latest version of the rdpwrap.ini file (Updated=2023-06-26) is used on the computer.

Restart your computer and run the RDPConfig.exe tool. Check that all items in the Diagnostics section are green and that the [Fully supported] message is displayed. The RDP wrapper started successfully on Windows 11 22H2 in my case.

rdpwrapper on windows11

Now try to establish several concurrent RDP sessions with this computer under different user accounts (use your favorite RDP client: mstsc.exe, RDCMan, mRemoteNG, etc).

You can check that two (or more) RDP sessions are active on the computer at the same time by using the command:

qwinsta

rdp-tcp#0         user1                 1  Active
rdp-tcp#1         user2                 2  Active

qwinsta: list active rdp sessions

multiple RDP sessions on Windows 10

The RDPWrap tool is supported in all Windows editions, so you can build your own terminal (RDS) server on any Windows device. So you can turn any version of Windows client into a full-featured terminal server.

The following options are available in the RDP Wrapper:

  • Enable Remote Desktop
  • RDP Port —change the default remote desktop port number (TCP 3389)
  • Hide users on logon screen – allow hide the list of users from the Windows Logon Screen;
  • Single session per user — allow several concurrent RDP sessions under the same user account. This option sets the fSingleSessionPerUser registry value to 0 (HKLM\SYSTEM\ CurrentControlSet\Control\Terminal Server\fSingleSessionPerUser). This parameter is also configured through the GPO option Restrict Remote Desktop Services to a single Remote Desktop Services session under Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections;
  • The Session Shadowing Mode allows you to configure the remote control (shadow) connection mode to the RDP users’ desktops

RDP Wrapper Not Working on Windows

In some cases, the RDP Wrapper may not work as you expect it to and you may not be able to use more than one RDP connection on Windows.

The termsrv.dll file version can be updated during Windows Updates installation. If the description for your version of Windows is missing from the rdpwrap.ini file, then the RDP Wrapper will not be able to apply the necessary settings. In this case, the status [not supported]. will be displayed in the RDP Wrapper Configuration window.

✅ In this case, you must update the rdpwrap.ini file as described above.

If RDP Wrapper does not work after updating the rdpwrap.ini file, try to open the rdpwrap.ini file and look for the section for your version of Windows.

How to understand if your Windows version is supported in rdpwrapper config?

The screenshot below shows that for my version of Windows 11 (10.0.22621.317) there are two sections of settings:

[10.0.22621.317]
...
[10.0.22621.317-SLInit]
...

update rdpwrap.ini after installing windows updates

If there is no section in the rdpwrap configuration file for your version of Windows, try searching the web for the rdpwrap.ini file. Add the configuration settings you found to the end of the file.

If RDP Wrapper does not work after you install security updates or upgrade the Windows build, check that there is no Listener state: Not listening warning in the RDPWrap Diagnostics section.

rdp wrapper not listening

Try updating the rdpwrap.ini file, and then reinstalling the rdpwrapper service:

rdpwinst.exe -u
rdpwinst.exe -i

It can happen that when you try to make a second RDP connection as a different user, you will get an error message:

The number of connections to this computer is limited and all connections are in use right now. Try connecting later or contact your system administrator.

Windows 10 RDP warning:The number of connections to this computer is limited and all connections are in use right now

In this case, you can use the local Group Policy Editor (gpedit.msc) to enable the “Limit number of connections” option under Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Connections section. Increase the ‘RD maximum connection allowed’ value to 999999.

group policy: Limit the number of rdp connections

Restart your computer to update the local Group Policy and apply the settings.

Patch the Termsrv.dll to Enable Multiple Remote Desktop Sessions

To remove the limit on the number of concurrent RDP user connections in Windows without using rdpwrapper, you can replace the original termsrv.dll file. This is the main library file used by the Remote Desktop Service. The file is located in the C:\Windows\System32 directory.

It is advisable to make a backup copy of the termsrv.dll file before editing or replacing it. This will help you to revert to the original version of the file if necessary. Open an elevated command prompt and run the command:

copy c:\Windows\System32\termsrv.dll termsrv.dll_backup

Then you need to take ownership of the termsrv.dll file. To change a file’s owner from TrustedInstaller to the local Administrators group, use the command:

takeown /F c:\Windows\System32\termsrv.dll /A

SUCCESS: The file (or folder): c:\Windows\System32\termsrv.dll now owned by the administrators group

Now use the icacls.exe tool to grant Full Control permissions to the termsrv.dll file for the local Administrators group:

icacls c:\Windows\System32\termsrv.dll /grant Administrators:F

processed file: c:\Windows\System32\termsrv.dll Successfully processed 1 files; Failed processing 0 files.

termsrv.dll takeown and grant access permissions

Now you need to stop the Remote Desktop service (TermService) using the services.msc console or with the command:

net stop TermService

It also stops the Remote Desktop Services UserMode Port Redirector service.

Stop TermService

Run the winver command or the following PowerShell command to find your Windows build number:

Get-ComputerInfo | select WindowsProductName, WindowsVersion

In my case, Windows 10 build 22H2 is installed.

Then open the termsrv.dll file using any HEX editor (for example, Tiny Hexer). Depending on the build of Windows you are using, you will need to find and replace the string according to the table below:

Windows build Find the string Replace with
Windows 11 22H2 39 81 3C 06 00 00 0F 84 75 7A 01 00  

B8 00 01 00 00 89 81 38 06 00 00 90

Windows 10 22H2 39 81 3C 06 00 00 0F 84 85 45 01 00
Windows 11 21H2 (RTM) 39 81 3C 06 00 00 0F 84 4F 68 01 00
Windows 10 x64 21H2 39 81 3C 06 00 00 0F 84 DB 61 01 00
Windows 10 x64 21H1 39 81 3C 06 00 00 0F 84 2B 5F 01 00
Windows 10 x64 20H2 39 81 3C 06 00 00 0F 84 21 68 01 00
Windows 10 x64 2004 39 81 3C 06 00 00 0F 84 D9 51 01 00
Windows 10 x64 1909 39 81 3C 06 00 00 0F 84 5D 61 01 00
Windows 10 x64 1903 39 81 3C 06 00 00 0F 84 5D 61 01 00
Windows 10 x64 1809 39 81 3C 06 00 00 0F 84 3B 2B 01 00
Windows 10 x64 1803 8B 99 3C 06 00 00 8B B9 38 06 00 00
Windows 10 x64 1709 39 81 3C 06 00 00 0F 84 B1 7D 02 00

Tiny Hexer cannot edit termsvr.dll file directly from the system32 folder. Copy it to your desktop and replace the original file after modifying it.

For example, my build of Windows 10 x64 is 22H2 19045.2006 (termsrv.dll file version is 10.0.19041.1949). Open the termsrv.dll file in Tiny Hexer, then find the text:

39 81 3C 06 00 00 0F 84 75 7A 01 00

and replace it with:

B8 00 01 00 00 89 81 38 06 00 00 90

Tiny Hexer Editor

Save the file and start the TermService.

If something goes wrong and you experience some problems with the Remote Desktop service, stop the service and replace the modified termsrv.dll file with the original version:

copy termsrv.dll_backup c:\Windows\System32\termsrv.dll

👍 The advantage of the method of enabling multiple RDP sessions in Windows 10 or 11 by replacing the termsrv.dll file is that antivirus software will not react to it (unlike RDPWrap, which is detected by many antivirus products as a malware/hack tool/trojan).

👎The disadvantage of this is that you will have to manually edit the file each time you update the Windows build (or if the monthly cumulative patches update the version of termsrv.dll).

Multiple Concurrent RDP Connections in Windows 10 Enterprise Multi-session

Microsoft has recently released a special edition of the operating system called Windows Enterprise Multi-Session (Previously known as Windows 10 Enterprise for Remote Sessions and Windows 10 Enterprise for Virtual Desktops)

The key feature of this edition is that it supports multiple concurrent RDP user sessions out of the box. Although the Windows multi-session edition is only allowed to be run in Azure VMs, you can install this edition on an on-premises network and use that computer as a terminal server (even though this would be against Microsoft’s licensing policies).

The Enterprise Multi-Session edition is available for both Windows 10 and Windows 11.

Next up, we’re going to show you how to upgrade a Windows 10 Pro edition to Windows 10 Enterprise for Virtual Desktop and use it for multiple RDP users simultaneously.

Open a command prompt and check your current edition of Windows (Professional in this example):

DISM /online /Get-CurrentEdition

dism: check windows edition

Upgrade your edition of Windows 10 from Pro to Enterprise with the command:

changepk.exe /ProductKey NPPR9-FWDCX-D2C8J-H872K-2YT43

Now install the GVLK key for Windows 10 Enterprise for Remote Sessions:

slmgr.vbs /ipk CPWHC-NT2C7-VYW78-DHDB2-PG3GK

upgrade windows pro to enterprise multi-session

Check that your edition of Windows 10 has now changed to ServerRdsh (Windows 10 Enterprise for Virtual Desktops).

windows 10 enterprise for virtual desktops

Activate your copy of Windows 10 Enterprise Multi-Session edition on your KMS server:

slmgr /skms kms-srv.woshub.local:1688
slmgr /ato

active windows 10 enterprise on kms

Open the Local GPO Editor (gpedit.msc) and enable Per-User licensing mode in the Set the Remote Desktop licensing mode  (Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Licensing).

GPO: set per-user remote desktop license mode

You must restart Windows after activation. Now try connecting to the computer using RDP with different user accounts. As you can see, Windows 10 Enterprise multi-session supports simultaneous RDP connections right out of the box.

Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer

Windows 10 Enterprise for Virtual Desktops 2009           10.0.19041.2728

qwinsta

multiple rdp connections on windows 10 enterprise multisession

In this article, we have looked at a number of ways to get rid of the limit on the number of concurrent RDP user connections and run a free terminal server on desktop versions of Windows 10/11. Each method has its own advantages and disadvantages. Which one you choose is up to you.

by Madalina Dinita

Madalina has been a Windows fan ever since she got her hands on her first Windows XP computer. She is interested in all things technology, especially emerging technologies… read more


Updated on

  • If the Windows 10 rdp client is not working, you won’t be able to access your remote resources.
  • Apparently, this problem occurs when you are trying to update your system to a new build.
  • You can fix the RemoteApp display issues Windows 10 by changing the policy using the editor.
  • Using a third-party remote desktop app from Anydesk Software can help you avoid this problem.

Fix Remote Desktop app issues on Windows 10

There are always new bug reports concerning Windows 10 and the Remote Desktop issues are some of them, but we always try to provide you with solutions.

Apparently, one of the bugs is that Remote Desktop applications often fail to work on the latest Windows 10 OS version, as this user reports:

Just upgraded our Win 10 clients to Feature Update 1803 and am having issues with Remote Desktop Applications not rendering some/most drop down menus.

Pre-1803 updated Windows 10 (and all other flavors of Windows) display these menus just fine. For Example: Adobe DC Pro via RDS: Click on File… Drop down does not render BUT you CAN click the menu items as if they are being displayed.

The good news is that the OP managed to find a quick workaround to fix these Remote Desktop issues.

How can I fix the Remote Desktop app issues in Windows 10?

1. Change the Remote Desktop policy

  1. Press the Windows key + S and type group policy.
  2. Click on Edit Group Policy from the results.
  3. Navigate to the following policy key: Computer Configuration/Policies/Admin Templates/Windows Components/Remote Desktop Services/Remote Desktop Session Host/Remote Session Environment
  4. Set the Use advanced RemoteFX graphics for RemoteApp to Disabled.

Changing the Remote Desktop group policy either locally or via GPO in an AD environment on all Terminal Servers and Remote Session Hosts should fix the problem.

More specifically, you need to disable the Use advanced RemoteFX graphics for RemoteApp key as specified in the steps above.

This quick-fix worked on many environments but keep in mind that it may break other apps.

Just a heads up, the fix for this may break other apps. I have BlueBeam Revu as a Remote app and this fix completely breaks it. Entire window disappears when run in full screen. Restoring it down allows it to be displayed, but as soon as you do anything in the program it goes invisible again.

We hope that you managed to fix the Remote Desktop app problem by using our solutions. If the Remote Desktop stopped, we have another great guide to help you fix that in no time.

The Remote Desktop app is embedded in Windows 10 so you can use it right away but if it starts to develop problems or you need other features, you need to consider other solutions.

If you still haven’t resolved the remote desktop issue, try out the Mikogo third-party tool for remote desktop support and troubleshooting. Therefore, you might also be interested in our list of the best screen-sharing software for Windows 10 that you can use in your collaboration efforts.

Have you encountered any similar Remote Desktop issues after upgrading to Windows 10? Did you fix them in a different manner? Let us know in the comments below.

newsletter icon

Achieving native experience through RDP. Can it reach 60FPS?

🧾 Problem

Your RDP environment has poor performance. Poor performance can include the following, but not limited to:

  • Frame drops
  • Poor image quality or compression
  • High latency
  • Disabled GPU (e.g. WebGL unavailable)

💡 Solution

🛠 Materials needed

  • A host PC (Remote Desktop Session Host)
  • A client device (Remote Desktop Connection Client)

⚠ Disclaimers

This tutorial is written for Remote Desktop Connection Client in mobile devices such as Android or iOS devices. It might have less performance improvements for clients on PC.

📚 Prerequisites

You need a working Remote Desktop setup to configure further. WOL (Wake-on-LAN) configuration for the host PC is recommended since the process requires restarting the host PC.

You would also need administrative rights on your local account in order to change group policy options.

You might need a stable and fast internet connection to see the full performance improvement. Internet connection with speed exceeding 5Mbps is recommended.

🖥 Remote Desktop setup

You need Windows 10 Pro or higher in order to connect with Remote Desktop Protocol.

⚙ GPU Specifications

You need a GPU or its driver supporting DirectX 11 or higher. And to use enhanced graphics on your Remote Desktop session, your system needs to support RemoteFX.

Note: Most of modern GPUs and Windows 10 system supports both.

📱 Client application

You need a client to establish a connection to the host PC. You can get clients for your platform here.

📑 Problem details

😕 Lack of configuration options on mobile clients

Remote Desktop Connection Window, Experience Tab

Compared to performance options in PC client, mobile clients only have the option to change the resolution. We can maximize the performance by modifying settings from the host PC.

💔 Lack of hardware acceleration using GPU

Device Manager Window, Microsoft Remote Display Adapter

By default, the display adapter driver for Remote Desktop connection is WDDM. Therefore, you won’t see the GPU installed on your host PC in Device Manager or utilitize its performance. We can disable WDDM graphics on Remote Desktop connection by modifying group policy on the host PC.

📇 Step-By-Step Guide

Step 1. Open Local Group Policy Editor

Run Window, Opening `gpedit.msc`

Press Win + R to open Run. Type gpedit.msc and press OK.

Note: You can also search for Group Policy or gpedit on the start menu.

Step 2. Configure Remote Session Environment settings

In order to achieve smooth experience, we can compress the image from the host PC to reduce the bandwith, which will result in more frames per second.

Note: I recommend to set all the settings as I did for maximum framerate, but you can fine tune for your use case.

Step 2.1. Locate Remote Session Environment folder

Local Group Policy Editor Window, Remote Session Envionment

Navigate to Computer ConfigurationAdministrative TemplatesControl PanelRemote Desktop ServicesRemote Desktop Session HostRemote Session Environment.

In this folder, you will find all the options you can modify to fine tune your Remote Desktop experience.

Note: The settings in the screenshot above is frame rate optimized settings. You can follow these settings if you are looking for smoothest experience over better image quality.

Disable Use WDDM graphics display driver for Remote Desktop Connections

Local Group Policy Editor Window, Use WDDM graphics display driver for Remote Desktop Connections

By disabling this policy setting, Remote Desktop Connections will not use WDDM graphics display driver. In this case, the Remote Desktop Connections will use XDDM graphics display driver.

⚠ Warning: This policy setting change requires restarting the host PC.

Enable Use hardware graphics adapters for all Remote Desktop Services sessions

Local Group Policy Editor Window, Use hardware graphics adapters for all Remote Desktop Services sessions

By enabling this policy setting, all Remote Desktop Services sessions use the hardware graphics renderer instead of the Microsoft Basic Render Driver as the default adapter. This means you will be able to recognize the GPU installed in the host PC from the Remote Desktop session.

Enable Use advanced RemoteFX graphics for RemoteApp

Local Group Policy Editor Window, Use advanced RemoteFX graphics for RemoteApp

By enabling this policy setting, RemoteApp programs will use advanced graphics, including support for transparency, live thumbnails, and seamless application moves.

Note: This policy setting applies only to RemoteApp programs and does not apply to remote desktop sessions.

Enable Prioritize H.264/AVC 444 graphics mode for Remote Desktop Connections

Prioritize H.264/AVC 444 graphics mode for Remote Desktop Connections

By enabling this policy setting, the server (host PC) will use H.264/AVC 444 as the codec in an RDP 10 connection where both the client and server can use H.264/AVC 444. This will improve the performance in watching videos encoded in H.264 codec.

Enable Configure H.264/AVC hardware encoding for Remote Desktop Connections

Local Group Policy Editor Window, Configure H.264/AVC hardware encoding for Remote Desktop Connections

By enabling this policy setting, Remote Desktop Conection will try to use H.264/AVC hardware encoding support for applicable clients. This will improve the performance in watching videos encoded in H.264 codec if the client supports hardware encoding.

Enable and configure Configure compression for RemoteFX data

Local Group Policy Editor Window, Configure compression for RemoteFX data

By enabling this policy setting, you can specify which RDP compression algorithm to use.

I prioritized frame rates over image quality, so I selected Optimized to use less network bandwidth. This will decrease the network bandwith usage with compressing the image a bit more. From my experience, the image compression wasn’t noticeable but it gave me higher frame rates. I recommend using this option.

If you need better image quality even with lags, you can select Optimized to use less memory or Do not use an RDP compression algorithm option.

Enable and configure Configure image quality for RemoteFX Adaptive Graphics

Local Group Policy Editor Window, Configure image quality for RemoteFX Adaptive Graphics

By enabling this policy setting and set quality to Low, RemoteFX Adaptive Graphics uses an encoding mechanism that results in low quality images. This mode consumes the lowest amount of network bandwidth of the quality modes. This will increase the maximum refresh rate of the Remote Desktop session.

If you need better image quality even with lags, you can select Medium or High option. The performance will depend on your internet connection.

Enable Enable RemoteFX encoding for RemoteFX clients designed for Windows Server 2008 R2 SP1

Local Group Policy Editor Window, Enable RemoteFX encoding for RemoteFX clients designed for Windows Server 2008 R2 SP1

By enabling this policy setting, you can configure graphics encoding to use the RemoteFX Codec on the Remote Desktop Session Host server. This policy setting applies only to clients that are using Remote Desktop Protocol (RDP) 7.1, and does not affect clients that are using other RDP versions. This will enhance the Remote Desktop experience in certain client version.

Enable and configure Configure RemoteFX Adaptive Graphics

Local Group Policy Editor Window, Configure RemoteFX Adaptive Graphics

By enabling this policy setting, you can configure the default RemoteFX experience settings.

As mentioned above, I prioritized frame rates over image quality, so I selected Optimize for minimum bandwidth usage. This will decrease the network bandwith usage with compressing the image. From my experience, the image compression wasn’t noticeable for most of the time but it gave me higher frame rates. I recommend using this option.

Disable Use WDDM graphics display driver for Remote Desktop Connections

Local Group Policy Editor Window, Use WDDM graphics display driver for Remote Desktop Connections

By disabling this policy setting, Remote Desktop Connections will not use WDDM graphics display driver. In this case, the Remote Desktop Connections will use XDDM graphics display driver. This will enable you to utilitize the performance of your GPU installed on the host PC.

⚠ Warning: This policy setting change requires restarting the host PC.

Step 3. Configure RemoteFX settings

In order to utilitize the GPU installed on the host PC, we have to enable RemoteFX on the host PC first.

What is RemoteFX?

Microsoft RemoteFX is a set of technologies that enhance visual experiences in Remote Desktop Protocol (RDP). It utilitizes the GPU installed on the host PC to render the graphics and compress it over the network to optimize the bandwith usage. It means it uses more of your hardware to make your Remote Desktop environment smoother.

For example, if you are trying to send 1080p 60fps session over the internet without any compression, you would need almost 3 Gbit/s network connection. But with RemoteFX configured, the host PC uses an efficient compression algorithm to reduce the bandwith usage, and also processes it with the installed hardware. And also, since the graphics are rendered from the server, you can use graphic intense applications over Remote Desktop.

Read more: RemoteFX on Wikipedia

Step 3.1. Locate RemoteFX for Windows Server 2008 R2 folder

Local Group Policy Editor Window, RemoteFX for Windows Server 2008 R2

Navigate to Computer ConfigurationAdministrative TemplatesControl PanelRemote Desktop ServicesRemote Desktop Session HostRemote Session EnvironmentRemoteFX for Windows Server 2008 R2.

In this folder, you will find all the options you can modify to fine tune your RemoteFX configurations.

Enable Configure RemoteFX

Local Group Policy Editor Window, Configure RemoteFX

By enabling this policy setting, RemoteFX will be enabled. RemoteFX will deliver a rich user experience over LAN connections and RDP 7.1.

Enable and configure Optimize visual experience when using RemoteFX

Local Group Policy Editor Window, Optimize visual experience when using RemoteFX

By enabling this policy setting, you can specify the visual experience in Remote Desktop Connection (RDC) connections that use RemoteFX.

For Screen capture rate (frames per second), I selected Highest (best quality) for maximum refresh rate, and for Screen Image Quality, I selected Medium (default) for decent image quality. In my case, selecting Lowest resulted in pixelated graphics in some occasions.

Enable and configure Optimize visual experience for Remote Desktop Service Sessions

Local Group Policy Editor Window, Optimize visual experience for Remote Desktop Service Sessions

By enabling this policy setting, you can specify the visual experience that remote users receive in Remote Desktop Services sessions.

In my case, I watched some videos and photos through the Remote Desktop, so I selected Rich multimedia. You can configure this option to your preferences.

Step 4. Apply changes

After making changes in Local Group Policy Editor, you can just close the window as the settings are automatically applied. If you changed any settings that require restart, restart your host PC once. After your host PC restarts, you can reconnect to the session and compare the differences in refresh rate or image quality.

Bonus: Testing your refresh rate

If you are not sure about whether you are getting 60fps on your Remote Desktop session, you can use testufo.com to test your refresh rate.

Troubleshooting: Still having performance issues?

The problems could be one or more of the following:

  • Internet connection speed / latency between client and host
  • Driver problems for GPU installed on host PC
  • Didn’t restart the host PC after configuration

🚩 Disclaimer: This post was inspired from this post by ceol.

  • Registry error windows 7 bsod
  • Remote server administration tools rsat для windows 10
  • Remoteapp windows server 2016 настройка без домена
  • Registry error windows 10 синий экран
  • Remontka pro rename user folder windows 10