Remote Desktop Forgets Multi Monitor Configuration
By default, I RDP from my personal PC to my work laptop, in order to make use of all my monitors without needing to resort to a KVM.
On my old laptop, it would remember the position of windows between RDP sessions, provided that I had not logged into the machine physically between sessions. This new laptop, however, forgets the window positions on each connection and forces my windows all onto the main monitor.
It does span multiple monitors, and I'm able to use them fine during the session, but once I end it and reconnect, it resets every time.
I'm using the same shortcut I used with the old laptop (I use a USB-C ethernet dongle on the laptop with a static IP assigned on the router), so the settings should all be the same.
How can I stop the laptop from resetting the screens on every reconnection.
I think this is a bug courtesy of the latest [two] windows updates (1903 as is listed in the tags in the original post.. but also the more recently released 1909) because I had the same exact issue that was resolved by rollback to 1809.
I have a 12 monitor local computer and rdp into a host computer with only 1 monitor with the use all local monitor option and I was, prior to updating from 1809 I was able to use all 12 local monitors and it would remember the window locations between sessions prior to the latest windows update. Now it is like starting from scratch each time I connect via RDP even if there isn’t a local session between RDP sessions. Annoying AF. The first solution I came up with is to do a rollback to 1809.
I also had a second host that I also discovered had the same issue that too was upgraded from 1809 to 1909 but this host was past the 10 day rollback window. Since the rollback to 1809 resolved the issue with the first host I investigated further as to what was changed from 1809 to 1909 to try and find the root cause, and the issue seems to be the deprecation of the XDDM display driver and the forced use of WDDM.
Using GPO or registry modification to eliminate the forced use of WDDM also resolved the intersession windowing issue (amongst other things), without needing a rollback. See here for instructions on how to implement: Remote Desktop black screen
In [Local Group Policy Editor->Local Computer Policy->Administrative Templates->Windows Components->Remote Desktop Services->Remote Desktop Session Host->Remote Session Enviroment], set the Policy [Use WDDM graphics display driver for Remote Desktop Connections] to Disabled.
Alternatively, to use the modify the registry method, open the command prompt with administrator privileges and type
reg add “HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services” /v “fEnableWddmDriver” /t REG_DWORD /d 0 /f
See: https://answers.microsoft.com/en-us/windows/forum/all/windows-10-1903-may-update-black-screen-with/23c8a740-0c79-4042-851e-9d98d0efb539?page=1
Note that the machine must be restarted for this change to take effect.
Note: Some articles also claim KB452941 will solve various display issues related to the XDDM vs WDDM driver as well but it did not in my case.
I found a tool on GitHub that stores the position of your windows. It restores them when you reconnect to RDP.
https://github.com/manutalcual/winredock
RDP has been freezing for me many times a day, and on my four screen configuration, having all my windows end up on one screen every time I reconnect has been very frustrating. Now when I reconnect I watch all of my windows move to the screens they were on before disconnecting.