[HN Gopher] FreeRDP: A remote desktop protocol implementation
       ___________________________________________________________________
        
       FreeRDP: A remote desktop protocol implementation
        
       Author : gjvc
       Score  : 178 points
       Date   : 2023-09-28 12:48 UTC (10 hours ago)
        
 (HTM) web link (www.freerdp.com)
 (TXT) w3m dump (www.freerdp.com)
        
       | FuriouslyAdrift wrote:
       | There's also the great MeshCentral
       | https://github.com/Ylianst/MeshCentral
        
       | Rapzid wrote:
       | WSLg(Windows Subsystem for Linux GUI) uses RDP and FreeRDP to
       | work: https://github.com/microsoft/wslg
       | 
       | I haven't tried it yet, but I'm hopeful the experience is better
       | than last time I tried Hyper-V enhanced linux experience. I
       | imagine this use case is getting FreeRDP way more attention.
       | 
       | For years I've developed in a Linux VM on a Windows host via
       | VirtualBox. The typing lag on this, particularly in IDEs like
       | VSCode and Rider, finally got to me. So, I moved over to WSL and
       | have to say; the experience is amazing.
       | 
       | Edit: I should say that I haven't used the WSL GUI functionality
       | yet. Been using VSCode's WSL support and it's been amazingly
       | seamless so far. I get native Windows VSCode performance while my
       | project and all its plugins are actually running in the Hyper-V
       | backed WSL linux VM.
        
         | billy99k wrote:
         | I just installed kali on WSL2 with GUI support. It's fantastic.
         | Very fast. Much better than Vmware/Virtualbox.
        
         | marmaduke wrote:
         | WSLg works really well, even for OpenGL 3/4, CUDA, and when
         | connected via RDP as well.
        
       | mercwear wrote:
       | Another good, free option is chrome remote desktop:
       | https://remotedesktop.google.com/
        
       | tambourine_man wrote:
       | Is there a web client that doesn't require backend changes? I
       | know MS has one, but requires things to be installed in the
       | server
        
         | xz18r wrote:
         | Awingu
         | 
         | https://www.awingu.com/
        
         | greggsy wrote:
         | I went through all the major platforms, and settled with
         | something less enterprise-ey.
         | 
         | Windows Remote Desktop Services (RDS) gateway requires a lot of
         | configuration across several services, but the overall
         | experience is pretty good.
         | 
         | I used Kasm for a bit, but the integration with AzureAD
         | authentication was flaky. It's a pretty god platform overall
         | though.
         | 
         | Guacamole is mature, but by Jove it's a fickle thing to
         | configure.
         | 
         | Now I just use a Remmina docker container, which is maintained
         | by Kasm. I have a separate container to route a reverse proxy
         | through to CloudFlare, which uses Azure AD for authentication.
         | Now just go to rep.domain.com, login with AAD creds, and i'm
         | presented with a basic remmina jump host where I can log into
         | whatever VM or host.
         | 
         | It sounds janky, but it's much more stable and much leas
         | demanding from the administration side of things. It also works
         | over HTTPS port 443, so it (usually) just works on guest wifi.
         | 
         | CloudFlare can also render VNC in the browser, but I didn't
         | find the experience great, and it just seemed wrong.
        
         | jasonjayr wrote:
         | Guacamole? https://guacamole.apache.org/
        
           | rijoja wrote:
           | I was looking for something like this as well! Thank you very
           | much!
        
           | giancarlostoro wrote:
           | The video demo is impressive.
        
             | 0xbadcafebee wrote:
             | It works great! I use it for RDP, VNC, and SSH sessions for
             | business users. Can hook it up to LDAP, manage users and
             | groups. If the user's profile only has one connection
             | configured, it automatically dumps them into it when they
             | log in, so there's no learning curve at all, save hotkeys
             | if they want to do something fancy.
        
         | nirav72 wrote:
         | I use KASM. You can setup workspace that RDP's into remote
         | server. In my case, I use it connect to couple of Windows VMs
         | in proxmox.
         | 
         | https://kasmweb.com/
        
           | l-albertovich wrote:
           | Wow, this is amazing and I hadn't heard about it yet so
           | thanks a lot for sharing it!
        
           | cpach wrote:
           | Does it really use RDP?
        
             | greggsy wrote:
             | They have web based VNC wrapper.
             | 
             | The whole platform is built docker containers. You can skip
             | the whole installation steps and just install their Remmina
             | container from docker hub.
        
               | e12e wrote:
               | https://hub.docker.com/r/kasmweb/remmina ?
        
               | greggsy wrote:
               | That the one
        
       | dang wrote:
       | Related:
       | 
       |  _Use a laptop as a 2nd display on Linux using FreeRDP_ -
       | https://news.ycombinator.com/item?id=34010970 - Dec 2022 (137
       | comments)
       | 
       |  _FreeRDP 2.0 - A Remote Desktop Protocol implementation_ -
       | https://news.ycombinator.com/item?id=22834286 - April 2020 (122
       | comments)
        
       | npteljes wrote:
       | Just for funsies, I'll throw in the latest remote desktop that I
       | have tried for Linux, the Sunshine server. It uses the Moonlight
       | protocol, so you can use any NVIDIA GameStream client, like I
       | have used Moonlight from f-droid to stream my PC to my Android
       | phone. Clients exist for Windows and Linux too, and a lot of
       | other platforms as well. Sharing the desktop works out of the
       | box, just download the server, run it, very minimal config to set
       | a password, pair it with a client, and then next time, you just
       | need to run the server and connect with the pre-configured
       | client.
       | 
       | It works by converting screen or windows's content to video. It's
       | low latency by design, bandwidth is up to you, and sound also
       | works by default.
       | 
       | https://github.com/LizardByte/Sunshine
       | 
       | https://f-droid.org/packages/com.limelight/
        
         | SigmundA wrote:
         | Currently using sunshine/moonlight to play PC games on my M2
         | Mac at 4k 60fps and its been very solid cannot tell its remote
         | over gigabit connection at 70 Mbps HVEC from Radeon card.
         | Amazing tech for sure, only way to really game on Mac and can
         | locate PC anywhere in house, right now in garage.
         | 
         | Still use RDP for work though its better suited to lower
         | bandwidth higher latency text editing IMO plus copy paste etc.
        
         | theelix wrote:
         | Moonlight/Sunshine developer here, having all of these people
         | praising the work done by us is a wonderful thing. We
         | developers work very hard to make Sunshine faster, smoother and
         | more powerful each day. So thank you!
        
           | SigmundA wrote:
           | NO thank you amazing work! I was skeptical until I tried wow,
           | solid and performant from Windows to Mac for hours of gaming.
        
           | pak9rabid wrote:
           | Thanks! It's definitely cool to be able to use my Raspberry
           | Pi (running Kodi with the Moonshine addon) as a "dumb
           | terminal" to stream from my gaming rig from the other side of
           | the house onto my big ass living room TV :).
        
         | eikenberry wrote:
         | These sort of client/server game streaming systems are great
         | modern alternatives to something like RDP. They take advantage
         | of hardware accelerated h264 encoding to get fast video/audio
         | transmission with fast input mapping.
         | 
         | To me these seem like more modern, simpler alternatives to
         | older remote desktop protocols as they are designed around
         | modern hardware and one of the most demanding use cases,
         | gaming. Seems like an easy win to me. RDP does have more
         | features, but they seem mostly for niche/side things.
        
           | rrdharan wrote:
           | Encode to video is how Chrome Remote Desktop works.
           | 
           | The SunRay ALP protocol and NoMachine are actually the two
           | best I've ever seen but have pretty much fallen by the
           | wayside in modern times sadly.
        
           | rcarmo wrote:
           | RDP can also do hardware-accelerated encoding:
           | https://taoofmac.com/space/blog/2022/10/23/1700 (tl;dr: use
           | xorgxrdp-glamor)
        
           | npteljes wrote:
           | Indeed. To remotely manage or service a computer, RDP is more
           | suited for the purpose.
        
             | eikenberry wrote:
             | To manage a remote computer I'd much rather use SSH than
             | any desktop sharing protocol. IMO the CLI over SSH is much
             | better suited to the task.
        
               | pdntspa wrote:
               | Unless you really like PowerShell, you probably don't
               | want to be doing this on Windows
               | 
               | Also setting up a good SSH server on Windows is a pain in
               | the ass
        
           | MenhirMike wrote:
           | > RDP does have more features, but they seem mostly for
           | niche/side things.
           | 
           | Being able to copy/paste (including files!) between the host
           | and client is pretty useful though.
        
             | donmcronald wrote:
             | This is especially true for Hyper-V VMs without network
             | connectivity. The enhanced session is RDP over a local
             | socket (I think), so copying and pasting files via RDP
             | becomes the best way to move files between your host and
             | VM.
        
               | naikrovek wrote:
               | > session is RDP over a local socket (I think)
               | 
               | my understanding is that it's done via shared memory, and
               | if that's right, it's very close to, if not actually, an
               | air gap.
        
             | snapplebobapple wrote:
             | Thats broken in the sdl freerdp client (which is the one
             | they recommend for wayland since they deprecated
             | wlfreerdp). Its go8ng to be annoying for a while until sdl3
             | comes out and they code that bavk into the sdl client.
        
             | viraptor wrote:
             | And it's just one specific implementation of the RDP
             | channel. You can also share drives and printers, or write
             | your own custom stream virtual channels.
        
           | pdntspa wrote:
           | > RDP does have more features, but they seem mostly for
           | niche/side things.
           | 
           | I have seen people whose entire jobs live inside an RDP
           | connection
        
         | fortyyearsafool wrote:
         | Sunshine and Moonlight are as close to magic as I've ever felt
         | for incredibly low-latency streaming. I used it a lot early in
         | the pandemic to play games from my PC in a shared space in my
         | home on a low spec laptop while I was sick with COVID.
         | 
         | Later, I tried it while traveling and was shocked at how well
         | it worked over a pretty bad link and a VPN (Wireguard).
        
       | sandreas wrote:
       | If someone is looking for a working RDP config, that can be used
       | without manually logging in at the machine and that works
       | completely remote, I would recommend using xrdp.
       | 
       | Problems I ran into:
       | 
       | - Black screen after login
       | 
       | - Permission issues / strange password prompts
       | 
       | - Login does not work if not logged in / having a HDMI connected
       | 
       | - Copy & Paste did not work
       | 
       | - Shift key led to caps lock /wrong keymapping on Remmina
       | 
       | I found the following fixes:
       | 
       | Script containing various fixes for different problems:
       | https://www.c-nergy.be/products.html
       | 
       | KDE config, that worked for me:
       | https://pilabor.com/blog/2021/05/remote-desktop-with-xrdp-an...
       | 
       | Remmina Shift-Key workaround:
       | https://pilabor.com/blog/2023/09/fixing-remmina-typing-issue...
        
         | ckbishop wrote:
         | Black screen after login is a GNOME problem, which is caused by
         | trying to remote in as a user that is logged into the desktop
         | already. I solved this by creating an additional user. It was
         | intensely annoying.
        
       | nqzero wrote:
       | assuming that you have a potentially compromised linux host (or
       | VM)
       | 
       | what level of client-side risk are you taking connecting a
       | freeRDP client to that host ? (i'm not worried about the case of
       | the client infecting the host)
       | 
       | what is the most secure similar application ? i prefer a linux
       | client, though would be willing to consider windows if there was
       | a client that was significantly more secure
        
       | ahmetsait wrote:
       | I recently tried to get remote desktop working on my KDE laptop
       | with xrdp. Spent days trying to get it working properly with all
       | the fixes and workarounds I've found online and yet it didn't
       | even come close to how smooth it all works in Windows. In the
       | end, I accepted defeat, depressed about the state of linux
       | desktop even more.
        
         | supertron wrote:
         | Last time I played with RDP on Linux it really just seemed to
         | be a wrapper around {the equivalent of} a VNC connection - so
         | even when it worked, it was nothing like the streaming
         | experience when RDP'ing into a Windows machine. Not sure if
         | things have improved since, or FreeRDP does things differently.
         | 
         | I had a quick glance through the FreeRDP site but didn't spot
         | any immediate clues as to whether this is a true Windows-style
         | optimised/streamed RDP implementation or a "we'll send you a
         | constanst stream of compressed bitmap screenshots" VNC-style...
         | 
         | RDP on Windows is one of the few things I really miss from the
         | Windows ecosystem. There is nothing on Mac or Linux that I've
         | seen to date which comes even close to the near-instantanous
         | experience of using a Windows machine over RDP.
        
           | Borg3 wrote:
           | Hell yeah. I spent a lot of time on RDP (Working remotly on
           | my work laptop). Its great protocol, and over LAN its very
           | very snappy, you can pretty much stream video via it but it
           | will choke bandwidth like there is no tomorrow ;) (around
           | 80Mbit 640x400@25)
           | 
           | Indeed, comparing it to Xserver, its much better. I use quite
           | a lot Xserver on windows too, to render for example remote
           | Firefox. It works pretty well, but not that good compared to
           | RDP.
        
             | supertron wrote:
             | About 15 or maybe even 20(?) years ago I could RDP into a
             | Windows server over a crappy mobile phone data connection
             | connected to my laptop _on a moving train_ and get stuff
             | done. It is a phenomenal protocol, when implemented
             | correctly!!
        
           | rcarmo wrote:
           | You need to set sesman.ini to use Xrdp instead of the Xvnc
           | back-end - that is a packaging issue in some distros. With
           | the right gear you can do 60fps without any issues:
           | https://taoofmac.com/space/blog/2022/10/23/1700
        
         | mmcgaha wrote:
         | Probably about the same level of smooth as getting X Windows
         | working well on Windows.
        
           | seabrookmx wrote:
           | vcxsrv worked pretty well in my experience!
           | 
           | It eats your CPU for breakfast, but before VS Code Remote SSH
           | I used to use X forwarding to get a get a Linux VS Code
           | window on my Windows box.
        
         | orangepurple wrote:
         | Use rdesktop if you want an actual functional RDP client on
         | Linux or krdc if you want convenience (GUI)
        
         | icelancer wrote:
         | RDP / xRDP / Windows -> Linux is a complete shitshow. I forget
         | this about every 14 months, try to get it working, get
         | extremely mad, and just resign myself to using the completely
         | awful VNC protocol.
        
           | isilofi wrote:
           | try xpra.
        
         | salawat wrote:
         | Why use xrdp, and not x11 forwarding over ssh -C (compression)?
         | 
         | I can reasonably drive firefox over that link whereas anything
         | bitmap based tends to just die.
        
           | u801e wrote:
           | One advantage of a remote desktop protocol over x11
           | forwarding is being able to keep the application(s) open and
           | in the same state when you disconnect and connect from
           | another machine or access the host machine.
           | 
           | I haven't really used xrdp, but I have used xpra and have
           | been able to attach to running instances of applications that
           | I left open on the host machine remotely (much like I can
           | reattach to a screen or tmux session remotely).
        
           | hexo wrote:
           | exactly this. i cant get over why people need to reinvent the
           | wheel again and again.
           | 
           | i dont get why there isnt SPICE implementation outside of
           | libvirt. because, thats even better. i mean - usb
           | redirection, sound, (possibly even 3d accel)...
           | 
           | and suggesting doubt-ware like anydesk or even worse -
           | teamviewer... okay, these last ones make sense in some
           | situations.
        
         | breakds wrote:
         | Just in case anyone uses NixOS, the following simple piece of
         | code just works for me, and I spent no time setting up a new
         | NixOS machine that enables remove desktop with RDP:
         | 
         | https://github.com/nixvital/vital-modules/blob/main/modules/...
        
         | SkyMarshal wrote:
         | Gnome has RDP built in, may be worth a try depending on your
         | distro.
        
         | flashback2199 wrote:
         | AnyDesk is surprisingly good and works on Linux
        
         | robertlagrant wrote:
         | I did it on a Gnome desktop recently and had the opposite
         | experience - it was really simple! There was (of course) one
         | issue regarding profiles, but it was very easy to fix and it
         | auto logs in from my saved credentials in the MacOS Remote
         | Desktop client.
        
           | freedomben wrote:
           | Same, with Gnome it worked amazingly well for me. I didn't
           | even have to install anything since it's built in to Gnome
           | (under Sharing -> Remote Desktop)
        
         | sho_hn wrote:
         | The good news is: We know and we're taking your needs
         | seriously.
         | 
         | Much improved RDP support is coming with Plasma 6 in early
         | 2024: https://planet.kde.org/arjen-hiemstra-2023-08-08-remote-
         | desk...
         | 
         | It's integrated into the Plasma display server, so no more
         | fiddling with xrdp.
        
           | SrZorro wrote:
           | That's great news. At the beginning of the year, I had to
           | decide between Windows and Kubuntu for our company's remote
           | desktop developers. Windows RDP outperformed every Kubuntu
           | option I tested by far. 2023 hasn't been the year of the
           | Linux desktop (remote edition) for us. With these news, it
           | seems 2024 might just be the year!
        
           | magicalhippo wrote:
           | Been using KDE Neon on a NUC as a second desktop for years
           | and been loving it, but the complete lack of a usable remote
           | desktop solution for it (I've tried them all, they all suck)
           | has meant my main desktop stays on Windows.
           | 
           | With how Windows 11 is shaping up the future was looking
           | rather depressing.
           | 
           | So this news sounds great, crossing my fingers!
        
           | donmcronald wrote:
           | > exposing a KDE Plasma Wayland session
           | 
           | Does that mean I'll need to start a session locally before I
           | can connect via RDP or will it be like Windows RDP where it
           | starts a session on-demand?
        
             | bmicraft wrote:
             | Currently it seems to be intended for sharing a physical
             | screen only
        
           | binkHN wrote:
           | Love KDE! Thank you for the excellent work! The release of
           | the abomination known as Windows 11 has really given a lot of
           | people the opportunity to evaluate new, and better, things!
        
         | npteljes wrote:
         | For similar reasons, I ended up using x11vnc as server, and
         | Remmina as the client. Granted, it has been a few years since I
         | last needed it, but this was what worked best, and mostly out
         | of the box too.
        
         | x3haloed wrote:
         | NoMachine works great for me :) It's not perfect, but it's darn
         | good, and I can consistently use it across all my Mac/Win/Lin
         | devices.
        
           | cf100clunk wrote:
           | https://www.nomachine.com/
        
           | BLKNSLVR wrote:
           | NoMachine was the closest to Windows RDP that I could find,
           | and I tried FreeRDP, xpra, x2go, various vnc flavours and
           | forwarding X windows / sessions. It was a few years ago that
           | I tested them so alternatives may have improved.
           | 
           | NoMachine is still snappy enough for my needs: primarily
           | browser usage.
           | 
           | It does need the remote machine to be logged in, however,
           | which can be annoying and is a differentiator from how
           | Windows RDP works.
        
         | aruggirello wrote:
         | Your best bets are (in order): - Remmina - Xpra - Anydesk
        
         | mrj wrote:
         | Try NoMachine, it's been around for a long time and works great
         | on all of my devices
        
         | seabrookmx wrote:
         | I too have gone down that rabbit hole with xrdp. I compiled a
         | step-by-step guide that worked on an older version of Ubuntu
         | but it broke with later versions and I gave up.
         | 
         | I can't speak for KDE, but modern versions of gnome+wayland
         | have a built-in RDP server that "just works" (Settings, select
         | Sharing, and enable Remote Desktop). It doesn't perform quite
         | as well as windows RDP (a bit more lag) but is vastly superior
         | to other options I've tried (VNC, NoMachine).
         | 
         | If you just need an RDP _client_ on Linux, Remmina is really
         | solid.
        
         | Octabrain wrote:
         | I've never used xrdp but I've used Remmina (snap and also
         | flatpak) without an issue. In fact and as a confession, it's
         | what I use when working from home to connect to my work laptop
         | and be able to work from my Linux desktop.
        
           | metadat wrote:
           | https://remmina.org/
           | 
           | The promise behind this sounds like the holy grail of Remote
           | Access.
           | 
           | Is it Linux-only for the clients? Or can you use Mac and/or
           | Windows to reach a Remmina server?
           | 
           | Edit: looks like it is RDP protocol compatible? If so, WOW,
           | that's cool!
           | 
           | From https://remmina.org/authors/:
           | 
           | > I've been using Remmina now for several years. I love how
           | it's integrated into Ubuntu by default and how I can access
           | the multiple platforms I have to support in one application.
           | I mostly use RDP and VNC (Ultra VNC).
        
             | jeroenhd wrote:
             | Remmina is a client only, and when it works, it works
             | great. Supports all the basic protocols and has a bunch of
             | plugins (including Teamviewer!) for protocols that don't
             | come with the program.
             | 
             | It used to have some weird bugs on Ubuntu though, making it
             | crash after clicking the wrong buttons for some reason.
             | That seems to have been corrected and now it just works.
             | Make sure to use an up to date version, especially if
             | you're on an older LTS machine.
        
             | brunoqc wrote:
             | remmina is awesome. it even supports spice
        
             | crtasm wrote:
             | Remmina is great but it's a client only, no server.
             | 
             | I use it for both RDP and VNC to my Windows desktop. The
             | flatpak currently has a bug with audio over RDP so I've
             | gone back to the version in my distro's packages.
        
               | metadat wrote:
               | Thanks for the clarification!
        
           | davkan wrote:
           | I work out of a reminna session every day. I rdp into my
           | windows work laptop from my linux desktop and use it all day.
           | Works great. Audio and video passthrough working well enough
           | that i can use my speakers and boom mic for meetings without
           | getting echo.
           | 
           | I have i3wm configured to always launch my work rdp session
           | in virtual desktop 10. Switching between work and personal
           | desktops is instantaneous. 10x more convenient than the kvm
           | and thunderbolt dock setups I've used before.
        
         | [deleted]
        
       | polski-g wrote:
       | I use NoMachine for remote desktop across all 3 platforms (the
       | client runs on Android too). Works out of the box with zero
       | configuration needed. Even supports copy/paste.
        
         | rapht wrote:
         | Same here. Smooth experience.
        
       | xp84 wrote:
       | It would be helpful if it was specified prominently anywhere
       | whether this was a client, a server, or both. I've been looking
       | at the screenshots to try to make an educated guess.
        
       | x3haloed wrote:
       | I'm glad someone is working on this! We need it.
        
       | jchw wrote:
       | Note that using FreeRDP (directly or via a client like Remmina)
       | can be a great option for accessing a Windows virtual machine on
       | KVM/libvirt, as it often performs a lot better than SPICE but
       | supports much of the same features (remote audio, USB and serial
       | port forwarding, etc.)
        
       | StillBored wrote:
       | AFAIK, FreeRDP is largely what is underneath most of the
       | iOS/Android/etc RDP clients. Largely because rdesktop which
       | preceded it is GPL licensed. Which focused a lot of commercial
       | development to create an alternative, and hence freeRDP. Which
       | also did a better job of not being as tightly integrated with X11
       | as rdesktop is/was because a lot of the windows GDI API has
       | corresponding X11 functionality, so if the function is an Xored
       | Blit operation, or a hatched pen fill, then rdesktop just
       | offloadeds to X11 and presumably the graphics card rather than
       | being software rendered.
        
       | debarshri wrote:
       | Is there a universal remote desktop protocol, that works both for
       | windows and linux?
        
         | isilofi wrote:
         | VNC. But it sucks.
        
       | giancarlostoro wrote:
       | Just curious, how do all the different alternatives compare. I
       | know VNC iirc uses raw screenshots, and some implementations will
       | do their best to only send the differences over the network. How
       | do others compare in approach? I almost always reach for VNC
       | because I'm already familiar with it.
        
         | philsnow wrote:
         | I've long been a huge fan of Xpra https://github.com/Xpra-
         | org/xpra , both because of its "screen for X" original focus
         | (though now it supports shadowing an existing session).
         | 
         | There was NoMachine / nx / freenx but it always seemed to be a
         | weird animal to me, requiring installation as a separate unix
         | user, at least at the time.
        
         | q3k wrote:
         | RFB (the protocol used for VNC) implements at its base level
         | rectangle-based updates which can be used to send over just
         | rectangle-bound differences between frames. It's just that some
         | shoddy server implementations send over the entire screen at
         | once without damagerect tracking.
         | 
         | There's also plenty of extensions, some proprietary some not,
         | which allow for more advanced compression/optimization:
         | https://en.wikipedia.org/wiki/RFB_protocol#Encoding_types
        
         | Neil44 wrote:
         | Windows RDP is a much better experience than basically
         | everything else, it's not diffing a big jpeg of the screen like
         | almost everything else does it sends more primitives to do more
         | compositing on the client end. If the latency is low you often
         | can't tell you're remote. You can actually work on it all day
         | rather than just for doing odd bits of tech support. Plus it
         | maps printers, audio etc.
        
           | while_true_ wrote:
           | +1 for Windows RDP. One thing Windows RDP excels at is
           | working over low bandwidth connections. My remote desktop is
           | in a rural area with very poor internet service -- uploads
           | under 1 Mb/sec. With Win RDP I set the "Experience" to "56k
           | Modem" (not joking) and it eliminates eye candy stuff like
           | font smoothing and window animations, which is fine, at least
           | I have a steady connection that works. I've tried other RDP
           | programs and they always say "connection lost" due to
           | insufficient bandwidth.
        
           | MikusR wrote:
           | IIRC it hasn't worked like that since Windows 10. It's more
           | or less h264. As due to Electron, QT, and UWP nothing draws
           | those primitives anymore.
        
             | StillBored wrote:
             | RDP itself in its earliest versions is just a windows GDI
             | async RPC. Which is why its so fantastically
             | fast/responsive on windows. And as of last time I mess with
             | this, thats the way it still behaves for things like MS
             | office, and basically anything that is older than a half
             | dozen years or so, because they are still sitting on the
             | win32 GDI.
             | 
             | But, yes your right if you have a "modern" application that
             | is basically doing all the drawing on the CPU to a generic
             | canvas with custom libraries none of that works, and RDP
             | has to fall back to diffing and compressing. Which is
             | really terrible on any number of fronts.
             | 
             | At that point you might as well just use VNC because the
             | perf is going to be roughly the same.
        
               | applied_heat wrote:
               | Progress!
        
               | MikusR wrote:
               | The ui of modern Office is React Native
        
           | mook wrote:
           | For VMs, I find RDP to be on par with SPICE (which is more of
           | a qemu/libvirt thing). Both have support for device/drive
           | mapping, I believe. That's both over ssh sessions (I know RDP
           | has encryption, but I'd rather not trust it).
        
         | isilofi wrote:
         | VNC is dog-slow compared to RDP. RDP is slow compared to xpra.
         | What xpra does is sending a h.264 video stream (some other
         | compression algos are also available). Also, xpra can forward
         | the whole desktop as well as single applications. Far
         | preferable to any kind of RDP server.
         | 
         | However, the xpra client is somewhat strange and inconsistent
         | when it comes to CLI/UI behaviour.
        
         | thefourthchime wrote:
         | I wrote a man-in-the-middle recording for RDP way back when. We
         | did recording for both, RDP is much more sophisticated.
         | 
         | Besides using a TLS style encryption (VNC at the time had
         | none). RDP tries as hard as possible to not just send bitmaps.
         | It first shares what fonts it wants to use, then a cache of
         | bitmaps from the previous session (for the wallpaper for
         | example). When Windows move it doesn't send bitmap updates, it
         | sends window updates and tells the client to paint a rect, then
         | draw fonts, etc..
         | 
         | That said, it's a bear of a protocol with countless versions
         | and "speed mode" hacks that bypass the layered protocol setup,
         | tons of weird features, etc..
        
           | giancarlostoro wrote:
           | Interesting, is there software that still records RDP
           | sessions? I'm not sure if Teams uses RDP or what, but I know
           | it lets you record a call, whether there's screensharing or
           | not.
        
             | thefourthchime wrote:
             | This seems to do the same kind of thing.
             | https://github.com/GoSecure/pyrdp
        
         | londons_explore wrote:
         | RDP is a crazy complex protocol, and you have options for
         | pretty much everything.
         | 
         | On the graphics side, you can send over draw commands "draw the
         | letter A here using this font", or you can send opengl calls,
         | or you can send dumb bitmap updates. You can get the other end
         | of the connection to do compositing ("blur this buffer and
         | overlay it over that buffer with 50% transparency").
         | 
         | You can also get the remote end of the connection to decode
         | videos - so when you hit play on an MP4 video inside an RDP
         | connection, the actual video decoding gets done on the client
         | not the server.
        
         | jeroenhd wrote:
         | Windows has a special rendering mode for applications when RDP
         | is being used to optimise the connection by redrawing as little
         | as possible. It has the ability to dynamically switch between
         | crisp, pixel accurate forward-chunked-GDI-draw-calls mode to a
         | connection speed based compression level of an H.264/H.265
         | stream. There are also a bunch of extensions related to GPU
         | acceleration.
         | 
         | If you use RDP on a Windows server with a consumer GPU, you van
         | hack the Nvidia driver to make more NVENC streams available
         | (they're capped in software) to run more RDP heads without
         | overhead.
         | 
         | RDP also does sound forwarding, local drive forwarding, printer
         | forwarding, and USB device forwarding (up to a point). It also
         | supports a wide range of security features and authentication
         | as security requirements have increased over the years, and has
         | built-in support for bastion hosts/gateways.
         | 
         | One very interesting feature is the ability to RDP only
         | specific applications rather than the desktop. Cassowary will
         | let you "use Windows applications" by using a Windows VM and
         | using RDP to run the applications on Linux as if they were
         | running locally (Cassowary also automatically suspends the VM
         | which is what sets it apart). It's a bit like X11 forwarding,
         | except your local files and drives available without extra
         | commands to set up reverse SSHFS mounts.
         | 
         | VNC is to RDP what telnet is to HTTP/3. The underlying concepts
         | are the same, but the implementations have very different
         | feature sets and advancements. Does VNC even support passwords
         | longer than right characters yet? Last time I checked, VNC
         | servers still truncated your password.
         | 
         | Being proprietary, RDP support on Linux is very limited in
         | comparison. RDP clients like Remmina support a surprising
         | amount of features, but on the server side things aren't as
         | compatible. For example, connecting to xrdp works great from
         | desktop clients, but the Microsoft client on Android is slow as
         | hell.
         | 
         | I've also experienced buggy behaviour on Gnome when FreeRDP
         | tries to render window borders in app mode. Window borders
         | don't get drawn right and clicks seem to be shifted by it for
         | some reason.
         | 
         | I don't blame the FreeRDP/xrdp developers for any bugs or
         | problems because RDP is a terribly complex protocol with tons
         | of features, but sadly Linux doesn't seem to have an
         | implementation or alternative that compares to Windows and RDP
         | together.
        
       | remram wrote:
       | Is that only a client? Or is there also a server that can run on
       | Linux?
        
         | aidenn0 wrote:
         | It includes a server as well, at least for shadowing an x11
         | desktop.
        
       | hedora wrote:
       | RDP is definitely the better protocol (cached client side assets,
       | hardware accelerated video compression), but I've always had
       | trouble making it work.
       | 
       | For Linux, FreeBSD and OpenBSD hosts, and Unix / MacOS clients, I
       | use tigervnc (be sure to also use their client). It's the fastest
       | vnc implementation I have seen, and reasonably trouble-free.
       | 
       | My main complaint is that the MacOS client hasn't been updated
       | for hidpi mode, so MacOS applies a gaussian blur to the session
       | window. (Screen Sharing is the built in MacOS VNC client. It
       | supports HiDPI, but the session immediately hangs when I use it.)
        
       | tekchip wrote:
       | I'm surprised to find no mention of RustDesk.
       | https://rustdesk.com/ I self host it and it works great
       | everywhere I need it.
        
         | Semaphor wrote:
         | Just wanted to mention that I thought their banner was cool,
         | great for non-technical people:
         | 
         | > WARNING: YOU MAY BE BEING SCAMMED!
         | 
         | > If you are on the phone with someone you DON'T know AND TRUST
         | who has asked you to install RustDesk, do not install and hang
         | up immediately.
         | 
         | > They are likely a scammer trying to steal your money or other
         | private information.
        
         | karrot-kake wrote:
         | Thanks for the suggestion. What do you use it for? Is it good
         | for coding? Reading emails? I am in a position where I have to
         | do student work from two computers and I would love to host
         | this on my server and always work using it.
        
         | sneak wrote:
         | It appears to not be free software; it is only open core.
        
       ___________________________________________________________________
       (page generated 2023-09-28 23:00 UTC)