IronRDP: a Rust implementation of Microsoft's RDP protocol

github.com

545 points by mikece a month ago


kayson - a month ago

This is very cool. I still think MS RDP is the best remote desktop client and protocol. The performance is just insanely good, and the client is easily available on 95% of computers. The multi-monitor support is also awesome. The only downside is that it's Microsoft...

graynk - a month ago

I get the whole Rust -> Iron thing, but when I see Iron prefix I think of dotnet because of https://github.com/ironlanguages and https://ironsoftware.com/

buybackoff - a month ago

Is it feature-complete with RDP and then some? As someone who has spent, over the last ~15 years, probably equal amount of screen time on RDP vs local (even in the office it's usually RDP to a blade, and at home a laptop to a powerful workstation; with remote work recently it's so much more and often nested), and someone who tried Linux on Desktop regularly and gave up because of inferior RDP alternatives (even GNONE 47 is a joke for RDP, but getting closer), - I learned to appreciate all the tiny details that make the RDP proper great.

jeroenhd - a month ago

The demo in the README is pretty impressive for an independent implementation, but I also noticed the repo includes server code (https://github.com/Devolutions/IronRDP/tree/master/crates/ir...). I wonder if tools like Proxmox could use this as a more efficient alternative to VNC (which is slow and weird) or SPICE (for which there are very few non-Linux tools).

nailer - a month ago

Fedora recently ditched VNC support in their installer for RDP. https://docs.fedoraproject.org/en-US/fedora-server/installat... (which may be a Wayland think, I just know more about Fedora than general Linux distros).

RDP seems to have taken the zeitgeist in the open source world.

jdadj - a month ago

Probably coincidentally, in a blog post today, Cloudflare announced clientless, browser-based support for RDP. It seems they're using IronRDP under the hood.

https://blog.cloudflare.com/browser-based-rdp/

hackerbrother - a month ago

I love RDP! It really is an impressive technology. I work in-office somewhere, and when I'm on campus, RDPing into my desk laptop from a conference room client has native performance, with audio even.

What is the best remote desktop server for Linux?

geenat - a month ago

Does this implement a server? or client only? Linux?

znpy - a month ago

Just a quick note from somebody who's been tinkering with RDP: RDP is so much more than remote desktop, and this ironrdp thing looks cool but is also severely limited.

xrdp supports forwarding audio (playback and microphone forwarding, both ways) as well as local folder forwarding. And I think i also got webcam working (webcam on my laptop forwarded to the browser running on the remote host).

for reference: https://www.xrdp.org/

I hope this implementation gets to a maturity level to make it actually usable for realistic remote desktop usage :)

kuon - a month ago

Do you know a good client on linux with Wayland support? I have artefacts with all clients I tried.

londons_explore - a month ago

RDP has a huge array of features. It can be everything from server side rendered and just sending a video stream over the network to client side rendered and sending openGL commands over the network.

There is a massive difference between a basic implementation that works and a fully featured implementation which works reasonably over a 56k modem.

lxe - a month ago

Interesting to see a Rust implementation of RDP. The protocol has a lot of quirks and edge cases that make it challenging to implement correctly, especially around authentication and session management. The focus on security is good, but I'm curious how they handle RemoteFX and other proprietary extensions that often require licensing. Would be great to see this become a solid foundation for cross-platform RDP implementations that don't rely on the official Microsoft stack.

password4321 - a month ago

This is great. I'll have to look into spinning up a client for out of support Mac OS editions via macports -- the last version of the official client sometimes crashes eating up GB of RAM.

I also would like to integrate smart card support into the client instead of passing through the hardware to the host... entering PINs through the normal remote UI always gives me the heebie-jeebies.

tgtweak - a month ago

Remotefx is a really big feature addition.

I still think modern alternatives like parsec are better in almost every regard but RDP is extremely mature.

paulddraper - a month ago

That's...a confusing name.

Given that IronPDF, IronXL, IronQR, IronBarcode, IronZIP, IronPPT, IronRuby are written in C#/.NET.

MasterYoda - a month ago

Which good free open source alternatives for remote desktop on win 11 are there where you can install both a server ()for win11 home that have the rdp server) and have a client you connect with? Knows only about VNC, but never liked it? And ironrdp just looks like the client. Whant to selfhost the server.

eitland - a month ago

Based on what I see under https://github.com/Devolutions/IronRDP?tab=readme-ov-file#ho...

it seems like the server part is Windows only?

apatheticonion - a month ago

Wow! It would be amazing if this also supported high performance streaming codecs for local game streaming as the latency/fps of RDP is too low for that - though its ergonomics are unmatched (screen resolution, resizing, etc).

RandyOrion - a month ago

Just a random note.

As someone in this thread already stated, if you want smooth remote desktop experience with security requirements, you may try sunshine + moonlight for streaming with tailscale / zerotier for connection.

codecraze - a month ago

What would you use to Remote Desktop between 2 mac without latency?

I tried several tools but it was lagging (screen sharing, vnc, spashtop, anydesk, …)

sushidev - a month ago

I’m using kasm/webtop containers to work remotely via the browser. Is there something similar using rdp/ironrdp?

stuaxo - a month ago

Ooh.. if this could support GfxRedir, then it could open up various interesting virtualisation things.

iJohnDoe - a month ago

Is this available for Linux? Linux desperately needs RDP. Any Linux distros with RDP built-in?

shmerl - a month ago

How does it compare to freerdp feature wise?

gHA5 - a month ago

Remote Desktop Protocol protocol

alexpadula - a month ago

That is mighty impressive. Thank you for sharing!

szundi - a month ago

[dead]

fadedsignal - a month ago

[flagged]

zelon88 - a month ago

[flagged]

shravankumar8 - a month ago

amazizng

38 - a month ago

cannot build for windows ironically

https://github.com/Devolutions/IronRDP/issues/709

reneberlin - a month ago

"With a focus on security" was the punchline and i had to smile.

While i encourage the great intention and the work that has been done, it seems an oxymoron to create a secure client to connect to unsecure clients.

I will never forget that blazing speed of the BlazeRDP-implemetation that i used in the past that is now long forgotten. I never saw such an speed-optimized RDPish implementation. I knew i was connecting to unsecure clients and used a propietary fix to a MS-based protocol, but it was insanely fast. I never had such a fast remotedesktop since then regardless of the OS. This is not an ad, i'm not affiliated, it's simply a fact in my life, that i recall.

inetknght - a month ago

> 1. Julia has two sisters. That means there are three girls in total (Julia + two more).

False. Julie could be the name of a boy.

> 2. Julia also has one brother, named Martin.

OK

> 3. Altogether, there are four siblings: three girls and one boy (Martin).

Where did you identify the third girl?

> 4. From Martin’s perspective, his sisters are all three of the girls (Julia and her two sisters).

Here's where the answer comes from (Julia and her two sisters).

More directly: "How many sisters does her brother Martin have?"

> 5. Therefore, Martin has three sisters.

OK.

So the reasoning might have come to the "right" answer but the way it arrived at the answer was incorrect.