Moonlight - Game streaming (Steam link)

Moonlight is a game streaming client that we can use to stream games from a desktop PC. Right now moonlight only supports Nvidia GTX 600/700/900/1000 series cards.

Moonlight uses Amlogic H/W decoding so fluent 1080P 60 gaming is possible with Moonlight provided that the desktop PC is powerful enough

Building Moonlight for VIM3

sudo apt update
sudo apt-get install git libopus0 libexpat1 libasound2 libudev1 libavahi-client3 libcurl4 libevdev2 libenet7 libssl-dev libopus-dev libasound2-dev libudev-dev libavahi-client-dev libcurl4-openssl-dev libevdev-dev libexpat1-dev libpulse-dev uuid-dev libenet-dev cmake gcc g++ fakeroot debhelper libavcodec-dev ffmpeg
git clone https://github.com/irtimmer/moonlight-embedded.git
cd moonlight-embedded
git submodule update --init
mkdir build
cd build/
cmake ../
make
sudo make install
sudo ldconfig

After completion of build copy the files “moonlight.conf” and “gamecontrollerdb.txt” to build directory

Setup on PC/VIM

  1. Install latest “Geforce Experience” on the PC
  2. Install Steam client on the PC (if not already installed)
  3. Open “Geforce Experience” -> Go to settings -> Shield Tab -> Enable game streaming
  4. Add steam.exe to the application list
  5. SSH into VIM3, go to build folder execute ./moonlight pair xxx.xxx.xxx.xxx where xxx.xxx.xxx.xxx is the desktop PC IP address. Enter the key on your desktop to complete the pairing process.
  6. To start streaming execute './moonlight stream xxx.xxx.xxx.xxx`. It will take sometime and then steam link should show up in VIM3 display

Performance
I tested the performance at 1080P 60 FPS it was really smooth with some occasional stutters
I should also note that as of now VIM3 doesn’t support controllers we need recompile the kernel with drivers for controllers… so default firmware will support keyboard and mouse only

Thanks for sharing those detailed build instructions for Moonlight on the VIM3. Getting game streaming set up on alternative hardware is always a satisfying project once it’s running smoothly.

That’s a great point about testing performance with a well-optimized, lighter title. Once you get your controller support sorted, a classic like gunblood game is a perfect choice to test for input lag and visual fluidity on your new streaming setup. It’s straightforward and fast-paced, which really highlights how responsive the stream is.