Tip: Scaling your Remote Desktop session
Posted by llemarie on November 1, 2007
No matter whether you’re a Windows lover or hater, there’s no denying that Remote Desktop is one of the greatest features of the system. It beats VNC and many other remote control solutions by far for its sheer speed and picture quality (although of course VNC is genius for the fact that it works on Linux and Mac).
One gripe I have had with Remote Destop for years though is that I want to be able to connect to my desktop machine at its native high resolution from my laptop which has a lower resolution. Scaling isn’t that hard! Don’t give me those scrollbars, they are just useless. Both TightVNC and MaxiVista (and many others) support scaling the remote screen and it looks very good, so it’s been frustrating not to have the feature in RDP.
This morning I found that RDP does indeed support nice and efficient scaling, just not from the GUI settings. Here’s how:
- Configure your remote connection from the GUI as usual.
- In “Local Resources, make sure that “Apply Windows key combinations” is set to “On the remote computer”.
- Save the connections settings to a file in a sensible directory. Call it for example “Remote.rdp”.
- Open Notepad and edit that file “Remote.rdp”, it’s just a text file that looks like this (short version):
screen mode id:i:1 desktopwidth:i:1280 desktopheight:i:800 session bpp:i:16 winposstr:s:0,3,0,0,800,600 compression:i:1 keyboardhook:i:1
- Add a new line with this text: “smart sizing:i:1”
- Change the desktop width and height to what you want (for example 1600 and 960 to keep the aspect ratio).
- You’re done! Save and quit Notepad. Double click on Remote.rdp, you’re connected at high resolution!
Using this extremely simple tip (hacking with notepad! where have the hex editor days gone ?) you can crank up your resolution to 4096×2048, if you don’t mind not being able not to read anything. I find that a factor of roughly 1.25 is sensible.
Tip: Use a higher resolution desktop than your monitor can support « llemarie’s weblog said
[…] Comments (RSS) « Tip: Scaling your Remote Desktop session […]
justin said
Wow, what a great tip. The fact that an RDP file is really an INI-style text file is no secret, but the smart sizing addition is one that I have not seen before. Nice find.
Bill said
Well done! Our main software product here has a minimum resolution requirement of 1024×768. Your tip allowed me to get a client connected over remote desktop from his new 800×600 sub-notebook. Fantastic!
Tip: Updated: Use a higher resolution desktop than your monitor can support « llemarie’s weblog said
[…] the instructions from here to create a .rdp file and add “smart sizing” to […]
Peter Del Presto said
So I changed the default.rdp file as suggested on the controlling pc. I have a 1024 X 768 remote (controlling pc) and a 1280 X 1204 (controlled pc). My full .rdp file follows, but when I connect, I still get scroll bars. Any ideas?
Peter Del Presto
screen mode id:i:2
desktopwidth:i:1280
desktopheight:i:1024
session bpp:i:32
winposstr:s:0,1,0,0,800,600
full address:s:pp05865.pncbank.com
compression:i:1
keyboardhook:i:1
audiomode:i:0
redirectprinters:i:1
redirectcomports:i:0
redirectsmartcards:i:1
redirectclipboard:i:1
redirectposdevices:i:0
drivestoredirect:s:
displayconnectionbar:i:1
autoreconnection enabled:i:1
authentication level:i:0
prompt for credentials:i:0
negotiate security layer:i:1
remoteapplicationmode:i:0
alternate shell:s:
shell working directory:s:
disable wallpaper:i:1
disable full window drag:i:1
allow desktop composition:i:0
allow font smoothing:i:0
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:1
gatewayhostname:s:
gatewayusagemethod:i:0
gatewaycredentialssource:i:4
gatewayprofileusagemethod:i:0
smart sizing:i:1
llemarie said
Hi Peter,
Please check that you’re running the latest Remote Client client version. I believe you can get it from Microsoft’s website here:
http://support.microsoft.com/kb/925876
Regards,
Lionel.
Peter Del Presto said
Lionel
Updated both computers but the result is the same. Have you seen this before. I assume the .rdp file mods are correct
Peter
llemarie said
Hi Peter,
The screen mode must be 1:
screen mode id:i:1
Also you won’t be able to go above the resolution supported by the target PC.
Regards,
Lionel.
Peter Del Presto said
That did it – not sure why my default was different from others but works great now. I have used PCAnywere in the past. Remote desktop is faster and the screen scaling algorithm is better for sure.
Jonathan Rought said
I have the opposite problem. I have a 1900 x 1200 resolution and I want the RDP connection to be at a lower resolution.
Any thoughts?
Regards
Jonathan
llemarie said
Hi Jonathan,
You can simply specify a resolution below your local screen resolution to display RDP in a window. For example:
screen mode id:i:1
desktopwidth:i:1280
desktopheight:i:1024
Or did you want a fullscreen display at a lower resolution? That is not supported that I know, I don’t know a workaround for this case.
Regards,
Lionel.
Jonathan Rought said
Lionel
Thanks for the reply. Setting that option just makes the screen windowed and scales down the fonts and graphics so they are even smaller. Is that the same as setting them in the RDP gui?
From what I’m reading I don’t think you can have either a windows or a full screen RDP session at a lower resolution than the host panels resolution.
Back to the joys of Googling to infinity looking for that one nuggett of relevance!
Many thanks
Jonathan
llemarie said
Hi Jonathan,
In the GUI you don’t have the “smart sizing” option. However you can edit the default.rdp file in a text editor (it’s in My Documents, you might need to show hidden files) and add the “smart sizing” line manually. Then going in the GUI and choosing a resolution will display the remote machine in a window that will resize.
Hope this helps,
Lionel.
Jonathan Rought said
Hi Lionel
Thanks for putting up with my questions! The Smart Sizing option only seems to size the screen smaller. What I need to do is set the screen to a resolution of say for example 1685 x 1050 (My native host panel is 1920 x 1200) and then Smart Size it upwards so the fonts etc scale upwards so I can read them easier.
Perhaps I’m asking to do something that RDP can’t do yet. I just don’t know and am sort of wishing I’d gone for a panel with a lower native resolution! 😦
Many thanks
Jonathan
llemarie said
Hi Jonathan,
Set the remote resolution to 1685×1050, without the smart-sizing, so that it is now displayed in a window at 1:1 ratio. If you now press Ctrl-Alt-Pause, what does it do?
That’s the shortcut for fullscreen, with smart-sizing it will force a bigger screen on a smaller local monitor but I have not tried it the other way around.
Regards,
Lionel.
Jonathan Rought said
Lionel
Hi Lionel
I tried that at 1:1 with and without smart sizing and the session goes to full screen but the additional space is fulled in as a black border and the ratio and size stays the same 😦
Thanks for all your help, it’s much appreciated. If you think of anything else I’m all ears but at this stage I think it will involve rabbitt ears coming out of a magician’s hat!
Many thanks
Jonathan
Scaled Remote Desktop « c# to javascript, actionscript said
[…] Filed under: life — Tags: mstsc, tserv — zproxy @ 9:01 pm Did you know you can apply scaling for your remote desktop connection? I didn’t. Now I […]
ankit said
thanks for the tip ! works perfectly !
Mini Searches with Answers - Answer My Searches said
[…] Tip: Scaling your Remote Desktop session « llemarie’s weblogI woke up today and connected to remote desktop and it wouldn't scale to fit my screen anymore. It just gave me it in a window with these awful scroll bars. […]
Tom said
llemarie: GREAT tip!
MS: You need to integrate this into Options GUI!!!
(and hire llemarie to do it!!)
Jared said
Beautiful! This should be included in the GUI…Thanks for making the nasty scroll bars go away.
Tue Bennike said
@llemarie
Thank you so much for this great advice (smart sizing:i:1).
100% works as I had hoped (got three remote desktops with different resolutions I frequently needs to connect to), you have made my day so much easier 🙂
Br Tue
cqinic said
Tried this on Windows XP and it worked great, but tried to configure for a user running Windows 7 and it does not seem to work. . . .any suggestions?
llemarie said
Hi,
Scaling the RDP screen should work the same on Windows 7 (I use it daily on that setup). There are a couple of things that could prevent the scaling from working properly:
– Make sure “screen mode id” is set to 1 (windowed mode). Mode 2 (fullscreen) ignores the smart scaling setting. Note once you have successfully opened a scaled window, you can switch to fullscreen (still scaled) by pressing Ctrl-Alt-Pause.
– The Desktop Composition setting does not work well for me. It may also be something to look into.
One thing you could try is to use the .rdp file you tested in Windows XP and use it as is in with Windows 7.
Hope this helps,
Lionel.
cqinic said
Ok, so the screen mode id settings part worked, but the full screen shortcut does not seem to be working. Any thoughts?
P.S. Client is set at 1366 X 768 so I set RDP res to the same.In “Local Resources, “Apply Windows key combinations” is set to “On the remote computer” per your instructions.
Any suggestions are most appreciated.
Thanks!
cqinic
llemarie said
Hi Cqinic,
The shortcut Ctrl-Alt-Pause is independent from the RDP key settings. It’s not sent to the server at any point, it simply tells the client window to toggle fullscreen. In some places I’ve read that the shortcut is Ctrl-Alt-Break. You may want to try that as well.
Good luck,
Lionel.
JulioMella said
i have a 17″ laptop with a 24″ external monitor conected to it
i have try almost everything but my remote connection opens in my external monitor just up to the size of the laptop screen
Any ideas would be appreciated
this is my RDP File
screen mode id:i:1
desktopwidth:i:1280
desktopheight:i:720
session bpp:i:16
winposstr:s:0,1,0,0,2000,1500
full address:s:AMER1234
compression:i:1
keyboardhook:i:1
audiomode:i:0
redirectdrives:i:0
redirectprinters:i:1
redirectcomports:i:0
redirectsmartcards:i:1
displayconnectionbar:i:1
autoreconnection enabled:i:1
authentication level:i:0
username:s:Jrico
domain:s:BAOBAD
alternate shell:s:
shell working directory:s:
password
disable wallpaper:i:1
disable full window drag:i:1
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:1
smart sizing:i:1
llemarie said
Hi Julio,
The resize option only works to scale the display down. In your case, it’s possible you simply need to set the desired resolution with desktopwidth and desktopheight. For example, if your 24″ screen is 1920×1200, you would need to use that (or higher) as the resolution in the rdp file.
Good luck,
Lionel.
Mike Kingham said
For what it is worth, the Mac RDP client (made by Microsoft) will scale UP a RDP session. As an example, if you are running a native resolution of 1280×1024 on your Mac, and connect to a RDP session using 800×600, you will get a small window that does not fill the screen. Then, on the Mac RDP menu, click on View, Full Screen and the client will scale up the session to fill the screen.
Why Microsoft has this feature for the Mac RDP client but not for their PC version(s) defies all reason.
Hope that helps, Mike