Windows – Why are RDP clients on Linux much slower than on Windows

freerdprdesktopremminaremote desktopwindows

I have a Windows 8.1 remote PC, to which I am connecting using RDP from Windows 7 and Linux clients. I noticed that the performance e.g. when scrolling is much better on Windows than on any Linux distribution. I am using rdesktop, Remmina, GNOME-RDP, everywhere the screen refresh is slow and choppy, like VNC. But RDP does not work like VNC, or does it? Why is it so and what is the fastest RDP client for Linux? Maybe Remote Desktop Connection Client under Wine?

Best Answer

  1. There are multiple versions of RDP protocol:

    • original 4.0, which is a clone of ITU-T T.128 protocol
    • 5.0 - which is still used by rdesktop (and not even fully)
    • 5.1, 5.2, 6.0, 6.1, 7.0, 8.1 and 8.1

As you can imagine, each new version of RDP is better, not only by introducing new features, but also by further improving performance and overall user experience.

  1. As I wrote above, rdesktop still implements only a subset of RDP 5.0 protocol (version used on Windows 2000). This version is less optimized than at least 6.0 (released with Windows Vista), which was a huge performance improvement.

  2. Additionally, the whole X11 window system used on Linux is a group of userland applications, while Microsoft Windows processes graphic events (like screen scrolling) directly in its kernel.

Screen (and application windows) scrolling is an operation requiring copying much memory contents from one place to another. This operation is much faster in the system kernel, than in userland applications.

And this also affects the performance of each RDP implementations.

Related Question