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!
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
- Fedora KDE gets approval to be upgraded to sit alongside Fedora Workstation
- Steam gets new tools for game devs to offer players version switching in-game
- Palworld dev details the patents Nintendo and The Pokemon Company are suing for
- Sony say their PSN account requirement on PC is so you can enjoy their games 'safely'
- GOG launch their Preservation Program to make games live forever with a hundred classics being 're-released'
- > See more over 30 days here
-
The latest from Prime Gaming - November 14 edition - lo…
- MrDerby -
EA Anti-Cheat arrives for Battlefield 1 breaking it on …
- Scattershot -
Old Skies from Wadjet Eye Games looks like one to remem…
- crabel -
Old Skies from Wadjet Eye Games looks like one to remem…
- whizse -
Classic Unreal Tournament and Unreal now easier to down…
- ElectricPrism - > See more comments
- Does Sinden Lightgun work?
- helloCLD - No more posting on X / Twitter
- Liam Dawe - Steam and offline gaming
- damarrin - Weekend Players' Club 10/11/2024
- Pengling - Upped the limit on article titles
- eldaking - See more posts
View PC info
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
View PC info
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.