Low-Latency Remote Desktop for Gaming and Work ...

Michael Horn
5 Sept 202307:55

Summary

TLDRThis video tutorial introduces Moonlight, an open-source streaming client that enables low-latency access to desktops or virtual machines for gaming and other applications. Originally based on NVIDIA's GameStream protocol, Moonlight now supports various devices without needing an NVIDIA GPU. The video compares Moonlight with traditional remote desktop solutions, explains its advantages in reducing latency, and guides viewers on setting up a self-hosted streaming service called Sunshine, which works with AMD and Intel GPUs. The host also shares personal experiences with Moonlight on Windows and Linux, highlighting its performance and some challenges faced.

Takeaways

  • 🎮 The video introduces Moonlight, an open-source streaming client for low-latency access to desktops or virtual machines, originally based on NVIDIA's GameStream protocol.
  • 👍 The video promises to show how to connect to any desktop or virtual machine with low latency, even for gaming, without needing an NVIDIA GPU.
  • 🔒 Moonlight works differently from traditional remote desktop solutions like VNC and RDP by processing data only on the host side and sending a video stream back to the client, reducing latency.
  • 🖥️ Moonlight clients are available for various devices, including consoles and smart TVs, but the host setup is more complex and was originally tied to NVIDIA's technology.
  • 🛠️ The video mentions 'Sunshine', an alternative self-hosted streaming service that uses the Moonlight protocol and supports AMD and Intel GPUs.
  • 🌐 Sunshine can be installed from GitHub or Flat Hub for Linux, offering a browser-based web interface for configuration.
  • 📱 The configuration allows for creating shortcuts to applications or desktops, which can be advertised to the Moonlight client for easy access.
  • 🔄 Moonlight clients connect to the host by entering its IP address and a PIN, allowing access to applications and the desktop remotely.
  • 👀 The video notes a potential issue with mouse cursor movement causing frame rate drops on the desktop, which might be intentional to prevent overshooting targets.
  • 💻 The experience with Moonlight on Windows is described as flawless, but there can be challenges with Linux, especially with hardware acceleration for AMD and Intel GPUs.
  • 📝 The video promises a future guide on how to properly install Sunshine on Linux for those facing difficulties, and encourages subscription for updates.

Q & A

  • What is the main focus of the video?

    -The video focuses on demonstrating how to use the open-source stream client Moonlight to connect to a desktop or virtual machine with low latency for activities like gaming.

  • What is Moonlight and what does it allow users to do?

    -Moonlight is a low-latency streaming protocol that allows users to stream games, programs, or the entire desktop of a host PC over a local network or the internet to a client device.

  • Is it necessary to have an Nvidia GPU to use Moonlight?

    -No, it is not necessary to have an Nvidia GPU to use Moonlight, as it can also work with AMD and Intel GPUs through a self-hosted streaming service called Sunshine.

  • How does Moonlight differ from traditional remote desktop solutions like VNC and RDP?

    -Moonlight differs by reducing the overhead of constantly sending commands and confirmations. It processes data only on the host side, rendering the game in a fixed resolution and sending only the video stream to the client.

  • What are the potential downsides of using Moonlight for desktop mouse movements?

    -There is a slight delay in mouse movement on the desktop because it is not client-rendered anymore, which can be noticeable when compared to the latency of mouse cursor movement in graphically intensive applications or games.

  • What platforms are Moonlight clients available on?

    -Moonlight clients are available for a wide range of devices, including consoles and Homebrew Smart TVs.

  • What is the current status of Moonlight's host side with regards to Nvidia's Game Stream protocol?

    -Nvidia plans to drop Game Stream, which is the protocol Moonlight is based on, and this might affect Moonlight's ability to function as a host.

  • What is Sunshine and how does it relate to Moonlight?

    -Sunshine is a self-hosted streaming service that utilizes the Moonlight protocol to offer low-latency streaming and is compatible with AMD and Intel GPUs, providing an alternative to Nvidia's Game Stream.

  • How can users configure Sunshine after installation?

    -Users can access Sunshine's configuration via a browser-based web interface, where they can create applications or desktops, set custom images, and adjust settings for streaming.

  • What issues were encountered when trying to use Moonlight on Linux?

    -On Linux, especially with the RP (possibly a typo for 'RPM' or 'RPi', referring to Raspberry Pi), hardware acceleration for AMD and Intel can be tricky. The Flatpak version for Linux was mentioned as not working at all and having issues with software encoding.

  • What additional information is the video creator compiling for Linux users?

    -The video creator is compiling a list of fixes on how to properly install Sunshine on Linux, which will be shared with the audience through the channel.

Outlines

00:00

🎮 Introduction to Low Latency Game Streaming with Moonlight

The video script introduces the concept of low latency streaming for desktops and virtual machines, focusing on the open-source Moonlight client. Originally based on Nvidia's Game Stream protocol, Moonlight enables users to stream games and desktop environments with minimal delay, even without an Nvidia GPU. The script contrasts Moonlight with traditional remote desktop solutions like VNC and RDP, highlighting its unique approach to reducing latency by processing data only on the host side and sending a video stream to the client. The video promises to explore the setup and use of Moonlight clients across various devices and the potential challenges of hosting Moonlight with the discontinuation of Nvidia's Game Stream.

05:03

🔧 Configuring and Using Moonlight for Remote Access

This paragraph delves into the practical aspects of setting up Moonlight for remote access to a PC. It explains the process of connecting a client to a host PC by entering the host's IP address and a PIN, allowing access to applications and desktop environments. The script discusses the use of Moonlight with a Windows 11 virtual machine and a pass-through GPU, emphasizing the solid latency performance even over the internet. It also touches on potential issues with mouse cursor movement and frame rate drops on the desktop, suggesting possible intentional design to prevent mouse overshooting. The video script concludes with a mention of the challenges of running Moonlight on Linux systems and the upcoming guide on installing Sunshine, an alternative self-hosted streaming service compatible with AMD and Intel GPUs.

Mindmap

Keywords

💡Proxmox

Proxmox is an open-source server virtualization environment and platform that allows users to run multiple virtual machines on a single physical server. In the video's context, it is mentioned as a previous topic where the creator had made a tutorial on installing Proxmox, indicating a focus on virtualization and server management.

💡Low Latency

Low latency refers to a minimal delay in the transfer of data, which is crucial for real-time applications such as gaming or remote desktop streaming. The video discusses using the Moonlight streaming client to achieve low latency, allowing for a smooth user experience even when playing games remotely.

💡Moonlight

Moonlight is an open-source streaming client that was originally built on NVIDIA's GameStream protocol. It enables users to stream games and desktop environments from a host PC to a client device with low latency. The video showcases Moonlight as a solution for accessing a PC from anywhere without the need for an NVIDIA GPU.

💡NVIDIA GameStream

NVIDIA GameStream is a technology integrated into the GeForce Experience that allows users to stream games from their NVIDIA GPU-powered PC to other devices. The video mentions that Moonlight was originally based on this protocol, highlighting its role in enabling the streaming capabilities discussed.

💡Remote Desktop

Remote desktop refers to the ability to access and control a computer from a different device over a network or the internet. The video compares Moonlight to traditional remote desktop solutions like VNC and RDP, emphasizing the lower latency and better performance of Moonlight for gaming and graphical applications.

💡Hardware Encoding

Hardware encoding is the process of using a device's hardware, such as a GPU, to encode video streams. The video mentions that Moonlight ideally uses hardware encoding to decrease latency, which is important for maintaining a smooth streaming experience without burdening the CPU.

💡Sunshine

Sunshine is a self-hosted streaming service that utilizes the Moonlight protocol and is compatible with AMD and Intel GPUs, unlike the original Moonlight which relied on NVIDIA's technology. The video discusses Sunshine as an alternative for users who do not have an NVIDIA GPU or want to avoid reliance on NVIDIA's GameStream protocol.

💡GeForce Experience

GeForce Experience is a software suite developed by NVIDIA that provides various features for GeForce graphics card users, including game optimization and the GameStream protocol. The video notes that NVIDIA plans to drop GameStream, which could impact the hosting of Moonlight streams.

💡Virtual Machine

A virtual machine is a software-based simulation of a physical computer that allows users to run different operating systems and applications. The video mentions using Moonlight to connect to a Windows 11 virtual machine, demonstrating the flexibility of the streaming client for different environments.

💡Headless System

A headless system is a computer that operates without a monitor, keyboard, or mouse attached. The video discusses the potential need for a dummy plug on headless systems to mimic a monitor connection, which is necessary for the proper functioning of the host-side rendering in Moonlight.

💡Linux

Linux is a family of open-source Unix-like operating systems. The video mentions the challenges of using Moonlight on Linux, particularly with hardware acceleration for AMD and Intel GPUs, and the efforts to compile a list of fixes for proper installation, indicating the importance of compatibility across different operating systems.

Highlights

Introduction to the open-source stream client, Moonlight, which allows low-latency streaming for gaming and desktop access.

Moonlight does not require an Nvidia GPU, contrary to its origins based on Nvidia's GameStream protocol.

Comparison of Moonlight to traditional remote desktop solutions like VNC and RDP, emphasizing its low-latency advantage.

Explanation of how Moonlight works differently by processing data on the host side only, reducing latency.

Description of the slight mouse movement delay on desktops when using Moonlight due to client-side rendering changes.

Availability of Moonlight clients for various devices, including consoles and smart TVs.

Challenges of setting up Moonlight hosts, especially with Nvidia's plans to drop GameStream and the need for an Nvidia GPU with the nvenc encoder.

Introduction to Sunshine, a self-hosted streaming service that uses the Moonlight protocol and supports AMD and Intel GPUs.

Instructions on how to install Sunshine on a host system via GitHub or Flat Hub for Linux.

Configuration of Sunshine through a web interface to create applications or desktops for streaming.

Technical details on adjusting stream resolution, frame rate, and encoder settings in Sunshine.

Process of connecting a client to a PC using the PC's IP address and a PIN from the web interface.

Personal experience of using Moonlight to connect to a Windows 11 virtual machine with a pass-through GPU.

Discussion on the performance of Moonlight on headless systems and the potential need for a dummy plug.

Observation of frame rate drops when moving the mouse cursor on the desktop with Moonlight.

Comparison of Moonlight's performance on Windows versus Linux, noting difficulties with hardware acceleration for AMD and Intel on Linux.

Promise of a future video with fixes for installing Sunshine on Linux and an invitation to subscribe for updates.

Closing remarks with a reminder to like the video and a sign-off greeting viewers based on their time zone.

Transcripts

play00:00

back when I made my video about how to

play00:02

install proxmox I also promised you to

play00:05

Showcase a way on how to connect to

play00:07

essentially any desktop or virtual

play00:09

machine with such a low latency that you

play00:12

can even play games and today is that

play00:15

day in today's video we're going to take

play00:18

a look at the open source stream client

play00:20

Moonlight which was originally built on

play00:22

the nvidia's game stream protocol so

play00:24

that we can access our PC from anywhere

play00:27

in the world oh and by the way you don't

play00:31

even need an Nvidia GPU for that

play00:33

interested I really hope so but before

play00:37

we begin let me quickly remind you that

play00:39

you don't forget to give this video a

play00:41

like if you find it helpful and also

play00:43

subscribe to the channel for more videos

play00:44

just like this one I really appreciate

play00:47

your support so let's start off with

play00:50

what even is Moonlight well like I said

play00:54

earlier it is a low latency streaming

play00:56

protocol that allows you to stream games

play00:58

programs or even the whole desktop of a

play01:01

host PC over your local network or the

play01:04

internet to a client device in

play01:07

comparison to other remote desktop

play01:08

Solutions like VNC and the most popular

play01:11

one RDP Moonlight Works a bit

play01:14

differently most remote desktop

play01:16

Solutions work by capturing the screen

play01:19

of the client machine and transmitting

play01:21

the given information to the host the

play01:24

host then acknowledges that it has

play01:26

received the data adjusts and triggers

play01:28

the events and sends the data back to

play01:30

the client this method gives you a very

play01:33

responsive feel when it comes to Mouse

play01:35

movements because your mask cursor is

play01:38

actually rendered on the client side and

play01:40

the opening of Windows delay is really

play01:42

not that noticeable however if you're

play01:45

working with more graphically intensive

play01:47

applications or want to play video games

play01:49

then the amount of Delay from sending

play01:52

the inputs to the host process it there

play01:54

and send it back takes a significant

play01:56

amount of time and that time is the

play01:59

definitely noticeable low latency

play02:02

Technologies like Moonlight parsec or

play02:05

other proprietary ones from cloud gaming

play02:07

services are designed to reduce the

play02:10

overhead of constantly sending commands

play02:12

and confirmations by only processing

play02:15

data on the host side the host renders

play02:18

the game in a fixed resolution processes

play02:20

the mouse movements or keyboard clicks

play02:22

and doesn't send any confirmations back

play02:24

to the client except the video stream

play02:27

which ideally is Hardware encoded to

play02:30

further decrease latency all the decline

play02:32

sends to the host is what your mouse is

play02:35

doing which keyboard buttons have been

play02:37

pressed but not where that happened on

play02:39

your screen the only downside to this is

play02:42

that there is a slight delay when it

play02:44

comes to Mouse movement on a desktop

play02:46

since it's not client rendered anymore

play02:48

however when it comes to the actual

play02:51

latency of Mouse cruiserable image then

play02:54

it's really not comparable Moonlight

play02:57

clients which get the video stream from

play02:59

their hosts are available for basically

play03:02

any device that you can think of even on

play03:04

consoles and Homebrew Smart TVs however

play03:07

when it comes to the host side the PC

play03:10

were applications or games run on then

play03:12

it becomes a bit more difficult as I

play03:15

mentioned earlier in the video Moonlight

play03:17

is based on nvidia's game stream

play03:19

protocol which is integrated into the

play03:21

GeForce experience but that being said

play03:24

Nvidia plans to drop game stream and

play03:27

with it this method of Hosting Moonlight

play03:29

might not work anymore and since it's an

play03:32

Nvidia technology even their own

play03:34

internet hosting tool needs an Nvidia

play03:36

GPU with the nvank encoder to work

play03:39

however like Yoda said there is another

play03:42

meet Sunshine a self-hosted streaming

play03:45

service which utilizes the Moonlight

play03:47

protocol to offer that low latency That

play03:50

We crave while also being able to

play03:52

utilize AMD and Intel gpus Sunshine can

play03:56

be installed on your host system by

play03:58

either downloading the latest release is

play04:00

from their GitHub page or if you are on

play04:02

Linux you can also get it from Flat Hub

play04:04

though this version seems kind of broken

play04:06

at the moment after the installation you

play04:09

can access its configuration via

play04:11

browser-based web interface in in here

play04:14

you can create certain applications or

play04:16

desktops which will get advertised in

play04:19

the Moonlight client later you can think

play04:21

of applications as a sort of shortcut or

play04:23

easier method to only access certain

play04:25

applications you don't really want to

play04:28

deal with mouse navigation with a

play04:29

controller right if you want you can

play04:32

also use custom images simply by

play04:34

dragging them into the right directory

play04:36

and entering their name some

play04:38

applications like triggering The Big

play04:40

Picture Mode might need additional

play04:42

commands when launching if they do then

play04:44

you can enter them right here on the

play04:46

configuration side of things for just

play04:49

streaming we don't really have to adjust

play04:51

anything maybe the stream resolution and

play04:54

the frame rate enforce a specific

play04:55

encoder if you have multiple gpus on

play04:58

your host and adjust some quality

play04:59

settings if you're looking for the best

play05:02

quality then of course you could just

play05:04

crank everything to the highest settings

play05:06

however it's best to just leave them for

play05:09

now and tune them if necessary to

play05:12

connect your client to your PC you first

play05:14

need to enter its IP address which you

play05:16

can find in your windows or desktop

play05:19

environment Settings app or by executing

play05:21

ipconfig or IP address respectively

play05:24

simply enter it note down the pin and

play05:27

type it into your web interface in the

play05:30

pin tab now your client is paired with

play05:32

your PC and you can access your

play05:34

applications I currently use Moonlight

play05:36

to connect to Windows 11 virtual machine

play05:39

which is running the video resolve

play05:41

studio with a pass-through GPU since my

play05:43

surface is not powerful enough to

play05:45

smoothly run it by the way if you want

play05:48

to use Moonlight on a so-called headless

play05:50

system meaning that you don't have any

play05:53

display cable attached then you might

play05:55

need a dummy plug that mimics a monitor

play05:57

otherwise the host side rendering does

play06:00

not work since it's confused where to

play06:03

render 2. latency Wise It's really solid

play06:06

and I can even work over the internet

play06:08

and unlike I've experienced with RDP the

play06:11

video and audio are properly same linked

play06:14

one thing that I did notice however was

play06:17

that on the desktop whenever I move my

play06:20

mouse cursor the frame rate seems to

play06:22

drop and as soon as I stop it's back to

play06:25

normal I tried to find a fix in the

play06:27

client options however nothing really

play06:29

helped and I was wondering maybe it's

play06:32

intentional to prevent overshooting your

play06:34

target with your mouse I don't know and

play06:38

I should also mention that while

play06:40

Moonlight runs beautifully it only does

play06:43

if you manage to get it running on

play06:46

Windows the experience was Flawless

play06:48

download it open the interface and maybe

play06:51

set some resolutions in the frame rate

play06:53

on Linux however especially with the RP

play06:57

Hardware acceleration for AMD and Intel

play06:59

it can get a bit tricky the flat pack

play07:02

version for example refused to work at

play07:05

all and couldn't even use software

play07:07

encoding well it is quite easy to

play07:09

install Sunshine via the EUR on Arch or

play07:12

with a dab package on Ubuntu Fedora or

play07:15

other Debian based operating systems are

play07:18

not so lucky I'm currently compiling a

play07:21

list of fixes on how to properly install

play07:23

sunshine on Linux so definitely make

play07:26

sure that you're subscribed to the

play07:27

channel so you don't miss it and while

play07:29

you do that if you've liked this video

play07:31

then please make also sure to show it

play07:34

right here you can already watch next

play07:36

video which YouTube apparently thinks is

play07:39

the one for you and all that's left to

play07:41

say now is good morning good afternoon

play07:44

or good evening wherever you are I'll

play07:48

see you around

play07:51

foreign

Rate This

5.0 / 5 (0 votes)

Связанные теги
Low LatencyStreaming ProtocolGame StreamingNVIDIARemote DesktopCloud GamingGeForce ExperienceSunshineMulti-PlatformTech Tutorial
Вам нужно краткое изложение на английском?