llemarie’s weblog

Programming, tinkering – Lionel Lemarié

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.

29 Responses to “Tip: Scaling your Remote Desktop session”

  1. […] Comments (RSS) « Tip: Scaling your Remote Desktop session […]

  2. 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.

  3. 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!

  4. […] the instructions from here to create a .rdp file and add “smart sizing” to […]

  5. 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

  6. 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.

  7. Lionel

    Updated both computers but the result is the same. Have you seen this before. I assume the .rdp file mods are correct

    Peter

  8. 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.

  9. 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.

  10. 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

  11. 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.

  12. 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

  13. 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.

  14. 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

  15. 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.

  16. 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

  17. […] 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 […]

  18. ankit said

    thanks for the tip ! works perfectly !

  19. […] 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. […]

  20. Tom said

    llemarie: GREAT tip!
    MS: You need to integrate this into Options GUI!!!
    (and hire llemarie to do it!!)

  21. Jared said

    Beautiful! This should be included in the GUI…Thanks for making the nasty scroll bars go away.

  22. 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

  23. 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.

  24. 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.

  25. 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

Leave a comment