FreeRDP Windows

Remote Desktop Protocol FreeRDP Application

FreeRDP Windows is a free application of Remote Desktop Protocol (RDP) released under Apache license. Enjoy the freedom to use your software anywhere, in a world where interoperability can ultimately liberate your computing experience. Again, we replace the FreeRDP default software decoder with only our own hardware applications without changing anything in the library. And less importantly, the Thincast Viewer is available on Windows, Linux and macOS.

Thincast Workstation - Virtual Flow Desktop built around FreeRDP

In April 2018, Thincast released the first Beta release of Thincast Workstation, a new workstation hypervisor based on Oracle's VirtualBox. We use the FreeRDP server application to modify the VirtualBox VRDP extension, which is only available with the Oracle VM VirtualBox Extension Pack. With our powerful 3D graphics virtualization in our guests, wherever you access your virtual machine, we provide a seamless and rich user experience.

FreeRDP Meets Virtualization

Our RDP servers are in a separate platform library called "virtual server". One of the tasks of this library is to serve as a bridge between the VirtualBox and FreeRDP remote desktop extension (VRDE) APIs. It provides a full-featured RDP server, including clipboard and voice transmission, user management, and RemoteFX and H.264. The most beautiful thing here is that, thanks to FreeRDP, all work on the protocol was done for us. 

No need to worry about link management, packet parsing, or data parsing. Our library only associates various callbacks provided by the FreeRDP API (eg mouse / keyboard input) and passes them to VRDE VirtualBox. On the other hand, our virtual server library receives a notification when the screen buffer is updated from VirtualBox. Using FreeRDP, we can easily forward all these updates to one or several RDP clients connected to our server. 

Because RDP is a standard protocol, users can use RDP-compliant clients to connect to their virtual machines. In addition, FreeRDP allows us to access the latest desktop streaming extensions from the RDP protocol, such as RemoteFX and H.264 remote control. With WinPR, creating an independent virtual server library platform is an easy task for us. Files are processed, synchronized, or accessed using the Win32 API. 

Parts of the custom platform code are reduced to only a few lines for user management only. This allows us to have a single code base that we can use on many platforms by connecting to WinPR on non-Windows systems.

FreeRDP for Windows
Support Windows : 64/bit

Virtual Desktop Flow

By publishing the H.264 desktop published to the public in RDP 10, we can now transfer desktop content to many of our users. We have developed a custom load balancing algorithm that adjusts the image quality during the flow according to the current network characteristics. FreeRDP allows us to detect all of the features of the network (which are part of the basic features of RDP), delay and all the necessary information about the bandwidth of the connection. 

Depending on these parameters, we will dynamically increase or decrease the quality level of the H.264 encoder. The implementation of the H.264 encoder back-end software using OpenH264 is part of the FreeRDP library.

Performance Issues

As previously described, Thincast Workstation provides virtual hardware graphics for guests who fully support Direct3D11. This means that all graphics operations in the guest operating system are managed and accelerated by the host GPU. It's sad to encode the H.264 virtual desktop in the software because we want to get the best performance. 

Fortunately, thanks to the FreeRDP modular architecture, we can install our own hardware encoders and actually remove it from the CPU. Because each vendor has its own multimedia framework, we implement encoders to all major GPU manufacturers, including NVidia, AMD and Intel.

Thincast Viewer - 3D Remote with FreeRDP

The Thincast Workstation is equipped with its own FreeRDP-based client named Thincast Viewer. The viewer is part of the Thincast Client package and offers many advantages over other RDP clients, such as Microsoft Windows mstsc clients. The first advantage it provides is a performance mode developed to connect to local virtual machines. In this mode, graphical updates are not transmitted over the RDP and are directly received from the GPU. 

Thincast Viewer also offers a variety of control options, such as launching, pausing, or shutting down the virtual machine. These features are implemented using custom virtual channels that we add to our FreeRDP library. Remote connections to virtual machines using H.264 desktop streaming will be translated by the client using hardware support. All GPUs currently support H.264 encoding hardware, and mobile users will benefit greatly from much lower CPU utilization. 

Future Development

What will happen to the Thincast Workstation in the future? We're considering adding a type of gateway service that serves as a central access point to all virtual machines. At the moment, every VM is listening to its own port for incoming connections, which makes management and management a bit inconvenient. We'll also check for extensions or other changes to the RDP protocol. For example, a newer video codec, such as H.265 or AOMedia Video 1 (a.k.a AV1), may be interesting to publish in the future desktops.

Apart from these developments regarding the FreeRDP Windows, we would like to repair the rest of the Thincast Workstation. Our beta version now includes virtual graphics hardware that provides support for Direct3D 12. The application is almost complete, but there are still some known issues. We also added Vulkan to our task list, but the work has just begun.

Incoming search terms :

  • FreeRDP Windows
  • FreeRDP Download
  • FreeRDP Download for Windows