Add support for vmconnect resizing#3776
Open
gpotter2 wants to merge 1 commit into
Open
Conversation
metalefty
reviewed
Mar 30, 2026
d270ee9 to
df9b755
Compare
INFOTYPE_LOGON or a variant is usually sent after the user has successfully logged in. This triggers a hook in vmconnect that enables automatic resizing, and also allows msrdc (the other RDP client) to accept connections to new servers.
Contributor
Author
|
I've rebased on master ! Do not hesitate if this needs anything to go further :) |
Member
|
Hold on until we finish what we're working on recently. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi ! This PR is a followup to #3514 to try and improve the experience on Hyper-V. It enables auto-resizing of the RDP client when used in vmconnect mode, which currently doesn't work.
I was trying to understand why vmconnect.exe (used in Hyper-V scenarios) would allow auto-resizing on Windows but not on Linux. The answer is that it's actually using the
OnLoginCompleteevent to detect when resize is available (https://learn.microsoft.com/en-us/windows/win32/termserv/imstscaxevents-onlogincomplete), because resize isn't available on Windows on the Winlogon screen. This event is triggered when the client receives theINFOTYPE_LOGON*types, as described by [MS-RDPBCGR].By implementing this message, I was able to have resize work with vmconnect as shown below, once the login screen is passed (this is the same behavior in a Windows VM):
capture.mp4
As a side-effect, completely unrelated, it seems that MSRDC (Windows App / the "Remote Desktop" app) also uses
OnLoginCompleteto know if another connection is allowed (it only allows 1 login screen at a time). So I believe that this change will also help in that regard.