Arvids Blog

Thoughts on programming and more

Fast Remote Desktop (RDP) from macOS to Windows

I regularly use Windows’ Remote Desktop Protocol (RDP) to connect from a non-Windows client to a Windows host machine (e.g., from my MacBook Pro to my CAD/Gaming Desktop Tower PC) to access software otherwise not available on Linux or macOS (mostly CAD/eCAD software like SolidWorks or Altium Designer).

Unfortunately, by default the Remote Desktop client application from Micro$oft has terrible performance issues, especially when connecting from macOS to Windows.

However, with a little bit of tweaking on the host and switching from the Remote Desktop Client (nowadays just called “Windows App”) to FreeRDP (or any alternative that is using FreeRDP under the hood) we can make the performance and visual fidelity bearable.

Changes on the Host

On the host machine, make sure to use an updated Windows. Open the “Group Policy Editor” and navigate to:

Computer Configuration
    > Administrative Templates
        > Windows Components
            > Remote Desktop Services
                > Remote Desktop Session Host

Under “Remote Session Environment” configure the following policies:

  1. “Use hardware graphics adapter for all Remote Desktop Service sessions”
    • Enabled
  2. “Prioritize H.264/AVC 444 graphic mode for Remote Desktop Connections”
    • Disabled
  3. “Configure H.264/AVC hardware encoding for Remote Desktop Connections”
    • Enabled

Under Connections configure the following policies:

  1. “Select RDP transport protocols”
    • Enabled with Use either UDP or TCP

Reboot the host machine.

Changes on the Client

Meanwhile, download, and install Royal TSx for macOS.

Install the Remote Desktop plugin, and create a new connection. Make sure to set the following options:

  1. Under Display Options
  2. Set Colors to High Color (15 Bit)
  3. Uncheck Use full retina resolution
  4. Set Scale Factor to 100%
  5. Set Desktop Size to Auto Expand
  6. Set Resize Mode to Smart Reconnect
  7. Under Performance
  8. Chose LAN as Connection Speed
  9. Uncheck all but Graphics Pipeline and Font Smoothing

Configure the remaining settings as you prefer.

Now, you can connect to a Remote Desktop session that has acceptable performance and doesn’t look like Godzilla vomited all over your screen.