[HN Gopher] FreeRDP 2.0 - A Remote Desktop Protocol implementation
       ___________________________________________________________________
        
       FreeRDP 2.0 - A Remote Desktop Protocol implementation
        
       Author : conductor
       Score  : 172 points
       Date   : 2020-04-10 15:54 UTC (7 hours ago)
        
 (HTM) web link (www.freerdp.com)
 (TXT) w3m dump (www.freerdp.com)
        
       | 1996 wrote:
       | Unlike others here, I am non plussed by an open source
       | implementation of an old format mostly used by non free operating
       | systems. It doesn't add much.
       | 
       | I would be far more interested by a GPU accelerated server, with
       | a focus on low latency, like parsec: something more or less
       | equivalent, with native support for wayland or xorg would be much
       | more interesting.
       | 
       | This would superset the uses of RDP: you can use parsec for
       | remote desktops, just like you can with RDP except it's smoother
       | and more responsive.
       | 
       | But you can also use games with parsec, something you can't do
       | with RDP, and everything else that requires low latency.
        
         | vlunkr wrote:
         | Many people, myself included, use this software to connect to
         | remote windows machines that we have no control over. It's
         | incredibly valuable, you're just not the target audience
         | apparently.
        
       | wayneftw wrote:
       | I'm so glad that the FreeRDP client on Linux works really well.
       | It's one of the pieces of software that made transitioning away
       | from Windows much more convenient as I continue to work with
       | Windows systems and sometimes, tools.
       | 
       | The RDP server is one thing I miss from Windows though. On Linux
       | I haven't found anything nearly as good. It's really surprising
       | to me too - given that a good visual remoting tool allows for
       | such ease in cross platform living.
       | 
       | I suppose there are a lot of reasons for this, but primarily I
       | guess that most Unix natives would consider SSH to be good
       | enough.
        
         | eikenberry wrote:
         | I'd guess most Unix natives consider SSH to be superior to RDP.
         | SSH give you shell access which is a better interface for
         | working with remote systems than a GUI.
        
         | nineteen999 wrote:
         | > On Linux I haven't found anything nearly as good.
         | 
         | Xrdp on the server side works pretty well for us once you get
         | it set up correctly.
        
         | chajath wrote:
         | Chrome Remote Desktop is a pretty performant and hassle-free
         | option
        
         | yjftsjthsd-h wrote:
         | I'm growing to like xpra for remoting graphical applications,
         | especially with the HTML5 client.
        
         | yyyk wrote:
         | The krdc & xfreerdp combination is terrible. I don't know which
         | program is at fault (probably krdc), but it's not working well
         | at all.
         | 
         | There's the occasional random disconnection to right-click
         | rarely leading to disconnection to a case where xfreerdp asks
         | for a password in the terminal but I don't see it in krdc.
        
           | blinkingled wrote:
           | Yep, krdc needs a lot of love - I just use the freerdp
           | command line program and that works great.
        
         | vinzf wrote:
         | There is actually an awesome RDP server (called ogon project)
         | based on FreeRDP available:
         | 
         | https://github.com/ogon-project/ogon
        
         | yokohummer7 wrote:
         | It's strange nobody mentions NX (NoMachine). When I tried it
         | ~10 years ago, it was much faster than VNC, nearly identical to
         | RDP. Why isn't it more popular?
        
           | zerkten wrote:
           | When I tried it last year it was a pretty horrible experience
           | because it installed client and server on Windows and macOS
           | when I just wanted the client. I had to go in and kill some
           | services for the server part. Having to do stuff like that
           | for security reasons is a bit of a turn off.
           | 
           | The actual performance of NX was good, so I'll give them
           | that. I think other people having licencing concerns, but I'm
           | fine with it.
        
         | dekhn wrote:
         | I run xrdp on Ubuntu and connect to it from a windows machine
         | using the Remote Desktop client. It has some restrictions- and
         | setup issues (https://help.ubuntu.com/community/xrdp) but I use
         | it daily to drive a remote CNC machine's host.
        
         | dijit wrote:
         | Not sure if you're aware, so I apologise if you are:
         | 
         | 1) X11 is already a network aware display system, so it
         | wouldn't take too much work to run remote.
         | 
         | 2) SSH has built-in X11 forwarding with `ssh -X <host>`, when
         | you run commands they will be rendered locally. On OSX this
         | needs an X11 server (XQuartz) to work properly.
         | 
         | 3) There are "better" remote desktop solutions like "parsec"[0]
         | which run on Windows and Linux. They offer much lower latency
         | and higher bit-depth. They're designed for games. (obviously
         | this comes at the price of bandwidth).
         | 
         | [0]: https://parsecgaming.com/features/
        
           | tssva wrote:
           | Along with better performance and reliability than X11 RDP
           | allows redirection of sound, folders, USB devices, and can
           | present a virtual GPU which allows access to the physical GPU
           | of the remote end.
        
           | makkesk8 wrote:
           | parsec does not support multiple monitors which is a deal
           | breaker in many use cases, so far windows rdp is the best
           | free solution for at least windows -> windows remoting.
        
           | FullyFunctional wrote:
           | Isn't RDP more akin to VNC than X11? You can connected and
           | reconnect to existing sessions, something you cannot do with
           | X11 (but can with VNC).
           | 
           | I have never heard of Parsec before but it's not immediately
           | obvious that it's an alternative to RDP (Desktop usage)
        
             | paulirwin wrote:
             | As far as connecting to existing sessions goes, yes, RDP is
             | closer to VNC to X11. In that respect only though: you
             | can't also simultaneously use the same session locally
             | unlike with VNC.
             | 
             | However, as far as the actual implementation goes, RDP is
             | closer to X11 than VNC. VNC is basically a remote frame
             | buffer, akin to streaming video. This makes it very cross
             | platform friendly, but also IMO feels very slow, even on a
             | local network. RDP is closer to X11 in that it sends
             | display directives (AFAIK, please correct me if I'm wrong)
             | so that it can draw them on the client as they would be
             | drawn on the server. Think sending a "draw button" command
             | rather than sending an image of pixels that are how the
             | button would be rendered. This, combined with compression,
             | helps make RDP feel very fast compared to VNC, and can be
             | used very well even over the internet, unlike X11. I
             | connect to RDP servers in Azure all the time and sometimes
             | forget I'm not working locally, while with VNC you're
             | always aware that it's not as performant.
             | 
             | I really wish there was something like RDP as a server for
             | Linux. (OP seems to be a client AFAICT?) Given Microsoft's
             | recent investment in Linux, maybe this will happen soon?
        
               | vel0city wrote:
               | RDP is definitely closer to the framebuffer style
               | rendering than sending explicit draw commands. Newer
               | versions of the RDP protocol have made this very
               | efficient so it only ends up having to transmit
               | compressed data of the changes per frame, but overall its
               | still more of a video-like stream than true local
               | rendering a la X11.
        
               | paulirwin wrote:
               | Thanks! I guess I had been misinformed on that. I was
               | also probably thinking of the RemoteFX stuff, like GPU
               | and media redirection:
               | https://en.wikipedia.org/wiki/RemoteFX
        
               | magicalhippo wrote:
               | > RDP is definitely closer to the framebuffer style
               | rendering than sending explicit draw commands.
               | 
               | RDP has capability[1] to send draw commands directly.
               | 
               | From memory it has had this since the early days. At
               | least I used RDP against NT4 servers over a single ISDN
               | link and it was very smooth. I can't believe it could
               | have done that by streaming bitmaps ala VNC.
               | 
               | [1]: https://docs.microsoft.com/en-
               | us/openspecs/windows_protocols...
        
           | loeg wrote:
           | X11 is network aware, in that is theoretically possible to
           | speak the protocol over a network. However, anyone
           | considering it should be aware that it is (1) extremely
           | chatty, (2) extremely synchronous, and (3) extremely latency
           | sensitive. It only works well on fast local networks. SSH
           | certainly doesn't make it any faster.
           | 
           | In contrast, RDP and VNC type protocols are screen-
           | replicating designs more suited to higher latency
           | connections.
           | 
           | Finally, if you're using RDP, I'd suggest Remmina as an
           | client. It's fantastic.
        
             | hjkgfdfgh wrote:
             | To pile on against X11 over ssh, forwarding on a modern
             | Linux workstation is spectacularly painful. I recently
             | needed to forward a lightweight gtk app from one
             | workstation to another over 10gbe and a single switch hop.
             | 
             | With ssh and X forwarding, my local gnome constantly threw
             | up modal dialogs that the forwarded window was
             | unresponsive, forcing me to keep clicking "Wait" to dismiss
             | the modal, then quickly interact with the forwarded window
             | before the next "unresponsive" modal popped up.
        
               | inetknght wrote:
               | Forwarding Firefox over X11 _sometimes_ works. Sometimes
               | Firefox on the remote machine will try to join the
               | session of your local firefox -- but fail and then
               | complain that there's Firefox already running. Adding
               | `--new-instance` helps if Firefox is running in a
               | container and X11 socket file is forwarded to the
               | container but it doesn't seem to help if X11 is forwarded
               | over SSH.
        
               | jabl wrote:
               | Try '-no-remote'. Or was that '--no-remote'? Anyway,
               | that's what I've used for years and years when needing to
               | run firefox over ssh X forwarding.
        
               | inetknght wrote:
               | Firefox is running on the remote, connected to a
               | different X11 session. It is not running on the local.
               | When I use `firefox --new-session --no-remote` on the
               | remote, I see a dialog pop up on my local machine stating
               | _Firefox is already running, but is not responding. To
               | open a new window, you must first close the existing
               | Firefox process, or restart your system._
        
             | toast0 wrote:
             | > extremely synchronous
             | 
             | X11, the protocol, is actually mostly asynchronous, it's
             | the libraries and the applications that were built around
             | it in synchronous ways. If you run older applications (like
             | 90s to early 2000s) over X11, it's a lot less bad than
             | modern apps.
        
               | naasking wrote:
               | Isn't that mostly because modern apps have richer
               | textures and high resolution, high bit depth images by
               | comparison?
        
             | msla wrote:
             | I find running GUI GNU Emacs over X11 over ssh to be really
             | pleasant, even moreso than using tramp (which occasionally
             | hangs for no understandable reason), with the only problem
             | being that highlighting text is a bit slow and balky.
             | Otherwise, it's indistinguishable from a local Emacs in
             | responsiveness.
        
           | brimstedt wrote:
           | X11 works remote, but to my knowledge only to start new
           | applications.
           | 
           | Connect to an existing session and just "continue where you
           | were" is not easy though there might be unmaintained
           | solutions.
           | 
           | If you use ssh forwarding and for some reason gets
           | disconnected, the application dies.
           | 
           | I'd love for you to tell me I'm wrong :-)
           | 
           | The way rdp works on windows is the only thing where I think
           | windows is superior.
           | 
           | Vnc, TeamViewer and similar are not remotely close and they
           | will leave your remote screen open for anyone to see.
        
             | aksss wrote:
             | Although with teamviewer (maybe others) I think a display
             | driver install can black out the far-end screen.
        
             | alexhutcheson wrote:
             | Xpra is what you want for this: http://xpra.org/
        
               | dhd415 wrote:
               | I was hopeful that Xpra would provide reconnectable
               | remote sessions for me on my Linux workstations but I
               | found it pretty difficult to configure with poor
               | documentation. If there are any better installation
               | guides out there, I'd appreciate a pointer to them.
        
           | GranPC wrote:
           | Parsec for Linux is only a client; you can't share a Linux
           | desktop using Parsec.
        
         | rcxdude wrote:
         | There's a mess of different VNC implementations with wildly
         | varying speed and quality. TurboVNC is probably the best one
         | I've found, it feels pretty similar to RDP in terms of
         | performance (even without setting up their 3d acceleration
         | stuff).
        
         | cpach wrote:
         | When I used X2go a couple of years ago I found it to work quite
         | well.
         | 
         | https://en.m.wikipedia.org/wiki/X2Go
        
         | u801e wrote:
         | > On Linux I haven't found anything nearly as good. It's really
         | surprising to me too - given that a good visual remoting tool
         | allows for such ease in cross platform living.
         | 
         | Have you tried xpra[1]? I haven't tried forwarding the entire
         | desktop, but I have done multiple individual applications with
         | sharing enabled. There are some issues with different
         | resolutions between the host and guest machine, but it works
         | relatively well.
         | 
         | [1] https://xpra.org/
        
         | rlkf wrote:
         | I find X2Go to be a very nice Linux remote desktop solution,
         | more or less on par with MS-RDP on Windows. The only thing I
         | couldn't get to work was continuing a local session remotely
         | (disconnecting and later reconnecting to a remote session works
         | fine). It is packaged in most mainline distributions.
        
           | stinos wrote:
           | _more or less on par with MS-RDP on Windows_
           | 
           | That's surprising. I tried X2Go a couple of times on multiple
           | machines (always logging in from Windows to Unbuntu 18.04 if
           | that matters, on a local network) and it was horrible. At
           | least a crash a day, couldn't get numeric keypad keys to
           | work, slow. Not sure if I did anything wrong or just had bad
           | luck.. And those are just the basic features. To get on par
           | with RDP it should also do multiple screens properly (i.e.
           | not one big screen, it's not 2000 anymore), drive/audio/...
           | sharing and so on. But I never got to trying that, went back
           | to VNC. Which also has problems but at least it allows me to
           | do work.
           | 
           | Unfortunately the OP is about right (in my experience, for
           | the things I do): if the connection allows it remote desktop
           | should really be like you're sitting in front of the physical
           | machine. RDP does that for me, on the same level SSH/Mosh
           | does that for terminal stuff. I'm not sure what is so hard to
           | get right to also get something equivalent on Linux, so maybe
           | it's really the lack of interest?
        
             | magicalhippo wrote:
             | > That's surprising.
             | 
             | Same experience. None of the Linux alternatives are on the
             | same planet as RDP.
             | 
             | > I'm not sure what is so hard to get right to also get
             | something equivalent on Linux, so maybe it's really the
             | lack of interest?
             | 
             | As far as I can see it's lack of interest made worse by the
             | usual fragmentation of effort.
             | 
             | Which makes me sad. I really enjoy KDE Neon on my secondary
             | PC, but the lack of a viable remote desktop solution means
             | it'll stay there.
        
             | Yetanfou wrote:
             | Not surprising to me, I've been using x2go for many years
             | now and have hardly ever had it crash - I can't remember
             | the last time but it is sure to have happened... I guess.
             | I'm using it both within a LAN as well as over a VPN
             | between countries. I'd say x2go make true on the promise of
             | network-transparency which X11 gives in theory but which is
             | hard to use in practice.
        
             | tjoff wrote:
             | I've done a lot of work through x2go, also windows machine
             | connecting to ubuntu. And I've almost exclusively used
             | seamless windows which makes superior multi-screen (and
             | single screen) UX as window management is just native
             | windows.
             | 
             | Well, I guess it depends on the use case etc. but I find
             | seamless windows to be the holy grail for most of my work.
             | And the ability to resume an entire session is great!
             | 
             | Didn't have that many crashes, maybe once a month or
             | something, still a bit frustrating but not enough to scare
             | me away. But yeah, maybe I was lucky, didn't get the most
             | reliable impression of it but it did still do wonders for
             | me.
        
           | dboreham wrote:
           | +1 for X2go. The only solution I've found that didn't mess up
           | scaling on 3,4k screens.
        
           | [deleted]
        
         | jchw wrote:
         | Options for Wayland are a bit less antiquated. Here's a couple.
         | 
         | If you are ever using a wlroots based Wayland compositor, then
         | wayvnc becomes an option for RDP. (Note: haven't personally
         | used this.)
         | 
         | https://github.com/any1/wayvnc
         | 
         | Waypipe offers network transparency to Wayland, where by you
         | can run applications across the network. I believe this should
         | work with roughly any compositor.
         | 
         | https://gitlab.freedesktop.org/mstoeckl/waypipe/
        
           | techntoke wrote:
           | There was an RDP backed in wlroots, but it was recently
           | removed in favor of wayvnc. My guess is that it works as well
           | as RDP. You can still connect to other RDP instances just
           | fine using FreeRDP.
        
         | cheez wrote:
         | x11vnc is what I use
        
         | azalemeth wrote:
         | Although proprietary, I find Thinlinc Just Works and the server
         | is free for less than 6 simultaneous connections and supports
         | opengl natively in applications (and is based on TurboVNC
         | iirc). It's very much a drop-in replacement. Clients are on all
         | OSes. They give money upstream.
        
         | toohotatopic wrote:
         | What do you need and expect? I have never needed more than VNC
         | offers, but I also don't play games on a remote computer or
         | view videos over that connection.
        
           | biot wrote:
           | RDP is more suited to text as it renders the screen pixel
           | perfect. VNC, on the other hand, converts the screen into a
           | lossy compressed video stream which is why it's often slow
           | and fuzzy until the image stabilizes. Night and day
           | difference.
        
           | SubiculumCode wrote:
           | A number of reasons actually. If you're trying to create a
           | multi-user VNC environment on a remote server the displays do
           | not always render correctly certain applications particularly
           | those requiring 3D components. It can be quite frustrating.
           | Moreover not all keyboard keys are recognized in certain
           | applications. The single user version of VNC, i.e. classic
           | VNC, works well, however it does actually show your remote
           | session on the server computer screen and yes, as best I can
           | tell, the server must have a monitor.
           | 
           | I've had about enough of the compromises I've had to make to
           | make my remote VNC sessions work and mostly have opted to run
           | virtual instances of Linux on my local desktop then SSHFD
           | mount a drive remotely but this is such a pain or can be
           | especially in some applications some research applications
           | which can vary results depending on operating system version
           | and kernel libraries.
           | 
           | I never experienced these issues with Windows remote desktop
           | and this is very frustrating as a Linux user.
        
       | ape4 wrote:
       | Is there a nice way to get around NAT?
        
         | mulmen wrote:
         | A VPN? I would not expose any kind of remote desktop protocol
         | to the internet.
        
       | FullyFunctional wrote:
       | I'd encourage freerd.com to be more descriptive on the landing
       | page - the blurb says "RDP Implementation", but it's not clear if
       | it's client, server, or both. As a client, this is only useful to
       | people accessing Windows.
        
         | djrogers wrote:
         | It also doesn't mention the supported OSs prominently either...
        
       | FpUser wrote:
       | I was using (well trying to use) FreeRDP/XRDP for a while to work
       | with my multiple Linux machines from the Windows client. Soon
       | I've discovered that it was not XRDP working for me but the other
       | way around. I replaced it with NoMachine and and never looked
       | back since.
       | 
       | Now I am somewhat curious but frankly from a practical standpoint
       | I have very little motivation to stop doing what I am doing just
       | to check this new one. It will disrupt my routine for the sake of
       | completely unknown outcome which in the best case will let me
       | have what I already have now. And in the worst case - the
       | opposite of sky is the limit.
       | 
       | This is not to discourage developers but just to show what missed
       | opportunity might cost should there be more people like myself.
        
       | Thaxll wrote:
       | What's the performance vs Remina?
        
         | zootboy wrote:
         | Remmina uses freerdp as its RDP library.
        
         | elteto wrote:
         | I found it to be somewhat faster when comparing between the
         | packages my distro had, but YMMV.
         | 
         | What did make a _noticeable_ difference was to download the
         | FreeRDP sources and compile everything statically. That blew
         | Remmina out of the water. I did not do the same for Remmina
         | though, so the comparison is not fair.
        
       | selfishgene wrote:
       | Has anyone been able to get FreeRDP's Thincast Workstation (based
       | on VirtualBox) product to work?
       | 
       | http://www.freerdp.com/2019/02/20/hi-thincast-workstation
       | 
       | I know it's still in beta, but it was originally released two
       | years ago and I'm still not able to boot ubuntu's mini.iso
       | installation media in this graphics-optimized version of
       | VirtualBox.
       | 
       | If anyone has been able to test Thincast workstation performance,
       | can they compare it to a Hyper-V linux virtual machine connected
       | to X410 through VSOCK:
       | 
       | https://x410.dev/cookbook/hyperv/using-x410-with-hyper-v-lin...
        
       | dang wrote:
       | We changed the URL from https://www.freerdp.com/ to the home page
       | since this project doesn't seem to have been discussed on HN
       | before.
        
       | m0zg wrote:
       | Microsoft should really consider releasing their official
       | implementation as open source and integrating it with Linux
       | desktop in a way that doesn't suck. Vnc sucks pretty bad.
       | NoMachine sucks a bit less, but doesn't seem to be maintained.
       | RDP doesn't suck at all. I've worked with Windows machines
       | halfway across the globe using it, and while the experience
       | wasn't super snappy, it was usable. I also spent thousands of
       | hours working from home using RDP when I was at MS in 00's. With
       | sufficient network bandwidth, in full screen, the experience is
       | indistinguishable from a local desktop.
        
         | magicalhippo wrote:
         | Microsoft has released[1] the RDP documentation, which is what
         | FreeRDP is based on[2]. Open-sourcing their implementation
         | would not help, since it's deeply integrated into the OS.
         | 
         | I was hoping Wayland would take remote desktop seriously when I
         | heard about the effort, but sadly that was not to be.
         | 
         | [1]: http://www.microsoft.com/openspecifications/
         | 
         | [2]: https://github.com/FreeRDP/FreeRDP/wiki/Reference-
         | Documentat...
        
       | yjftsjthsd-h wrote:
       | Changelog:
       | https://raw.githubusercontent.com/FreeRDP/FreeRDP/2.0.0/Chan...
        
       | the_arun wrote:
       | I have used NoMachine. Liked the experience while connecting to
       | Ubuntu from Windows client. With client running on Mac & server
       | on Linux - it is Okay experience - not great. Is FreeRDP 2.0
       | better? Will try it anyways.
        
       ___________________________________________________________________
       (page generated 2020-04-10 23:00 UTC)