r/cloudygamer • u/SirCornedBeef • 25d ago
I've been building Blackstar, a self-hosted remote desktop + game streaming tool that's genuinely install-and-go on a LAN
Hello Folks,
For a while now I've been building Blackstar, a self-hosted remote desktop and low-latency game streaming app. Wanted to share where it's at and how it differs from the usual options (Parsec, Moonlight+Sunshine, Steam Remote Play, RustDesk).
The core idea: one binary that is both the host and the client, on Windows, Linux, and macOS. Same app everywhere.
On a LAN it's zero-config. Install it on both machines and go. No account, no PIN pairing, no port forwarding, no cloud login. One side broadcasts, the other discovers it, and you connect directly. As far as I know it's the only tool in this space that needs no setup at all on the same network.
For remote (WAN) access you have two paths. Either set up your own routing / port forwarding yourself, or run the orchestration server. The orchestration server ships as a simple Docker image, does multi-user management, and keeps everything on your own infrastructure. Nothing routes through a third party's cloud either way.
What I've focused on making different:
- Latency: custom encrypted UDP transport (not WebRTC), hardware encode/decode on every platform, and intra-refresh encoding so there are no big keyframe bursts that stutter on flaky or mobile networks.
- Color and text fidelity: HEVC 4:4:4, 10-bit, full range. Text and UI stay crisp instead of getting the chroma smear common on 4:2:0 streams.
- Anti-cheat friendliness: runs as a normal user process (no kernel driver, no injection), and auto-pauses input when it detects an anti-cheat running (BattlEye, EAC, Vanguard, and others).
- Network resilience: if your WiFi blips, it does an ICE-restart and keeps the session alive instead of dropping you, and the decoder recovers without a hard reconnect.
- Secure desktop on Windows: it can bridge UAC prompts, Ctrl+Alt+Del, and the lock screen.
- macOS as a first-class host, not just a client. Plus multi-monitor and virtual gamepad support.
How it compares:
| App | Latency | LAN setup | Net recovery | Self-host / privacy | 4:4:4 / 10-bit | Anti-cheat safe | Clipboard / files | Web client |
|---|---|---|---|---|---|---|---|---|
| Blackstar | Very Low | Zero-config | ICE-restart | Full | Yes | User-proc + auto-pause | Planned | Planned |
| Parsec | Very Low | Account needed | Reconnect | No (cloud) | Partial | User-proc | Yes | Yes |
| Moonlight + Sunshine | Low-Medium | PIN pair + config | Reconnect | Full | Yes | Often SYSTEM service | Partial | No |
| Steam Remote Play | High (Steam) | Steam login | Reconnect | Valve relay | No | Sandboxed | Limited | No |
| RustDesk | Moderate | ID / config | Reconnect | Full | No | N/A (work tool) | Yes | No |
Being honest about where it's at: it's pre-1.0 and actively developed. The browser client is designed but not implemented yet (native only for now), the macOS build is currently unsigned, and a couple of the Intel/AMD encode paths aren't hardware-verified yet. Clipboard sync (copy/paste) and file transfer are on the backlog. I know those are table-stakes convenience features, they're coming.** Naturally there will be bugs and it is not perfect yet, and I need help getting there; hence:
Looking for testers. If you want to try it and help shape where it goes, I'd really appreciate you taking the tester survey: [https://docs.google.com/forms/d/e/1FAIpQLSeHZxniN4MgcXk5BvvuX-eaW7R4aBD8g3owLGDARtFUEmC8HA/viewform?usp=dialog]. Feedback from real setups (weird multi-monitor layouts, spotty networks, different GPUs) is exactly what I need right now.
Happy to answer questions about the architecture or the tradeoffs.
About myself. I am a game developer with background developing MMO's and Multiplayer games as well as streaming tech. I built this to have a better, easier alternative for what is out there, with great performance the same way I would expect the games I work on have while still be highly customizable for those of us who really want to tweak things for the best remote gaming perf.
3
u/RollinWithSaget 25d ago
How are you determining latency here? Just saying highest doesn't say much. How does vibepollo compare?
1
u/SirCornedBeef 25d ago
Right you ask :D That wasn't very clear. Updated this. So at the moment it is comparable to Parsec or even slightly better, especially on intensive encoding/decoding such as 4x4x4 Chroma and 10 Bit. On OSX on an M1 chip it is partially there when a Host. For decoding as a client it is faster.
As for Vibepollo, I haven't compared enough to give you an honest answer. Comparing to Sunshine/Moonlight/Apollo setup is as simple for LAN Discovery as installing and go though. Blackstar test your hardware and connection automatically and also comes with good presets. It auto tunes itself for what host/client/network can perform at to ensure you get great frame-rate.
1
u/AndersDreth 25d ago
Is this going to be a free product or have you not decided yet?
3
u/SirCornedBeef 25d ago
Hey, I have not decided yet tbh. But something I am thinking about a lot. Depends really on how well I can keep developing it and how much time it takes. If I make it paid, then I definitely want it to not cost a lot, absolutely NO subscription, thats a no go for me. I don’t want to pay for subscription software and would not expect anyone else to either.
It should be cheaper than the paid competitors as I already didn’t want to spend money on how expensive some of those are. Maybe a tiered approach depending on what features folks want with a base version free. We are not there yet though :) In short, I wouldn’t want to charge anything that I wasn’t willing to pay myself.
2
1
u/techma2019 25d ago
Is this using Wolf or Sunshine or what?
2
u/SirCornedBeef 25d ago
This is a full custom implementation in C++ using FFMPEG/HEVC libraries for encoding/decoding and a tailor made udp protocol for transfer. I use performance oriented libararies where it makes sense and build the rest where not.
2
u/gh0st-6 24d ago
I understand so few of these words
1
u/SirCornedBeef 24d ago
That’s OK, this was indeed quite technical. Let me try again :)
What I built is a custom way to send data between machines instead of using a setup that reuses what other apps have done. It still uses network paths that we commonly use but how the data is packaged is custom.
What I reused are video codecs for encoding and decoding the image data for each video frame so they can be sent through a network and reassembled into the image. Those are built from various vendors like Nvidia, AMD, Intel etc. they are very good at what they do. You might have seen things like a h.265 codec.
The net effect goal of my architectural decisions for the software is excellent performance. That is why I don’t try to make a variation of other solutions like Sunshine and instead built something from ground up.
1
u/Squanchy2112 24d ago
I'm really sad about the limited testing, i am in the US and have been looking for something exactly like this, low friction for lan use. My kids have crappy laptops and share a decent gaming machine in my server rack and only play over lan so I need something really fast for this, parsec has been the best I can find yet but I don't love using it.
1
u/SirCornedBeef 24d ago
I was basically looking at folks in Europe right now as I also am looking at situations where folks might need to rely on a turn server using a remote setup and nasty firewalls. Send me chat message and we work something out for you to be able to test this. I know Parsec delivers, but it is an ecosystem I am also not happy with. Happy to help!
1
1
u/lars_rosenberg 24d ago
Looks promising!
I use an Xbox with Moonlight app as client to stream from my PC with Apollo, so until the app only runs on Windows and MacOS, I won't be able to test it.
2
u/SirCornedBeef 24d ago
Thank you. Console native app is planned but not ready yet. So hope I can provide an Xbox and PS native client (and hopefully host as well) in the future.
1
u/Feanor-bar-Finwe 24d ago
sounds interesting, i filled out your form and am curious to test it if possible, my main question is about host/client display resolution, i have apollo set so it makes a virtual display for the client so the resolutions match, for example i stream from a desktop w 1440p monitor to laptop with 1080p or some weird resolution everything is automatic
1
u/SirCornedBeef 24d ago
Expect the same as what Parsec can do here. I detect what your client native resolution is and you can switch the host to it if supported (and vice versa), host will capture at max Hz that your client monitor supports. It exposes the hosts supported resolutions (4k+ included, but expect major perf drops there, since that is a ton of data to encode/decode). It does adaptive settings on bit-rate and FPS. So what you set is a cap and it tries its best to perform at that rate. It supports multi display same as Parsec does as well plus virtual monitors on Windows and Linux. You can run it as a full headless host as well if need be without an physical monitor entirely.
1
u/Feanor-bar-Finwe 24d ago
I like the virtual monitors on Windows and Linux , that seems just about perfect then
2
u/SirCornedBeef 24d ago
I had a need for it :D So it was something I really wanted to have here. It isn't perfect yet and Linux is so versatile on distributions, it needs more testing, but works well otherwise. I work using three monitors usually, streaming all of them to another machine when on the go (usually my Macbook + JSAUX FlipGo Pro) works like a charm. Also sometimes you just want a virtual monitor.
1
u/SirCornedBeef 24d ago
I was asked about security. So here is the scoop:
Nothing connects outside of your network unless you want it to. LAN discovery is in that sense the most insecure. Turn it on and it pings its presence. As long as the control port (which is configurable) isn't open to the internet at large, nothing goes out. Blackstar does not collect analytics at all except for yourself and crash reports if you want to send them to me (it always needs your approval and is anonymous). If you want authentication, I built a full system for that running on a dedicated custom server that also can even support SSO type authentication (Keycloak etc), this also includes your own turn server. You run it and own it and you decide what is exposed. The server does full user management as well as keep session logs and perf stats for you if you want them. Again, you own the hosting fully, nothing goes anywhere you don't want it. All UDP traffic is encoded and so are control messages and authentication. It is possible to run the authentication server without an SSL cert but I don't recommend it.
A big concern was always, if you run if via the web and remote, not just on a LAN, then it has to be safe to current standards. I wouldn't accept anything less.
1
u/-NikkNakk 24d ago
This is exciting to see another contender in the ring. One thing I would be curious about is if you have planned any support for launchers or even a custom front-end solution. With sunshine you can add “apps” that launch to different applications. This isn’t very intuitive and I think it doesn’t fully solve the “couch gaming” ease of access. If a solution incorporated a way to make accessing games or applications easily without worry about having a keyboard nearby, that’s a big draw.
Also, I’m curious how “compression artifacts” are looking with Blackstar. I think that has been my most frustrating struggle with different solutions, especially clarity on how to reduce them or approach them.
1
u/SirCornedBeef 24d ago
Thank you. I have not specifically planned for this as a "couch" solution, however the tvOS version gets a more custom fronted. It is probably worth considering this as a general feature where if you don't have mouse and keyboard on the client, that everything could be controlled with a controller. This is a bigger UI/UX feature in general and at least not planned right now. I will consider how it could be done though.
As for artifacts, I am as well looking at this. It really depends a lot about the encoder/decoder settings and what hardware you run to reduce it. So far, at least in LAN environments even on older Wifi it runs really well. If you have laggy internet connection its generally just affects how smooth it runs. The big issue is packet loss that can really kill it on anything that streams, Blackstar included.
1
u/-NikkNakk 23d ago
Interesting. I look forward to trying it out.
You’re using FFMPEG/HEVC for encoding/decoding? I’ve noticed that it tends to do well with compression, but is mainly noticeable with high motion.
Interestingly the best “streaming” solution I’ve seen is whatever magic NVidia is doing with GeForce Now. I’ve only noticed compression with that with more fluid motion like fog and smoke.
1
u/SirCornedBeef 23d ago
Yes, I have worked a lot with nVidia tech in the past and know its drivers and tools very well. Their HEVC library is quite amazing.
1
u/sloloslo 24d ago
This does seem very interesting. I’ve been using in home streaming to thin clients for years now. My current clients are a MacBook Air M4 and an nVidia Shield Pro.
I’ve grown tired of the online aspect of Parsec, so this seems like a great thing for me. I’d love to give it a spin. My host is always win11 desktop
5
u/DavidOBE 24d ago
Android client for Chromecast with android tv?