135 comments

  • PalmPilotProMax 15 hours ago

    So, to sum up:

    First there was Nvidia Gamestream, which was proprietary and later deprecated by Nvidia themselves.

    Then came Sunshine and Moonlight, open source server and client implementations of the protocol to allow low latency streaming for all platforms.

    Along the way the Game on Whales project started, to allow multi seat streaming plus virtual displays so currently logged in user sessions aren't impacted. Basically this is a whole "host your own Stadia/Geforce Now" solution. But instead of running already setup applications as an existing user, you run these curated containers of Steam, Firefox, etc.

    Then someone forked Sunshine and Moonlight into Apollo and Artemis, to make streaming from a virtual display turnkey and OOTB easy. Sadly the virtual display feature of Apollo is in practice Windows only.

    And then there's this, Moonshine, in a way doing what Apollo brings to the table but for Linux servers.

    Oh, and along the way someone forked Apollo into Vibepollo, an almost fully vibecoded "enhancement". Personally not touching that.

    Did I miss anything?

      somat 15 hours ago

      The steam link actual.

      While the hardware is no longer being sold the software sort of lives on. In an android app among other things.

      Tangentially it almost feels like steam could make a stadia like thing work. They have most of the moving parts including crucially, the bit google didn't, an established base of customers. Tomorrow steam could introduce a "play your games anywhere on any hardware" feature and no one would be surprised.

        nicce 12 hours ago

        > While the hardware is no longer being sold the software sort of lives on. In an android app among other things.

        It is built-in on every Steam. You can basically press two buttons and stream from your desktop to laptop if both have Steam with same accounts logged in.

        > Tangentially it almost feels like steam could make a stadia like thing work. They have most of the moving parts including crucially, the bit google didn't, an established base of customers. Tomorrow steam could introduce a "play your games anywhere on any hardware" feature and no one would be surprised.

        Already possible. While not so optimized as Games-on-whales.

          greggsy 8 hours ago

          The thing I found limiting when I tried to run Steam remotely from my lounge room was the need to actually interact with the host PC at certain points, not just during the initial setup. I found this is the same on a lot of similar platforms, and it’s made worse when RDP clobbers the graphics settings.

          A truly headless solution with a web ui would get me really interested.

            nicce 7 hours ago

            Valve has truly headless runner (gamescope) for Linux, e.g. you can start it manually from command-line over ssh

              gamescope \
                --backend headless \
                -W 1920 -H 1080 \
                -w 3840 -h 2160 \
                -r 60 \
                --cursor-scale-height 1080 \
                --force-grab-cursor \
                -- steam -gamepadui -pipewire-dmabuf
            
            
            You still need the initial setup for pairing.

            But it has many issues compared to Games on Whales, for example, which is much more efficient and scales cursor better.

            https://github.com/ValveSoftware/gamescope

            jvanderbot 7 hours ago

            Furthermore, it will log in and unlock your host pc. If you're across town at a coffee shop and your 4 year old kids are near the host pc and see it unlock and start playing a game, you better believe they're gonna wreck your save file.

            Not to mention greater security concerns.

              JeremyNT 2 minutes ago

              Yep, it's really only an option for a dedicated gaming PC (or a VM with the the GPU passed into it).

        dpoloncsak 5 hours ago

        Steam Link has saved my ass more times than I can count.

        VPN having issues, can't connect to any of my stack? Atleast I have a desktop on my LAN I can remote into...from my phone...

        Basically anytime I have network issues while I'm away, reliable Steam Link connects me back to my infra ~97% of the time.

          jrm4 3 hours ago

          Wait. Go on? Is this with or without the device?

          For the record, I always wondered why I couldn't do something like this with whatever magic is happening under the hood with Syncthing.

          I've been doing networking related things for over 20 years, and it's still wild what doesn't click for me...

            dpoloncsak 3 hours ago

            Steam Link creates an RDP session (I assume their own protocol but for lack of a better term for it) that lets me control my Desktop from my phone.

            Once I'm remote on the desktop, I can access my home-lab locally instead of via VPN. Before I moved to Tailscale, my self-hosted Wireguard setup was pretty shaky, and was running on an old Pi that had seen better days.

            It's basically just using Steam to jump-box to my LAN, and from there you can do whatever you desktop can do on the LAN. (Steam Link has some oddities around UAC prompts, usually requiring input from the host and refusing from the client.)

            You could probably use anything....Parsec, Moonlight, RDP, etc. But Steam is always running on my Desktop, and the phone-app helps a lot. I've used Parsec as well, but sometimes if using a commercial VPN Parsec is unable to connect. Steam tends to still create a session in these scenarios, but YMMV...I'm sure there's some config issues in my setup

              jrm4 3 hours ago

              Aha, I'm getting back into this sort of thing, and I've always been a fan of Tinc for things like this, but it is showing its age.

        ach9l 9 hours ago

        That's not the same thing at all. Stadia was never about streaming from your own dedicated pc, it was about cloud computing. Something Valve does not have. In order for Steam Link to become Stadia, Valve requires the same data center capacity to serve games.

        tencentshill 5 hours ago

        They also have datacenters in most major cities, so latency would be minimal. They're one of the only services that allows me to actually saturate my home internet bandwidth. But hosting game data and actually running the games is a lot different.

        ekianjo 14 hours ago

        Wouldnt they need racks of GPUs to do that at scale?

          als0 13 hours ago

          Have you heard about the cloud?

            pxndxx 12 hours ago

            The cloud is just someone else's computer. Do you think there's spare GPU compute available during the AI craze?

              jdiff 9 hours ago

              I think there's a lot of spare GPU compute. I don't think it'd be made available for this, or if it was, I believe it'd most likely be from a company that won't survive the AI bust. But I think there's a lot of spare compute sitting idle out there.

              If there weren't, I think token prices would be higher than they are, downtime would be higher than it is, and there would be far fewer free tiers or more restrictions on free tiers.

                YmiYugy 5 hours ago

                I don’t think there is a ton of spare capacity. But even if there was the machines are designed for AI not gaming, e.g. low CPU clocks, the GPUs don’t have RT cores or video encoders, etc. Stadia had custom hardware, GeForce Now uses workstation GPUs, xCloud has custom servers. Gaming also isn’t a good use for spare capacity. Demand is very spiky and people don’t have a lot of time flexibility.

                jvanderbot 7 hours ago

                There's a pretty fair staging argument of AI for work, Gaming for play, that would keep north american data centers with north american customers running 2/3 of the day.

                Zababa 7 hours ago

                There's also an alternative which is that token prices are already high, downtimes do exist (semi frequent on Claude) or are managed by serving degraded versions/quants (speculation that has never really be proven afaik) or reducing thinking time ("juice" values from open AI), and that free tiers are not used much at all or are a loss leader.

              alex43578 10 hours ago

              What if steam users could offer their computers up for credit on steam? Not sure if most consumer internet connections would be up for it, but that would be an interesting model.

                YmiYugy 4 hours ago

                I think it’s death by a thousand cuts. I think internet connections are the least of the issue. Plenty of people have gaming PCs wired to 1Gb/s fiber. It may even be better because users can be close together.

                Where I see bigger issues is: 1. Economics. GeForce Now for a 5080 is 20ct/h. At retail prices you may get close in electricity.

                2. Others want to game when I want to game. What good is offering my PC up at 5am? Who would want to use the service if you can’t reliably get access when you want it. Not to speak of the issue of getting kicked out when the owner wants their PC back.

                3. The whole: do you trust someone else’s computer/do you trust others on your computer. Users don’t want their login details stolen or get banned for using a cheaters PC and providers don’t want you to cheat or do other nasty stuff. You can’t really do VMs because consumer GPUs don’t really support virtualization so dual booting

                4. You need to dedicate a ton of disk space. Because of 3 you can’t really share and now you have to deal with some system to have the relevant games available.

                  alex43578 3 hours ago

                  I agree with all those issues.

                  Just for discussion though: Economics don’t necessarily dominate these markets when providers aren’t informed - Uber drivers w/ depreciation for example. If your GPU is a sunk cost, and your electricity is cheap enough, it might be attractive (think consumers mining crypto back when).

                  A floating market rate or “surge pricing” could come into play. Outside of the top 10% of gamers by playtime, there’s plenty of idle compute during prime hours.

                  A secure environment would definitely be essential. SteamOS could be a great tool for that: dual boot SteamOS and make SteamBucks while you’re not using your computer.

                  You could only offer your machine for the titles you have downloaded. This again could be addressed by a market: popular titles could get more utilization, but obscure titles could command a premium.

                  No guarantee any of this would actually work, but it’d be an interesting model to explore if I were at Steam. They have hardware survey data, user activity, etc; to check viability.

                freedomben 6 hours ago

                I suspect the latency would absolutely kill, plus what happens to your killer in-game progress when the owner of the computer decides to play their own game or shut down the machine? So you'd need some sort of handoff, which seems technical very, very difficult.

              Hamuko 8 hours ago

              Seems like there is considering that Meta is currently selling their excess AI capacity.

              https://www.reuters.com/business/meta-sell-excess-ai-computi...

                fineIllregister 8 hours ago

                They're selling it for AI. Unless retro-nostalgia explodes and gamers are overwhelmed by a desire to pay for tokens (more than ai users), that doesn't change anything.

      shepherdjerred 13 hours ago

      Unfortunate it is still essentially impossible to share consumer GPUs with multiple virtualized hosts, which limits the utility. My dream is to build one beefy server and play old games like COD via connected thin clients

        alimbada 3 hours ago

        Not sure if LXCs would help in that regard as I haven't used it for gaming but you can share a GPU between LXC guests and the host. I have an unprivileged LXC running in Proxmox that uses the GPU for transcoding video.

        wjnc 4 hours ago

        Thanks to the comment above I discovered Games on Whales and just read up on the possibilities. Isn’t that exactly your usecase? It seems you can stream to multiple underpowered systems provided you have network, RAM, GPU and enough cores. It even streams to Apple TV, Chromecast etc.

        felixfurtak 10 hours ago

        It's possible to run vgpu with modded drivers up to, I think, RTX 2xxx series.

        bvcp 10 hours ago

        intels gpu supports vgpu with no extra licence

      mijoharas 11 hours ago

      OK, so to clarify, it's Sunshine (game streaming server) but headless for linux.

      So if I used sunshine, and streamed a game, the display of the box running sunshine would be showing the game? and this moonshine allows us to do away with that, to be able to run headless, or to run multiple games at once or something?

      Is that correct?

        remix2000 11 hours ago

        But Sunshine _is_ headless, I would know if it weren't, I'm using it as such (albeit with a dummy plug, but that's just a hardware limitation).

          PalmPilotProMax 11 hours ago

          The selling point of Moonshine (and some of the Sunshine forks/descendants) is that it's headless without the need of a physical dummy plug.

            remix2000 9 hours ago

            Nvidia GPUs refuse to accelerate 3D w/o an output connected; if I had a Radeon, I wouldn't need the plug, it's just an Nvidia thing I believe.

            Afaict, Moonshine relies on a separate graphical session running on your monitor and that's how it gets around that limitation of Nvidia GPUs. If I had a monitor plugged in to my box, Sunshine would work just as well.

              amarshall 7 hours ago

              It’s possible to make a fake display to avoid that; both Linux and Windows have this ability. No dummy plug is required (though it is simpler than software solutions).

                remix2000 3 hours ago

                I don't use the dummy plug for display, it's only that consumer nvidia gpus won't have working 3D acceleration if there is nothing physically connected to the card. My dummy plug doesn't support the resolutions I run games at anyway.

                EDIT: Ok, correction, I bothered to go unplug the dummy plug and it still works. So I was wrong, Sunshine does not need a dummy plug at all, not even on Nvidia. Now it remains a mystery why I have one in the first place if it's useless after all…

          mijoharas 6 hours ago

          ok, weird. Yeah, I saw this and thought "what's new, isn't that what moonlight/sunshine already is".

          Is it just a new implementation? is that it?

          [EDIT] all answered here: https://news.ycombinator.com/item?id=48976789

          dpoloncsak 5 hours ago

          You're technically right, and I appreciate your comment, but it's funny to me to be like 'It is headless! It just needs a fake head!'

            remix2000 3 hours ago

            Now you try working with a fake in your head's place! :þ But yeah, real head (a monitor; doesn't have to be on) also works just as well, and even no head at all works, just won't accelerate 3D. Arbitrary resolutions also work. My only complaint with sunshine is that the webui authentication is really broken. Fortunately I don't need to go there much.

      BatteryMountain 14 hours ago

      I setup a fake display on my fedora instance (inside proxmox) at boot time (boot/kernel args) that mimics the specs of my real display. Sunshine sees it as a real display so I can unplug everything from the box except power and lan cable. No hdmi dummy dongle or virtual display driver needed. Using linux as a gaming server works fine!

        saghm 13 hours ago

        I've been doing almost the same exact thing for a while, except on Arch and with a different EDID than my actual display drive my handheld that I stream to is 16:10 rather than 16:9 like my actual monitor. After a couple of months something changed (maybe a kernel update, although I never fully tracked it down) where the kernel no longer respects the parameter about which display to use for the initial LUKS decrypt and tries to use the fake display no matter that, which prevents me from unlocking it until after a timeout of a few minutes. I've made this somewhat less annoying by setting up unlocking via ssh on a local IP so that I can just initiate a reboot and then do other things around the house without having to wait around next to it until it times out and falls back to the real display, but it would be really nice to not need to wait in the times when I don't have any need to do anything else for a few minutes. Did you ever happen to run into this timeout issue, and if so, do you know how to fix it?

          BatteryMountain 11 hours ago

          If you have a tpm (or virtual tpm), you can enroll your passphrase for auto unlock. When sealing the tpm slot, you can decide how much should be sealed: kernel version, drivers, firmware updates, hardware changes etc.. meaning a kernel update can break the seal and ask for passphrase if you included kernel version in the seal. You can set it so the kernel/driver updates won't break your tpm seals. It's usually just one command to reseal the tpm values and the auto-unlock should work again, but it wastes time like you experienced. I use systemd-cryptenroll and a couple boot args.

          If you have claude code installed (or ssh access for it), you can ask it to investigate your entire boot chain. It can find and fix it in 5 minutes.

            saghm 4 hours ago

            I'm not sure if I'm misunderstanding what you're suggesting, but my issue isn't that I want unlocking to be even more streamlined (since I'm fine with what I have and don't want fully auto unlock); it's just that I don't want the timeout that somehow started happening before it's even letting me manually unlock.

            And yeah, I did try out various LLMs (including Claude) when it first started happening, but none of them were able to point me towards anything definitive about the cause, let alone the fix. In general I think it might be worth giving someone asking a question about something like this the benefit of the doubt about whether they've tried it, especially if you have outsized assumptions about how likely they are to solve problems. My experience is that when someone mentions having an issue, telling them "just ask Claude/Codex/etc." doesn't tend to end up being a very valuable contribution to discussions; people who are open to using LLMs for things will almost definitely have already done so, and people who haven't already are a lot more likely no to have done so for other reasons than the idea not having occurred to them. It's pretty hard to go more than even a few minutes into any sort of discussion about tech nowadays without someone bringing them up, so I think it's a pretty safe assumption that most people are well aware of them and considered them for whatever problem they're having.

            To be clear, I'm not trying to berate you or anything but genuinely give feedback that might be helpful for you when trying to give advice on things like this in the future. Trying to give advice in a way that people will be receptive to can be difficult, especially when they're strangers on the internet, but I also think it's a a valuable way to spend time compared to a lot of other ways to spend time online, so I think it's worthwhile to invest time and effort into figuring out the best ways of doing it.

      Mashimo 13 hours ago

      It seems like Sunshine and Moonlight are now active again, and have a release more recent then Apollo and Artemis.

      On windows, is it possible to use the server at the same time as someone is remote gaming? Most virtual display solutions I found just turn the server display off.

        ammo1662 13 hours ago

        Most of these solutions work by directly forwarding the GPU-rendered image. On Linux, Moonshine uses Wayland for headless rendering, but that approach doesn't work on Windows.

        Windows requires an active user session with a connected display(physical or virtual) in order to build a desktop to render something. RDP can create a backgorund session, but on non-Server editions of Windows, you can't have a background RDP session while you are using it. It only allows one active session unless you patched the RDP service.

          atmanactive 12 hours ago

          I don't think that's entirely true with the recent Apollo and Vibepollo developments.

      gadtfly 14 hours ago

      I would love "normal linux user remote desktop session suitable for gaming using the host's GPU".

      Nothing seems to do exactly that, though this (moonshine) seems like it might be the closest yet.

      Can it run a desktop environment as the "Application" that it's streaming?

        saghm 13 hours ago

        I've been running Sunshine on my Linux desktop for a while now and connecting to it with a SteamOS handheld and my laptop for mostly gaming for a while now. From what I can tell, the biggest difference with Sunshine and Moonshine when running on Linux is that Sunshine doesn't use a separate desktop instance per stream; by default, the streams will be mirrored to the clients, although there's a way to work around that somewhat by setting up a fake display output device with the boot parameters and a custom EDID with the specs you want (there's at least once repo where someone has a large set of them dumped from thousands of different monitor brands/models) and then setting up Sunshine to output when mirroring, which effectively means that only the remote client will actually have anything displayed.

        It took a fair bit of iteration to get my setup to the point where it mostly works the way I like, but it's been pretty stable for months now. I game exclusively on my handheld streamed from my desktop, and on my local network the input lag is pretty consistently low enough that I don't notice any difference from when I had tried to play things locally on SteamOS, only I can easily max the graphics settings on most games I play (and on the rare ones that do struggle, there's often not a ton of downside to lowering the resolution a bit due to the handheld only being 1200p).

        anygivnthursday 12 hours ago

        I sometimes ssh into my box with a port forward and starting wayvnc, then connect via tigervnc, I only played a few older/simpler games like this on Steam for a short test, but seemed to work. The server was Arch with Sway and client Fedora with Sway.

      nicce 12 hours ago

      > And then there's this, Moonshine, in a way doing what Apollo brings to the table but for Linux servers.

      What was the motivation? Games on Whales seems to work perfectly in my experience.

        Zinu 10 hours ago

        Games on Whales runs containers, it doesn’t stream your desktop or your steam installation for example. So use case is for those that use the PC directly but also want it available via moonlight without a display connected.

        stavros 10 hours ago

        I've used Moonlight but didn't like having to unlock my Linux home PC to play. If I want to play remotely using my (idle) PC, what's a better solution? Games on Whales (which I'd never heard of before now, and I'm not sure if it works on Linux), or Moonshine?

          nicce 10 hours ago

          I have server running in basement all the time. I start Games on Whales over ssh and then launch Moonlight on macOS client. You can do it completely remotely. Only pre-condition is that computer must be turned on. I tried Sunshine as well but it was too much pain and not so effortless.

            stavros 10 hours ago

            Nice, thanks! You can't do that with Moonlight in Linux, I always needed to log in to my session first in person.

      PufPufPuf 7 hours ago

      Then there's Steam Link which actually works, even with non-Steam games and full desktop. My computer screen is 21:9, TV is 16:9 and that is too much to handle for the other streaming solutions.

      ducktective 14 hours ago

      Thanks for the summary!

      Does anyone happen to know how to make a Windows machine, the extended display of a Linux machine? Both machines are on the same network.

      I'm looking to use a Windows laptop as a mere HDMI monitor for the Linux laptop. I don't need gaming/streaming requirements. Like, can anyone list our options in 2026 as the parent comment did?

      I assume one can use this Moonshine on the server (Linux laptop) and run Moonlight on the client (windows laptop)?

        MayeulC 13 hours ago

        I don't have the time to provide such a detailed answer, but there are a few options.

        At least on Sway (and I imagine other wlroots-based compositors) it's very easy to do: create a virtual output and start a VNC server attached to it. Start your vnc client on windows. A comment I posted 5 years ago: https://news.ycombinator.com/item?id=25892128

        The comment linked above is on the topic of Deskreen, which is a tool that does that.

        Funilly, I also commented something similar there: https://news.ycombinator.com/item?id=34010970 the article explains how to do it on a lower level (pretending a display is connected to the GPU), works under X11 too.

        A few days ago, an update locked me out of my server. I used a cheap USB HDMI capture card to use my laptop as a screen, which worked very well: that could be another option.

        Then I guess that there is this option, which is new to me. It feels like this could be a toogle in sunshine, somehow :)

        silentkat 13 hours ago

        Yes, I do this. Got used to my work laptop being my second monitor under my main but at home use a desktop. I do it with a Mac laptop but moonlight on the laptop in my experience is not the finicky part of the setup. I do it with basic sunshine connecting to a headless display, though. I think moonshine sets up the virtual monitor for you? Never used it.

        BLKNSLVR 14 hours ago

        My unhelpful answer is: It sounds like what you're describing is logical. Can you go ahead and set that up and report back?

      Gizou 12 hours ago

      The sum up is pretty good, I didn't know half of the history

      About Apollo, someone started a fork of Sunshine to be the equivalent of Apollo (with virtual displays) for linux, it's called Polaris https://github.com/papi-ux/polaris (nb, it's not the apache polaris). It's very Alpha right now and the UI feels wonky but it's promising.

      Bombthecat 9 hours ago

      Yes, nothing will be as fast as the Nvidia implementation.

      Those implementations don't have access to the low level encoding Nvidia has.

      There is a rumour, that they did this because of GeForce now, because there never will an open source implementation/ service competition for GeForce now.

      bbminner 8 hours ago

      And there's also parsec.app but only for windows hosts through.

      chocrates 7 hours ago

      Why do we need these? I have sunshine streaming headless to my laptop without issues

      kristofferR 14 hours ago

      Vibepollo is damn great, best solution on Windows by far. Totally painless and damn smooth, don't diss it because of its vibecoding.

      klipklop 14 hours ago

      Woof, so which one is the “good” one?

        anaisbetts 11 hours ago

        Apollo solves many issues that Sunshine has on Windows. If your host is Windows, a correctly configured Apollo (i.e. where virtual monitor is enabled) will be a way less frustrating experience.

          kristofferR 5 hours ago

          And Vibepollo solves many issues Apollo has

        pprotas 13 hours ago

        Sunshine is the stable, maintained one. That should work fine for most users.

      Levitating 9 hours ago

      > Did I miss anything?

      Steam has had good built-in streaming for a long time.

  • hgaiser 10 hours ago

    Ah so this is where the influx of activity comes from..

    Hi, creator of Moonshine here.

    I'll try to answer some common questions here instead of replying the same thing everywhere:

    What is it?

    At it's core it's similar to Sunshine but with one important difference: Moonshine creates its own compositor and does not rely on an existing desktop environment. The benefits:

    - You do not need a running desktop environment: it can run headless.

    - The compositor is created with any resolution and any refresh rate, without requiring a dummy plug.

    - Because Moonshine controls the compositor, it has HDR support out-of-the-box, even if your monitor does not support HDR (ongoing development, it works in the games I tested).

    - If you do have a running desktop environment, you can keep using it while streaming a game at the same time.

    On a more technical level: I like the narrow focus that Moonshine has. Only one encoder (Vulkan), only one OS supported (Linux), no GUI, no compatibility with old Moonlight clients. The codebase is intentionally "lean". Of course this also has disadvantages like requiring semi-recent GPUs & drivers, only working on Linux and newer Moonlight clients, but I can live with that.

    Why create it?

    The short answer: a lazy girlfriend and a stubborn Linux user.

    The long answer: Moonshine is a hobby project that I've been working on for a few years (first commit goes back to 2022). It was (and still is) a fun exercise and helped me learn a lot, which if it never became functional would have been a nice outcome already. In fact, in earlier README's I advise people not to use it because at the time it did what Sunshine does but worse. I removed that section when I started adding features that made it different from Sunshine.

    Should I use it?

    Today I would say to a new user: use Sunshine, there's tons of guides and online information and it will likely work fine for you.

    If you like tinkering and trying out new things: sure, why not :).

      tempoponet 7 hours ago

      The barrier to entry for tinkering on Linux is so much lower now for anyone with a $20 Claude/Codex plan. What might have been an hours/days of fruitless head-scratching can now be done in minutes while you grab a coffee.

      While I haven't tried this yet, I do have a Bazzite box that would be a good fit. I wouldn't treat the rough edges as a deterrent the way we have in the past.

        mr_sturd 7 hours ago

        Willing to give this a try as the latest Bazzite image wrecked my Sunshine configuration - I wasted last night trying to re-install via FlatPak. With access to kscreen-doctor blocked, and anything else useful on the system, I never got it working.

        I much prefer the idea of this where I don't have to worry about resizing the existing screen.

      sthuck 8 hours ago

      I played with it for 10 minutes, very impressive. Couldn't get vscode to work, will try again later with different apps. (vscode is not that important anyway as it has a remote mode)

      I understand (well, "guess" more than understand when it comes to graphic stack in Linux) that it being it's own compositor probably means running a full desktop environment in it is infeasible, but a good way to run software remotely is painfully missing in Linux right now, even one app at a time. The built in servers in kde/gnome are problematic in general and require the monitor to be turned on.

      Philpax 8 hours ago

      I discovered Moonshine last night [0] as a result of frustration with Sunshine's many flaws on Linux, and I'm loving it so far. Thank you for your work!

      [0]: https://bsky.app/profile/philpax.me/post/3mqzrgzitm22f

        BrokenCogs 5 hours ago

        What issues are you having with Sunshine? It works on Linux (Ubuntu desktop) for me out of the box

          Philpax 2 hours ago

          Annoyances around the general workflow (i.e. having to dedicate an entire output to it and/or preventing you from doing anything else with that output), as well as general stability/connectivity issues (i.e. not streaming one of [video|audio|input] on connection). Interacting with its UI also makes me believe that it is in dire need of some TLC.

          Comparatively, Moonshine "just worked". Claude set it up, porting across relevant settings from Sunshine, I connected to it, punched the client pairing code into the server, and then I was able to play Clair Obscur on my TV without being logged into my workstation. Pretty cool!

            BrokenCogs 33 minutes ago

            That does sound pretty neat, thanks for sharing

  • BLKNSLVR 15 hours ago

    The Sunshine/Moonlight combo allowed me to stream emulated, upscaled SSX Tricky (PS2 game) from my desktop to an (at least 7 year-old) Android streaming box as smooth as silk.

    The only downside was that the game had to be running, visibly, on the screen of the desktop machine, meaning the desktop is unusable for anything else - ie. if someone else wanted to play the game while I was working on the desktop.

    This appears to solve that. Sunshine/Moonlight was already cake with a fair layer of icing. This is a sprinkling of glacé cherries on top. I love glacé cherries.

      jader201 15 hours ago

      Side note: I miss SSX. Such a great franchise, and sad that EA Big shut down (and that no one else picked it up).

      Tricky was probably my favorite, but they were all great.

        gabriel666smith 13 hours ago

        Word. In terms of game level design, I think SSX Tricky’s Tokyo Megaplex is one of the most interesting, complex, simple, comprehensible, fun, beautiful, and downright cool pieces of work of all time.

        I can’t have played it in fifteen or twenty years but I still think about Tokyo Megaplex every month or two. It tapped into something deep in my brain.

        Thanks for the reminder of it. I won’t know what heaven looks like until I’m at its gates, but when I die, I hope I get to ascend via that weird updraft tube, and ride those red and white candy cane rails for eternity. If not, God might have missed a trick. What an incredible piece of work that game is.

        BLKNSLVR 14 hours ago

        The singular reason I setup Sunshine/Moonlight is because some night as I was drifting off to sleep I remembered SSX Tricky from years (and years) ago and how much fun it was, and couldn't get the desire out until I had it all setup.

        On a big screen TV with the upscaled graphics made it feel a lot less like retro-gaming too.

        davkan 15 hours ago

        Tricky and 3 were both great fun. The latter “SSX” was decent but was missing the more arcadey fun of the earlier ones. I tried Steep and it did not hit the spot that hitting uber combos in SSX did.

  • aliasxneo 15 hours ago

    I use moonlight/apollo.

    1. Connect my Dualsense controller to my macbook

    2. Open moonlight on my macbook

    3. Connect to my gaming desktop in full screen mode

    3. Launch my AAA game on Steam

    4. Profit

    Over Wifi 7 I get basically no discernable lag, which was crazy to me the first time I tried it. I also have a Minisforum attached to my large screen TV and the process is identical except I push a different combo on the Dualsense controller to connect to the Minisforum. Because apollo saves settings, I can pretty seamlessly switch between the two with basically no issues.

      BatteryMountain 14 hours ago

      Now try it on your phone. Playing Diablo 2 Remastered in bed on an android phone with controller attachment on 6.7" OLED 2340x1080 @ 120hz HDR is super amazing. Better than Steam Deck....phone stays cool and battery lasts forever, it's the same as watching a movie on it.

        elxr 11 hours ago

        I'm sure that works fine, but playing on an 8 inch 16:10 screen (like the Legion Go S or the MSI) has to be a better experience than a significantly smaller 6.7 inch screen. Despite the obviously higher quality HDR on your phone.

        Every time I've tried PC gaming on undersized screens, every single inch makes a big difference to the immersiveness and reduced eye-fatigue. It just ends up being something I have to put down early because of that. 8 inch is the smallest I can go where the compromise makes sense.

      hxii 14 hours ago

      I have a question if you don’t mind – do you also have to kill AWDL to prevent lag spikes during a streaming session?

      SlightlyLeftPad 14 hours ago

      Does this work better than steam link? Obviously I imagine it works with non-steam games is part of the point.

        t-3 12 hours ago

        Yeah, steam link is basically unusable for me with games that need a real-time response even between two devices with wired connections. The only system I've found comparable to sunshine/moonlight in terms of performance is Sony's PS Link which is obviously proprietary and only for Playstation ecosystem.

        BatteryMountain 14 hours ago

        Yes much better in my opinion.

  • hankbond 16 hours ago

    > Moonshine runs each streaming session in its own isolated environment, separate from your desktop. This means your host PC stays usable while you stream, and it works without an active desktop session.

    So does this create like a virtual desktop? How does that work? Is this just a separate "screen" or is this more like an entirely separate compositor instance (if thats the right term here)?

      jauntywundrkind 16 hours ago

      From the features section:

      > Isolated streaming sessions: Each stream runs in its own compositor, completely separate from your desktop environment.

      So yes, a compositor per session. I love the idea of a gaming box that can host multiple instances; that would be very very good.

  • NDlurker 17 hours ago

    This is how people play Switch games on Wii U and 3DS. Emulate on PC and stream on the older systems

      dizhn 5 hours ago

      Also newer handhelds like Ayn Odin/Thor devices and similar. (They are Android)

      fishfasell 16 hours ago

      Makes sense, I wrote something in Rust a few years ago to allow multi-player netplay on any emulator and it was surprisingly easy to write

  • danofsteel32 6 hours ago

    I’m currently using sunshine and moonlight for remote access to ros2 development VMs with passed through GPUs.

    We needed an old version of Ubuntu hence the VM. And gpu pass through is needed for gazebo simulations.

    I started with RDP but the desktop was super laggy and unresponsive. Sunshine/moonlight has made it usable.

  • Helmut10001 13 hours ago

    I am very happy with Moonlight/Sunshine combo. Runs neatly on my RTX 4000 Pro GPU Server. The only thing I miss is automated resolution adjustment to connected Clients, but I was able to script this with Home Assistent Windows client.

  • miladyincontrol 2 hours ago

    idk I'd rather run both sunshine and steam in a container nice and decently isolated rather than just have the compositor be a separate instance with moonshine

    scales nicer for multiple clients, keeps dependencies far away from my host

    and lets me use NvFBC for lower latency, which yes you can easily patch onto consumer nvidia gpus

  • rob74 7 hours ago

    I wonder if Moonlighting (which is the title of a 1980s TV series, but also refers to "having a second job, typically secretly and at night, in addition to one's regular employment", as in "my phone is moonlighting as a gaming PC") wouldn't be a better name? But yeah, that's probably the explanation for the name of the Moonlight client, and it would be too close to that name?

  • mrkanic 8 hours ago

    Life is really funny, I spent most of the last week scripting hyprland to run gamescoped steam on a headless monitor to achieve this via sunshine. Tried wolf/games on whales but since I sometimes play the same games directly on the same PC it makes it weird to share the game directories.

    Although I can't use my PC at the same time as streaming, I'm really happy with my janky setup for now, but kinda really want to try this!

  • xingped 17 hours ago

    I don't remember whether it was this or "sunshine", but game streaming from your own PC hasn't been the same since it was simply "turn on the Nvidia feature". It was way too difficult to figure out how to make it work the last time I tried and I gave up and haven't tried again since. For all the good they do otherwise, FOSS devs just never seem to get usability right.

      Grombobulous 16 hours ago

      I hope you do try again! It's actually become an incredibly wonderful experience ever since the "turn on the Nvidia (proprietary!) feature" days. Nvidia's implementation as far as the software experience was convenient but also bad in a lot of ways compared to what we have today.

      Perhaps the first thing I would recommend is Steam's built-in Remote Play feature along with their apps. This is the most dummy-proof method, though you can get better/more customizable results with Sunshine/Moonlight and of course you aren't tied down to Steam if you are using Sunshine/Moonlight. (Not that being tied down to Steam is particularly limiting since Steam can launch non-Steam applications and games)

      There are a lot of YouTube guides out there if you prefer that way, or another way to go is to have an AI help you.

      For example, I had some trouble recently getting my streaming setup to work and I just kept asking AI what to investigate, and it turned out my Linux distro software firewall was defaulted to blocking the streaming ports on my desktop system.

      I recommend trying local network only to get started and only worry about Internet streaming later as that process is a little more involved. Though, maybe it's not if you already have your own home VPN like Wireguard or Tailscale.

      It'll really work best if your desktop is wired. Clients being on WiFi is usually okay, especially if you have 6Ghz support...of course, wired everywhere is most ideal.

      Admittedly, none of this is anywhere near as convenient as the black magic that PS Remote Play does. That is a downright incredible user experience. But still, I encourage you to give it another go!

        Gigachad 14 hours ago

        I've been trying regularly for a few years now but it still doesn't work for me. Steam remote play often refuses to launch a game, it'll open on my desktop but the stream won't start. Then when it does, sometimes it's totally fine, sometimes it lags out incredibly bad despite being over ethernet.

        Sunshine/Moonlight kind of works and in the desktop it works fine but when I open a game the display scales wrong on my client device despite looking fine on the host.

      willdr 15 hours ago

      You should try it again. I had a similar experience to you about 5 years ago and completely gave up on game streaming.

      However, I had a cold a month or so ago and wanted to play Oxygen Not Included from the couch from my old-ass Linux laptop which couldn't run it. I set up Sunshine and Moonlight in about... 5 minutes? And it "just worked". And worked well. I was able to play perfectly, and that is including my host machine being on WiFi even though all the documentation says use Ethernet if at all possible (which ofc would be better).

      It was honestly the most magical thing I've done with technology in the past few years.

      Disclaimer: this was only for local/wifi streaming.

  • phreack 5 hours ago

    Has a anyone run this on Fedora or similar yet? From the readme it sounds like it could work but I've been surprised before and I can't find a discussion about it.

  • alex7o 12 hours ago

    Last time I tires it I learned that the Intel meaa driver doesn't support video deckde and encoded on some older Intel ARC cards like the A770 which is a bummer

  • SpecialistK 17 hours ago

    Since this doesn't take over the desktop (per the FAQ) this sounds amazing for headless machines.

    Shame it needs such a modern GPU and $feature which isn't offered by my preferred Alpine Linux. But that shouldn't detract from what it's promising.

      Grombobulous 16 hours ago

      That's not too bad, being able to go all the way back to an RTX20XX or RX 6000 series is pretty old for the kind of person looking to stream some games.

      If you go back much further your client device might just have enough horsepower to run the game you're trying to play without streaming at all!

        ZekeSulastin 15 hours ago

        As an added point of reference, Turing released in late 2018 and RDNA2 released in late 2020.

        I Googled a little to see if the GTX 1660/Ti supported Vulkan Video and found this page from Nvidia[1] that says Pascal or later, so I wonder what the blocker is in this program.

        1: https://developer.nvidia.com/vulkan/video/get-started

        Gigachad 14 hours ago

        I've been streaming from an RX5700 XT which is something like 20x more powerful than my steam deck I'm trying to stream to.

          Grombobulous 6 hours ago

          20x is a huge exaggeration. It’s more like 5x in hypothetical flops.

          For example, in Elden Ring an optimized 800p with mixed low to medium settings will hit 45 FPS.

          On a 5700XT you’re looking at the high 90fps range for 1080p medium settings.

          So it’s really in all practical purposes 2-3 times better and your steam deck has a maximum refresh rate of 90Hz anyway. On a screen that size you’ll barely see the difference between medium and ultra settings.

          Something notable is that because of how math maths, 45FPS is a LOT better looking than 30FPS.

          Finally, I’ll point out that anyone with hardware this old still has the option of using normal sunshine. Or you can just get a 6000 series card, the difference in cost between a 6600XT and a 5700XT is less than $50.

  • krzyk 14 hours ago

    I wonder how it compares to Games on Whales.

    GoW had that advantage over Sunshine, that it allowed selecting any resolution, it didn't require hdmi connector that simulated a monitor.

  • esperent 15 hours ago

    I spent quite a while trying to set up streaming from my laptop to my phone using Sunshine/Moonlight. I never got decent results despite following tutorials that were supposed to make it all very easy.

    Gaming is something I do to relax and I eventually decided it wasn't worth it since I had spent a week of my limited downtime messing around with codecs, latency, wifi settings, trying different apps, etc. and not gotten any kind of usable results.

    I guess it was about three years ago. Have things improved since then?

      Gigachad 14 hours ago

      I've had it work occasionally. I had a few sessions which worked flawlessly which proves it's entirely possible for it to work, but 90% of the time I'm hit with endless weird issues, configuration problems, breaking changes in updates.

      There are some people who it seems to be working for, but I think it still needs a lot more work to iron out all of the issues.

      MostlyStable 14 hours ago

      About a week ago, I set it up on my windows machine (host) to my ubuntu laptop (client) with the help of an LLM in about 30 minutes, with an additional 15 of troubleshooting the first time I tried using it away from the LAN. It was pretty painless and worked right off the bat. And then it turned out that A) the game my friend and I were trying to play had only local multiplayer (so my host machine couldn't connect) and B) despite protonDB claiming limited compatibility, the game launched immediately with no problems natively on my laptop, so the whole exercise ended up not being necessary. But it was relatively painless.

      In case it makes a difference, I was also using Tailscale.

        esperent 7 hours ago

        I guess it's easier when it's pc to pc although it's cool that you can do it from Windows to Ubuntu. But I always understood the main reason was to be able to do it to a portable device so that you'd use your phone as a mini steamdeck basically but via streaming from a pc.

        I was quite excited by that, I even got a controller that could clamp on to the phone. Just couldn't get it to work reliably.

      t-3 12 hours ago

      I use Sunshine/Moonlight between my desktop and PS Vita. The key is that your host at least needs to be wired and ideally with low latency to your wireless router, which is hopefully modern and appropriately placed and configured for optimal transmission with the least interference - even in ideal environments wireless connections have much higher error rates (packets needing retransmission), so you only want to use wifi on the client side.

      BatteryMountain 14 hours ago

      Host PC needs to be on a LAN cable and client device needs at least Wifi 6 for 1080p/60fps and up. Works perfectly in my home. Some routers are just garbage and drop packets, get or build a decent router.

  • pprotas 13 hours ago

    I’ll try this out later. Mostly interested in the controller handling, will this pass-through my Steam Controller or emulate it to an Xbox controller like Sunshine does?

    If it’s pass-through like the README makes it seem, then I’m instantly sold.

  • BrokenCogs 15 hours ago

    I don't quite understand the difference between this, sunshine, and apollo?

    Is this basically Apollo but for Linux?

      taikon 15 hours ago

      I think Apollo is a moonshine fork

        pyreko 15 hours ago

        Apollo is a fork of Sunshine (it's on the repo).

        EDIT: maybe you're mixing up Sunshine and Moonshine (this project)?

          taikon 14 hours ago

          Good catch, I misread

  • gadtfly 15 hours ago
  • gambiting 11 hours ago

    I've tried several times to set this up on my Steam Deck from my PC, and I just can't get it to work reliably. 9/10 times it just opens to a black screen. I've followed 20 different guides on forums, on reddit, on facebook - nothing. The only way it works reliably is if I don't use the virtual screen option, but then it looks all wrong as my main monitor is an ultrawide.

  • nicman23 15 hours ago

    huh i think i can use that with a S7150 to make a cheap vdi server with the video encoding happenng in the host

  • dncornholio 7 hours ago

    Moonlight is pretty popular on Chinese gaming handhelds. Was wondering what it was exactly. How is the Android performance vs Linux?

  • tetrisgm 17 hours ago

    I’m not completely clear on how this differs from running Sunshine on a Linux box

      Grombobulous 16 hours ago

      In the kindest way I can point this out, the README answered those questions in the Features and FAQ sections ("How does this compare to Sunshine?")

      pipyakas 17 hours ago

      This is perfect for someone who has a active desktop user and can still stream from that same PC to other clients in the house.

  • jauntywundrkind 16 hours ago

    I'm down to try this new rust server. It seems to replace either Sunshine or the more recent fork Apollo. They both work fine

    Note that Moonlight also has a fork, Artemis.

    I'm genuinely not sure what difference Sunshine/Moonlight has vs somewhat newer Apollo/Artemis, but kind of just posting here to let folks know there are already some fairly active forks from Sunshine, the classic way to host a server for Moonlight clients.

      mapBasketWand 16 hours ago

      Apollo has native support for virtualized displays, which is handy for a headless server… I just switched this weekend from Sunshine so I didn’t have to go buy a $10 dummy hdmi dongle to fake a display

        krzyk 14 hours ago

        The same for Game on Whales.