Confused on Steam Play and Proton? Be sure to check out our guide.
VirtualGL - An awesome piece of software you should know about.
Avehicle7887 Jul 13, 2017
Recently I've been dipping my feet in Cloud Gaming and was looking for ways to build my own, in the process I discovered VirtualGL, A software that lets me do more than I bargained for.

How does VirtualGL (VGL) work?

In simple terms, with VGL your main system (the host server) will do all the work and only the frames will be sent over to the client pc. The final result is playable games even on the lowest end of systems, even when the hardware doesn't meet the game's requirements. Also keep in mind VirtualGL doesn't output sound, to stream sound you'll have to find an alternative method. As for keyboard and mouse inputs they are quite fluid and responsive.

For a smooth experience you will need a fast connection, my tests are limited and I ran them only on a local network so far. A slow connection might give you less fps and controls may also have lag. For the record I monitored the data passing through it was about 10mb/s.

Setting it up is quite straightforward, all you need is to have SSH up and running and the VGL client itself (VGL has to be installed on both server and client PCs). Connection is done using terminal via: vglconnect <yourhostusername>@your.ip.address, enter password and you're set. To run a game remotely type - vglrun ./<yourexecfile

For my demo I chose a powerful system as the host, and the weakest possible system I could find as the client:

The Host:
Linux Mint 18.1 (Kernel 4.11)
AMD Ryzen 1700X
16GB DDR4 2133MHZ
Nvidia GTX 1060 (375.66)

The Client (Dell Inspiron 6400):

Linux Mint 15/16 (Unsure which of the 2)
Intel Mobile Core 2 Duo (2GHZ dual core)
2GB DDR2 Ram
Intel 945 GMA w/mesa 10.1 (GPU Supports only OpenGL 1.4) (lol :-))
Games tested: Yooka-Laylee, Witcher 3, Guild Wars 2 and Divinity: Original Sin


Demo video:
View video on youtube.com
Ketil Jul 13, 2017
Nice, I might use this, if the game/program I want to stream isn't on steam.

The easiest way to transfer sound is through pulseaudio.

On computer receiving the audio (adjust 192.168.0.0/24 to fit your subnet). You can remove auth-anonymous=1 if you have the same pulse audio cookie on both computers(~/.config/pulse/cookie)
pactl load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24 auth-anonymous=1

On computer that send the audio
export PULSE_SERVER=tcp:ip-or-hostname-to-receiving-computer

You also have to open the correct port in the firewall. I get port 4713 when testing locally.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.