Site icon DebugPoint NEWS

Introducing KRdp: New RDP Library for Plasma Wayland Session

Say goodbye to lag and hello to seamless remote desktop interactions with the new KRdp library with KDE Plasma Wayland sessions.

In an era where remote work has become the norm and the need for seamless remote computer control has intensified, the KDE development team has devised a solution for modern desktops and display server Wayland.

Enter KRdp, the cutting-edge RDP (Remote Desktop Protocol) library designed to revolutionize remote control of Plasma Wayland sessions. With an innovative approach leveraging existing technologies and focusing on performance, KRdp is poised to reshape how we interact with our remote computers.

The need for a new library

When we talk about remote desktops (clients or servers), plenty are available for X11 display servers. While solutions for X11 abound, the landscape for Wayland has been relatively sparse.

Recognizing this gap, the KDE team created a versatile and performant solution. The goal was to build upon existing protocols rather than reinvent the wheel, ultimately leading to the selection of RDP over VNC and other protocols.

Advantages of RDP

RDP emerged as the frontrunner due to its host of advantages. Unlike VNC, which transmits uncompressed screen images, RDP integrates the “Graphics Pipeline” extension that harnesses H.264 compression for video transmission. This substantial reduction in bandwidth requirement translates to enhanced performance and responsiveness, making remote desktop experiences smoother than ever before.

Enter KRdp

During the development of KRdp, the importance of performance optimization became evident. Software encoding, while capable, posed limitations on the responsiveness of remote desktop interactions. In a key move, the KDE developers embraced hardware acceleration to achieve the optimal remote desktop experience. KPipeWire now boasts VA-API integration for hardware-accelerated video encoding, benefiting KRdp and Spectacle, a forthcoming feature in KDE Plasma 6.

Facilitating user-friendly interactions and sandboxed environments, KRdp taps into the FreeDesktop Remote Desktop portal. While the current implementation offers basic functionalities such as accepting or rejecting remote desktop requests, the team is committed to expanding its capabilities. Plans are in motion to introduce features akin to those available in the screencasting portal, including screen selection and session setting retention.

KRdp seamlessly integrates various components to achieve its ambitious goals. It employs the FreeDesktop Remote Desktop portal to acquire video streams and remote inputs from KWin. The innovative KPipeWire technology encodes video streams to H.264, while FreeRDP handles the transmission of video and reception of client inputs. The ultimate vision is to embed KRdp as a system service within KDE Plasma, accompanied by a user-friendly System Settings page for configuration.

KRdp Demo

Want to try?

The KRdp library is currently available as a test Flatpak build. It’s in Alpha state. So be careful about what you do with it.

Download the “.flatpak” file from this page (choose any mirror).

Then open a terminal and run the below command (change the filename):

flatpak --user --install krdp-alpha-20230808.flatpak

Finally, use the below command to start a server. It will start listening for incoming connections.

flatpak run org.kde.krdp -u {username} -p {password}

Now, you can try to connect from any other system via any FreeRDP client. You can refer to a list here. Or, you can use the following command:

xfreerdp /u:[username] /p:[password] -clipboard /v:[ip_address]:3389

You can report any bugs here. Also, you can read more about syntax and other options @ GitLab.

Looking Ahead

The introduction of KRdp marks a significant stride towards fulfilling the remote desktop demands of modern computing. The KDE team’s dedication to leveraging existing technologies, optimizing performance, and prioritizing user experience has culminated in a powerful tool that promises to redefine remote interactions.

This library is expected to land in the upcoming KDE Plasma 6, which is currently under development. As a long-term goal, this library will be exposed as a system service in KDE Plasma so you can easily control it via the settings page.

Via KDE Blog

Recent articles from

Exit mobile version