Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For self hosted remote streaming of game look at Moonlight / Sunshine (Apollo)

Stadia required special version of games, so it wouldn't be that useful



It's a shame that virtual / headless displays are such a mess on both Linux and Windows. I use a 32:9 ultrawide and stream to 16:9/16:10 devices, and even with hours of messing around with an HDMI dummy and kscreen-doctor[1] it was still an unreliable mess. Sometimes it wouldn't work when the machine was locked, and sometimes Sunshine wouldn't restore the resolution on the physical monitor (and there's no session timeout either).

Artemis is a bit better, but it still requires per-device setup of displays since it somehow doesn't disable the physical output next to the virtual one. Those drivers also add latency to the capture (the author of looking glass really dislikes them because they undo all the hard work of near-zero latency).

[1]: https://github.com/acuteaura/universe/blob/main/systems/_mod...


On Linux with an AMD i/dGPU, you can set the `virtual_display` module parameter for `amdgpu`[1] and do what you want without the need for an HDMI dummy or weird software. It's also hardware accelerated.

> virtual_display (charp)

> Set to enable virtual display feature. This feature provides a virtual display hardware on headless boards or in virtualized environments. It will be set like xxxx:xx:xx.x,x;xxxx:xx:xx.x,x. It’s the pci address of the device, plus the number of crtcs to expose. E.g., 0000:26:00.0,4 would enable 4 virtual crtcs on the pci device at 26:00.0. The default is NULL.

[1]https://www.kernel.org/doc/html/latest/gpu/amdgpu/module-par...


Unfortunately this seems to disable physical outputs.

https://bugzilla.kernel.org/show_bug.cgi?id=203339


I figure if you're using an HDMI dummy you're running headless anyway

edit: didn't realize you're the OP lol


Use Apollo (a fork of Sunshine) : https://github.com/ClassicOldSong/Apollo

> Built-in Virtual Display with HDR support that matches the resolution/framerate config of your client automatically

It includes a virtual screen driver, and it handles all the crap (it can disable your physical screen when streaming and re enable after, it can generate the virtual screen by client to match the client's needs, or do it by game, or ...)

I stream from my main pc to both my laptop and my steamdeck, and each get the screen that matches them without having to do anything more than connect to it with moonlight.


Artemis/Apollo are mentioned in the post above - yeah they work better than the out of box experience, but you still have to configure your physical screen to be off for every virtual display. It unfortunately only runs on Windows and my machine usually doesn't. I also only have one dGPU and a Raphael iGPU (which are sensitive to memory overclocks) and I like the Linux gaming experience for the most part, so while I did have a working gaming VM, it wasn't for me (or I'd want another GPU).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: