Live data from Hacker News

Kubernetes-Native Retro Game Streaming Written in Go

github.com

11–15 of 15 posts

Re: Kubernetes-Native Retro Game Streaming Written in Go

#11
post #8
post #2

Can you explain why this is "Kubernetes-Native" (whatever that means)? It's not quite clear from the link.

In the larger sense, "Kubernetes-Native" is similar to "Linux-native." Kubernetes is the platform. For this project specifically, it seems they have done some interesting work to make things run in containers, like udev input and streaming wayland sessions to a web browser. Overall, it looks pretty interesting.

> In the larger sense, "Kubernetes-Native" is similar to "Linux-native." Kubernetes is the platform.

Let me preface that I wrote a whole thesis on Kubernetes, and the sentence "Kubernetes-Native" makes no sense to me. It's just a container.

My buzzword-meter is beeping pretty hard right now.

Re: Kubernetes-Native Retro Game Streaming Written in Go

#12
Referenced in one of the dockerfiles: https://games-on-whales.github.io/gow/overview.html is certainly the more reasonable approach to streaming games off docker/kubernetes.

Their sunlight alternative https://github.com/games-on-whales/wolf adding multiple tenants is neat as well. Definitely going to give it a spin on some intel iGpu nodes.

Re: Kubernetes-Native Retro Game Streaming Written in Go

#13
So hey guys, I'm one of the two authors of this project.

Because we haven't really advertised the project anywhere, I was a little surprised to wake up and see the 86 stars we have now. This project is still very much in its infancy. While we have a working setup internally, I wouldn't say it's quite ready for external use.

Getting docs and a (comprehensible and non-ChatGPT written) readme is on our list of things to do. We're still in the process of some major refactors right now, and are mostly focused on improving the reliability of the streaming from ffmpeg/gstreamer to our application. We're dropping far more packets over UDP on loopback than I would have thought, so we're rethinking how we get the frames.

We also haven't actually had any kind of official release or anything and only shared the repository with a handful of people in the Games on Whales community (including WanjohiRyan), but that was only to share some implementation details around the udev stuff with them for their own projects.

The basic premise of the Pod-Arcade is this:

You load up a webpage, and can share that URL with a bunch of your friends. It's like Steam's Remote Play together, but using web-browsers instead.

There's a "Server" application that runs an MQTT server and hosts a web frontend. "Desktops" are basically just docker containers hosting Wayland desktops that run applications and can be streamed over WebRTC to the web frontend. Both the client's web browser, and the desktop connect to the server application and use MQTT to exchange SDPs and liveness information. From there, most of the communication between the desktop and the web client (for things like mouse and gamepad) happens over WebRTC Data Channels.

The "Kubernetes-Native" is part of our roadmap. We want to have an operator that dynamically spins up pods as you need them. You and three of your friends all want to play separate instances of retro-arch at the same time? The operator can handle spinning up and managing those pods. Ideally there will eventually be some catalog of applications that you can one-click deploy through the web frontend.

Post reply on HN