Solving the problem of remote work in resource-intensive applications using Moonlight

The massive (and often forced) transfer of projects to “remote control”, the organization of distributed teams and productive work from anywhere in the world is a painful task for everyone using productive equipment and resource-intensive software. For a number of reasons, you cannot transfer them home, but you can still organize high-quality remote access from anywhere without extra costs. We are going to tell you about the first method we have tested for comfortable “remote control” from almost any device.

What’s the problem, doc?

An ordinary employee only needs to connect to a remote desktop using the RDP protocol or access corporate resources from his own laptop, and here the IT specialists only have difficulties with ensuring security. If a technician needs resource-intensive applications that use 3D acceleration, this is a completely different problem.

Building information modeling (BIM), different types of design (CAD, CAM, etc.), geological modeling, rendering-related tasks, working with neural networks and even creating applications – serious calculations are impossible without GPUs, and to access a productive work the station or server of the usual Remote Desktop is often not enough. It is usually impossible to install equipment at home: there are too many obstacles, such as the lack of the necessary engineering infrastructure in the premises or insufficiently high bandwidth of data transmission channels (information for processing is usually stored within the corporate infrastructure).

At the same time, workstations with NVIDIA game cards are often used in offices for such tasks, which does not allow using popular corporate solutions for remote control.

Disadvantages of commercial solutions

The task of providing work from home on a productive station is usually solved with the help of special products (Citrix, Horizon) and hardware, such as kart and ON Teradici.

Such options are not suitable for everyone for the reason:

  • significant cost of subscription / licenses;

  • high complexity of software that an untrained administrator cannot install;

  • serious requirements for the client device;

  • restrictions in use, that is, the solutions mentioned do not work with game cards: there compatibility starts from the NVIDIA Quadro line, which is not available for all users in office workstations.

As we already said, machines with NVIDIA gaming cards are more popular in offices. Focusing on them, we checked a more convenient and affordable option. We will tell you about it.

Free alternative

The tasks associated with the remote use of the GPU are solved by Moonlight… This free and open source software product uses the NVIDIA GameStream protocol. It connects the server and client device and enables instant remote employee interaction with office desktops and workstations from anywhere.

Try Moonlight for remote work if you are busy:

  • BIM, CAD, CAM and other types of design;

  • design and training of neural networks, including data science;

  • pharmacological and medical research;

  • rendering;

  • software development.

Moonlight has two main advantages:

  • cross-platform. Client applications run on Windows, MacOS, Linux and Android;

  • vendor technology independence – unlike NVIDIA Shield, Moonlight connects not only kosher devices. A compatible video adapter and GeForce Experience software must be installed on the server, and a video card from any manufacturer is suitable for the client.

Other benefits of Moonlight:

  • low connection latency and the ability to get on the client device up to 60 frames per second;

  • the ability to transfer images with a resolution of up to 4K;

  • ease of use.

Features of installing Moonlight

The installation process is described in detail in developer repositories on GitHub, and we will focus on its key and non-obvious points. Deploying the software takes several large steps on the client (the user’s local device) and the server or workstation (host).

First, it’s worth understanding the Moonlight architecture:

Now let’s pay attention to the important points.

First: the host must have an NVIDIA graphics card with support for GeForce Experience (starting with GeForce GTX 650 and older), Moonlight Internet Hosting Tool and the GeForce Experience app. Only the Moonlight app is needed on the client device.

Second point: in GeForce Experience you should configure the NVIDIA Shield to work. To do this, just go to the application settings, set the switch to the “on” (green) position and add the path to the mstsc.exe utility: “C: windows system32 mstsc.exe”.

This setting provides remote desktop access through Moonlight. The first time you connect to the server, you need to enter the password for the NVIDIAGeForce Experience control panel (it will be displayed in the Moonlight client).

The password will be remembered for the server’s IP address. Moonlight listens on the following ports:

  • TCP 47984, 47989, 48010;

  • UDP 47998, 47999, 48000, 48002, 48010.

Third point: you should not use the RDP protocol to remotely control the server, as it does not allow configuring the NVIDIA Shield. To access the desktop, you need a VNC client:

After installing the selected remote access program, you need to set a password with which you will be able to connect to the host in the future.

The stability and comfort of working with Moonlight depends on the quality of the Internet connection. The developers recommend using the program when the outgoing stream speed from the user’s client device to the server is at least 5 Mbps. Typically, the customer requires a cable Internet connection for this.

At the same time, at the recommended speed, as shown by tests, a stable image can be obtained only in 800 x 600 resolution. And on a modem with DOCSIS / DSL 6M, we managed to see a normal picture in 3D with a resolution of 1024 x 768. In practice, it turned out that for HD and 4K you need a fiber-optic Internet with a speed of at least 100 Mbit / s and a similar connection from the server / workstation.

Moonlight allows flexible adjustment of the image transmission quality from the host to the user’s local device:

The fourth important point: by default, the bit rate is set depending on the speed of the Internet connection. The better it is, the higher the image quality and the lower the latency. To select the required bitrate, you can use the following table:

Permission

Frames / sec (FPS)

Bitrate Mbps

720p, 1280 x 720

thirty

5-10

1080p, 1920 x 1080

60

twenty

1440p, 2560 x 1440

60

40

4K / 2160p, 3840 x 2160

60

80

And fifth: the quality of work with Moonlight is also affected by the latency of the Internet connection (Latency). It can be determined by the distance between the server and the client, network topology, channel load, equipment failures, and other reasons. In the course of our testing, the latency did not exceed 80 ms, which corresponds to the indicator required for comfortable gaming and working with resource-intensive software.

IMPORTANT! For Moonlight to work correctly on the server, a monitor must be connected to the GPU or an HDMI / DisplayPort dummy must be inserted, otherwise the resolution will not rise above the base 800 x 600.

Detailed instructions on using Moonlight on our servers can be found here

Tested in practice: examples of how Moonlight works

To illustrate how the software works, we ran several tests:

  • watching Big Buck Bunny 60fps 4K video;

  • the scene The junk shop in Blender;

  • Hellblade Senua’s Sacrifice gameplay with maximum graphics settings.

We decided to reproduce the working situation and in the HOSTKEY office ran tests on a machine with the following characteristics:

Operating system

Microsoft Windows Server 2019 Standard

CPU

Intel Xeon E-3-1230, v6, 3.5 GHz

GPU

NVIDIA GeForce GTX 1080 Ti (11GB)

RAM

16 GB

When launching Moonlight on the client, a stable broadcast was obtained with a resolution of 3840 x 2160 and 60 FPS at a bitrate of 80 Mbps. The application response was smooth and almost indistinguishable from the control directly on the device on which the software was installed.

Here you can watch the recordings of the broadcasts:

Big Buck Bunny Videos

Blender

Hellblade Senua’s Sacrifice

So, the problem of remote work with resource-intensive applications turned out to be solvable, and Moonlight is far from the only way to ensure a comfortable workflow away from the office.

In the next posts, we will talk about other options for full remote access to software and equipment for rendering, designing and training neural networks.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *