The journey to VesselRDP: Why I built my own Linux Remote Desktop Client
If you are a Linux fan who relies heavily on Remote Desktop Connections for work, you know the struggle. I’ve tried almost every client available on Linux, and none of them quite fit my workflow.
The tipping point was trying to connect to Azure Virtual Desktop (AVD). Getting it to work consistently was an absolute nightmare. The constant connection issues and friction eventually stressed me out so much that I did the unthinkable: I went back to Windows for a while.
The return to Linux (and Growing Up)
Windows did the job, but it didn’t take long before I started missing Linux. Naturally, the distro hopping itch returned.
Gentoo has always been my all time favorite, but I’m a grown man now. I have a job, a daughter, and real world responsibilities. I simply don’t have the time to break my system compiling the entire world from scratch and troubleshooting it for hours.
So, I stuck to the staples: Fedora, openSUSE, and Ubuntu. All of them are great distributions. Special kudos to openSUSE, though I still ran into minor hardware and tooling hiccups there. After bouncing around a bit, I finally settled back into Ubuntu.
Yet, the original problem remained: remote desktop performance on Linux still wasn’t where I needed it to be.
From frustration to creation
I stopped looking for existing solutions and started thinking about how to build my own. I wanted something with a modern UI and a fast, seamless user experience. However, I’m not a C expert, and I certainly had no intention of reinventing the wheel.
I decided to build the application using Rust and Slint, embedding FreeRDP under the hood.
It has been a journey. After spending almost a year working on it, I finally have a decent Beta release. It’s not flawless, but it works incredibly well for my needs, and I am now using it as my daily driver.
What’s next?
The long-term plan is to expand this into a multi-protocol tool, adding support for SSH, VNC, and other connection types. I’m moving as fast as my free time allows, so please don’t be mad if updates take a little while!
If you are facing similar struggles with RDP on Linux, feel free to check it out at vesselrdp.com. Maybe it will fix your workflow, too.
I would love to hear your thoughts. If you have any feedback or feature requests, feel free to reach out. I promise that as soon as I can, I’ll get a proper bug tracker set up!
Ah! by the way vesselrdp stands for Vessel Remote Desktop Protocol - Just in case you were wondering