Attempting to self-host cloud gaming. cannot decide on display solution. opinions/advice wanted

i am trying to do self hosted cloud gaming with a Linux gaming VM as the host, and a Linux laptop as the client. input and audio should be easy enough to setup, we are not concerned with that in this thread.
my problem is display. how do i view the KMS of my Linux host from another machine in a way that is low(enough) latency and offers allows for compression should the client’s connection be insufficient.

X over SSH wont work, as i want to fully use the GPU of the host.
VirGL wont work, because it only works with OpenGL, no Vulkan support.
since i want this setup to work regardless of graphics API, I’ve concluded it best to try and just copy the entire framebuffer and somehow view it on the client. if there is a beter approach, I’m all ears.

I’ve tried using FFMPEG, but i kept running into performance issues. latency would steadily increase as the session grew longer.

what approach/software is best suited for self-hosting cloud gaming?

Moonlight, Steam Link…


Steam wont be suitable for this as not all applications i intend to use run through steam. Steam-based approaches assume that the host always has steam (and Xorg) running.
I’m going to need something on a bit lower level than the Steam application for this.
in-home streaming is also just really unstable.

i looked into moonlight and it seems it only supports Nvidia accelerators. the gaming host is a Linux VM, so Nvidia cards are out of the question.

Change to Windows. :slight_smile:

Parsec, Rainway… But here is the same as above.
X2Go, OBS… but lag.

If you need something on such a low level, you probably need to write something of your own that will grab the frame and pack it nicely and send you udp. Maybe start with Looking Glass and add your distribution packaging.