MoobyFR's blog

Some IT infos

Aller au menu | Aller à la recherche

Efficient Remote Desktop on linux: xrdp with RemoteFX

, 23:15 - Lien permanent

The two most known Remote Desktop Service on linux are XDMCP and VNC.

  • XDMCP because of the nature of X11, allowing network support directly into the protocol by design. Mostly known by advanced linux admins and seniors unix users.
  • VNC because of the easy to install a server, the availability to get a free server and client. Mostly known by users working on other platform (Windows, Mac).

These two protocol suffer from performance issue.

There is still place for RDP, mostly known because of the remote desktop service for microsoft servers, also some implementation exist in Linux: xrdp


xrdp is a old project. Its website is "WEB 1.0 Ready", but don't pay attention, xrdp is still maintened and new features are coming. If you look on Github's Repository, the project is active. One interesting feature added recently, appart the RDP driver for Xorg, is the support for RemoteFX Codec:

RemoteFX covers three part: vGPU, USB redirection, and a codec to stream videos (RDP 7.1). RemoteFX Codec is the feature available now in xrdp

The library itself to use is librfxcodec and you need to compile xrdp with the option --enable-rfxcodec


Note: don't use packages version of xrdp, it's probably 0.6, and is very old. Prefer using source. There is still no tarballs available for xrdp, but get sources from github, it's currently stable.


# Get packages
apt-get install libx11-dev libxfixes-dev libssl-dev libpam0g-dev libtool libjpeg-dev flex bison gettext autoconf libxml-parser-perl libfuse-dev xsltproc libxrandr-dev  python-libxml2 nasm xserver-xorg-dev fuse

#clone repo
git clone
git submodule init
git submodule update

#lib  RFXcodec
cd librfxcodec
cd ..

#rdp module for xorg
cd xorgxrdp/
sudo make install
cd ..

#xrdp itself
./configure --enable-fuse  --enable-rfxcodec --enable-fuse --enable-jpeg
sudo make install

#generate keys:
sudo xrdp-keygen  xrdp auto 2048
service xrdp start


You'll need a RDP client capable to support remoteFX RDP 7.1. : Windows7 native client, xfreerdp, or Microsoft Remote Desktop on mac (based on freerdp)

xfreerdp /rfx /v:remote-server.local

At login, choose Session Manager in the combo box to use Xorg + RDP module, instead of the old X11rdp binary

To see the difference with "RemoteFX", play a video from youtube in your browser in the remote session. Even on a slow link, you'll be able to watch the video without lag!