GUACAMOLE-1852: Send a desktop scale factor to the RDP server. - #682
Open
stephzero1 wants to merge 1 commit into
Open
GUACAMOLE-1852: Send a desktop scale factor to the RDP server.#682stephzero1 wants to merge 1 commit into
stephzero1 wants to merge 1 commit into
Conversation
Add a new "desktop-scale-factor" RDP parameter (percentage, 100-500; 0 disables). When set, the value is sent to the server as the [MS-RDPBCGR] desktopScaleFactor, paired with a protocol-valid deviceScaleFactor (100/140/180, as required by the spec), so the remote Windows session scales its own UI. This makes it possible to request a device-pixel (high-resolution) framebuffer that stays sharp while keeping UI and text at a comfortable size. The same factor is included in the [MS-RDPEDISP] DISPLAYCONTROL_MONITOR_LAYOUT so it is preserved across dynamic display resizes. Out-of-range values are clamped; when the parameter is omitted the previous behavior is unchanged.
Author
|
Just used this patch on my guac server to test, and it is such a great improvement. Hope this gets merged in soon. |
Author
Thanks for the "bump"; The improvement is also pretty painless and essentially just an enhancement (it’s optional—you can use it if you want, or otherwise it defaults to the original behavior). To me, integrating it is a no-brainer. |
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.


Add
desktop-scale-factorRDP parameterAdd a new
desktop-scale-factorRDP parameter to control the UI scaling of the remote Windows session.100–500%0: disables the featureWhen configured, the value is sent to the server as the
[MS-RDPBCGR]desktopScaleFactor. It is paired with a protocol-validdeviceScaleFactor(100,140, or180), as required by the specification.This allows the client to request a device-pixel, high-resolution framebuffer while keeping the remote Windows UI and text at a comfortable size, resulting in a sharper display without making the UI excessively small.
The same scale factor is also included in the
[MS-RDPEDISP]DISPLAYCONTROL_MONITOR_LAYOUTmessage, ensuring that the scaling is preserved across dynamic display resizes.Overall, this makes it possible to combine high-resolution rendering with comfortable UI scaling in remote Windows sessions.
Related issue
This addresses the use case described in [GUACAMOLE-1852](https://issues.apache.org/jira/browse/GUACAMOLE-1852), which requests DPI/remote desktop scaling support to achieve Retina/high-resolution display quality without excessively small fonts and icons.
Related client PR
The corresponding Guacamole Client UI support is available in [apache/guacamole-client#1222](apache/guacamole-client#1222), which exposes the
desktop-scale-factorfield in the RDP connection's Display settings.