Bug 488358

Summary: Connecting to a system with a higher resolution screen compared the client sends an image that is too large
Product: [Plasma] KRdp Reporter: Nate Graham <nate>
Component: generalAssignee: Unassigned bugs mailing-list <unassigned-bugs>
Status: RESOLVED DOWNSTREAM    
Severity: normal CC: ahiemstra, akselmo
Priority: NOR Keywords: usability
Version: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Cropped screen

Description Nate Graham 2024-06-11 15:08:40 UTC
I am unsure if this is a client issue. Reporting anyway, just in case it's not.

Setup is:
- Server: Linux Laptop with 4K screen @ 225% scale running git master everything and a KRDP server
- Client: Windows 10 PC with a 1080p screen running the Remote Desktop Connection app

When I connect to the server using this client, it opens in full screen mode and shows 1/4 of the server's screen. See attached screenshot. This is not usable as there is no way to access the remaining 3/4 of the screen area!

I can mostly fix this by entering windowed mode, whereupon the window gets scrollbars so I can access the other parts of the screen. If I change the zoom/scale in the client to 50%, I can fix the remainder of the issue and see everything at once.

Is there anything we can do on the serve side for this, or is the client solely responsible for handling mismatched resolutions between the client and server and/or scaling the display? Apologies if this is obvious, but I'm not familiar with the typical cultural conventions of RDP client software.
Comment 1 Arjen Hiemstra 2024-06-11 15:18:11 UTC
Akseli did some work on server side downscaling so you'd be able to tell it to always scale down to 100% scale or something similar. That's still in progress though and was mostly started from a performance point of view. That said, adapting to different resolutions is ultimately the client's responsibility, since we're exposing a running session and won't want to mess with the server's actual display settings, so we can't really match the client aspect ratio should it be different from the server's. KRDC actually has a "scale" option specifically for that.
Comment 2 Akseli Lahtinen 2024-06-12 07:06:26 UTC
I think you forgot to add the screenshot :D

But yeah I worked on some of the downscaling stuff, which would always scale the video stream (and quality) down to the client size. 

However in my testing it was always kind of unusable since it would sometimes make the items in the video really small, but I have 3440x1440 screen that was being scaled down to 1920x1080 so that might be why.

IIRC this is how it goes in windows world:
- Client tells the server what their screen resolution is
- Server changes the actual display resolution to match the client resolution
- Any downscaling happens after this

Anyhow, we don't have anything like this yet. Your best bet currently is to set the client to scale the server video stream. 
So yeah, *client* needs to make sure the video stream is visible.
Comment 3 Nate Graham 2024-06-12 13:03:40 UTC
Created attachment 170417 [details]
Cropped screen

I did forget to add the screenshot, sorry!
Comment 4 Nate Graham 2024-06-12 13:04:48 UTC
Ok, I can accept that this was the client behaving stupidly. It was an MS Windows app, after all. :)