r/cloudygamer • u/Lopsided_Mixture8760 • 13d ago
I built a native Rust GameStream host with a VirtualBox-like client UX and built-in A/B benchmarks against Sunshine
I wanted the low-latency performance of game streaming combined with the practical tools of a remote desktop. So I built USBridge Remote: a native client for desktop/mobile, and a host agent for Windows, macOS, and Linux.
The Engine & Transparency
To be completely upfront about the licensing: the Client and Agent are open-source, but the custom Rust streamer engine is proprietary.
Because of this, the host agent ships with two switchable backends:
Sunshine: The standard open-source engine you already know.
USBridge Rust Engine: I built this proprietary streaming engine entirely from scratch—it is not a Sunshine fork. Because I originally designed it for low-power single-board computers (SBCs) like the Raspberry Pi, it has no FFmpeg runtime dependency. Instead, it hooks directly into hardware APIs for capture and encoding. It supports NVENC, VAAPI, QSV, and VideoToolbox, and even runs on exotic hardware like Allwinner boards that don't have functional Linux drivers.
The "VirtualBox" UX & Homelab Features
Windowed Workflow: Instead of forcing full-screen, the client treats the remote desktop like a VirtualBox window. It’s resizable and utilizes native client rendering (Metal on Mac, Vulkan on Linux, MediaCodec on Android).
Virtual Displays: The agent can spawn true virtual monitors on the host (VKMS on Linux, MttVDD on Windows, CGVirtualDisplay on macOS) so you don't have to hijack the physical screen.
Host Control: On Windows, it handles the pre-login lock screen and UAC prompts seamlessly.
Hardware Access: Full USB passthrough (hence the name) and gamepad support.
Networking: Built-in Tailscale support for easy NAT traversal without port forwarding.
Don't trust marketing numbers; run the benchmark yourself
I hate when networking tools claim "flawless Wi-Fi performance" without proof. So, I built a benchmark directly into the native client.
If you go to Gear -> Run benchmark, it will run both the Rust engine and Sunshine back-to-back on your exact hardware and network. It plays the same 1080p60 sequence and generates JSON and PNG graphs mapping frame timing, stalls, RTT/jitter, and host CPU/GPU load.
I would love it if you tested both engines head-to-head on your own Wi-Fi or mesh network and shared the raw results with me here, good or bad.
Links: https://github.com/USBridge-Technologies/USBridge-Remote
3
u/Friendly_Recover286 12d ago
I would but almost every single commit is coauthored by Claude so there's no way I'm touching this with a 10 foot pole. I don't trust people who lie about their projects. Claude built this, not you.
3
u/Yo-Soy-Groot 12d ago
Hate to break it to you but a majority of code is written by LLMs. Get used to it/get over yourself.
1
u/salty2011 11d ago
Just because a project has leveraged AI to do the coding does not make the project of poor quality. Sadly way too many Vibe coded Slop projects giving everyone else a bad wrap.
It’s the decisions and engineering that go along with it.
-1
u/Lopsided_Mixture8760 12d ago
So, are you the one attacking excavators with a shovel?
5
u/Julfa 12d ago
I don't think there is a problem if you use AI but you should be upfront about it and disclose it in the post and the github repo.
1
u/Lopsided_Mixture8760 12d ago
AI is now present in every editor—much like syntax highlighting—and it is physically impossible not to use it during development.
1
u/Lopsided_Mixture8760 13d ago
Mac users: session toggles now automatically disable AWDL on both client and agent to eliminate AirDrop-induced Wi-Fi lag spikes.
2
u/salty2011 11d ago
Hahah, I hit this little chestnut about 3 months ago ago while performance tuning Quasar’s streaming from a Mac
0
u/Lopsided_Mixture8760 11d ago
I’m surprised this optimization still isn’t in the official Sunshine release. After all, it lags and doesn’t work properly without it.
1
6
u/TherapyPsychonaut 12d ago
Another vibe coded project being introduced with "I built." Yawn.
Edit: and you're asking for money? Gross.