Cloud gaming services allow even relatively meager devices like set top boxes and cheap Chromebooks play the latest and greatest titles. It’s not perfect of course — latency is the number one issue as the player’s controller inputs need to be sent out to the server — but if you’ve got a fast enough connection it’s better than nothing. Interested in experimenting with the tech on your own terms? The open source Games on Whales project is here to make that a reality.
As you might have guessed from the name, Games on Whales uses Linux and Docker as core components in its remote gaming system. With the software installed on a headless server, multiple users can create virtual desktop environments on the same machine, with each spawning as a separate process on the host computer. This means that all of the hardware of the host can be shared without needing to do anything complicated like setting up GPU pass-through. The main Docker container can spin up more containers as needed.
Of course there will obviously be limits to what any given hardware configuration will be able to support in terms of number of concurrent users and the demands of each stream. But for someone who wants to host a server for their friends or something even simpler like not having to put a powerful gaming PC in the living room, this is a real game-changer. For those not up to speed on Docker yet, we recently featured a guide on getting started with this powerful tool since it does take some practice to wrap one’s mind around at first.
I’ve migrated my docker server over to podman because it is far more secure. Instead of each container running as root, each container runs as a user with just enough permissions to run the container. Since each container is run by a user, podman creates sub users and runs things inside the container as those users. You can still run a container as “root” , but the container root is a sub user to the unprivileged system user so if someone acquired root in a container, they still can’t do much of anything on the system. Extra points if you run a container as a barely privileged sub user!
Don’t know if it’s related to/using this project, but Clouddeck has a really nice streaming service using linux vms, but maybe they’re really containers…
It will let you stream any steamdeck/proton compatible game you own on steam, directly through steam streaming, or using any moonlight client
Very powerful as it has a wider library and many more client options than other services
Good to know, thanks for sharing
You can just use Moonlight and not dick around with containers. Oh yeah author forgot to mention its linux only so 99% of games wont work
The whole point is to virtualize and converge hardware, it may not make a lot of sense for a home setup, bit it’s a key technology in getting better/cheaper streaming services
And as far as compatibility is concerned, Valve has changed a lot of things with proton/steamdeck
https://www.protondb.com/explore
Meh, lutrisnisnt far off
How have you not heard of Proton?
Right? :)
99% of the games I own works great on Linux.
I’ve tried so many remote gaming solutions from things that work over the internet (stadia, luna, GeForce NOW) to lan-only solutions like Valve’s Steam Link or even replacing the entire client and server with active FOSS solutions with Sunshine and Moonlight.
So far all of them suffer from weird latency issues, network spikes, and quality problems that make the experience so frustrating that it’s just not worth it. I’ve spent the last few years upgrading everything along the entire networking stack. WIFI 6E or ethernet for clients, direct ethernet connection from the gaming server to the router, and a better videocard for improved GPU accelerated encoding. I even made the switch to gigabit fiber internet that’s been amazingly low latency/jitter when inspected. Sadly the issues remain.
Has anyone here had a flawless experience and if so, what’s your networking and system stack look like?
Dick around more with moonlight/sunshine, I’ve been using it latency free for over a year.
No you haven’t. There is no such thing as “latency free.” Perhaps you aren’t as susceptible as he is. Sharing what your actual latency is would be far more useful.
Same here moonlight + sunshine at 1080p120 has been flawless for me.
I have a very consumer grade standard rig in my bedroom with a 3080ti, a very no frills Asus router from five years ago, cat 6, two Cisco dummy switches between.
I run W11 and use Parsec and Moonlight.
Parsec is unreliable and their team and support network are baffling for the size and scope of their product. That being said it can always at least detect the rig. Moonlight however when it can detect the rig is rock-solid, I never get drop-outs or lag when on the home network, it’s only when I use a vpn or have a dozen-mile distance that things start to get immersion breaking. That being said, I constrict my bandwidth cap, never stream over 30 fps and 720p. I am very frugal. I keep my drivers updated and my home network uncongested.
Sounds like you’ve done everything correct to get an ideal experience with streaming. I can only speak from my personal experience with a very similar network stack, but at home I get nearly flawless 1080p120 / 4k60 through GeforceNOW and about 90% of that level of fidelity through Moonlight from my personal rig. Moonlight does have a tendency to hiccup on occasion (slow connection notices, weird visual artifacts from NVENC), but I’m never playing anything latency critical (multiplayer, fighting, racing) while streaming.
When I say nearly flawless, what I mean is a tiny bit of noticeable control lag. Enough to notice at first, but something I completely forget about after about 10-20 minutes. By the time GFN is kicking me off their service 6 hours later, I’m too engrossed to care about latency.
The one thing I will say about the idea of streaming games like that is that if everyone streamed a multiplayer game directly from its own server, maybe they could finally stop having crappy netcode. Doubt it, and I wouldn’t like that anyway, but I can dream.