« Back to article list

Gaming with a thin client on GNU/Linux at native FPS

Preface

I wasn't entirely sure it was possible (lots of issues attempting to get it working over VNC - I made some attempts at TurboVNC/TigerVNC/TightVNC and VirtualGL, however the easiest way to:

Get native FPS speeds over your LAN from your thin client to your desktop

was to simply run reverse VNC and launch the game on the native GNU/Linux desktop display (:0.0).

Required packages

The following packages are required to make this work:

Step one: Installing your packages

Use your package manager to install the necessary packages on the necessary machines.

Step two: Creating the reverse VNC listener

On the thin client / laptop, begin a reverse VNC connection via the following:

vncviewer -listen

This will cause your VNC application to sit and wait for a connection - unlike a typical vncserver, the connection will not view your thin client, but will push it's display outward to you.

Step three: Connecting to the listener

Assume your thin client is on ip 192.168.0.4 Your fat client/desktop is on ip 192.168.0.5

From your thin client, perform the following commands (note your IP address):

ssh 192.168.0.5

At this point, you are now ssh'ed into your desktop, run the following:

export DISPLAY=":0.0"
x11vnc -connect 192.168.0.4

You will now see your thin client pop open a VNC window showing your native desktop display.

At this point, you can open a terminal in the VNC display and run whatever game your heart desires.

Update <2014-10-24 Fri>

A simpler way is to avoid reverse VNC (it's ideal use case is when the machine you want to use as the client does not have a unique IP address, ie. connecting from a shared non-port forwarded IP address to you fat client).

To perform the connection from client to server without reverse vnc is as simple as:

ssh 192.168.0.5 # assuming this is your server/fat client
x11vnc -display :0 # This activates the listening VNC server on display 0.0

Now open up a second terminal window and use:

vncviewer 192.168.0.5:0

Voila! You'll be connected and ready for some more gaming!