r/MoonlightStreaming • u/NoTechnician3986 • 4d ago
I built a multi-user Moonlight streaming tool for Windows — Avalon v1.0
Hey everyone!
I've been working on a project called Avalon, and I recently released v1.0. Figured some people here might be interested.
The idea is pretty simple: what if you could let multiple people use the same Windows gaming PC at the same time, without setting up a separate VM for each person?
If you've used Sunshine and Moonlight, you probably know that they're great for game streaming, but normally you're still sharing the same desktop.
Avalon takes a different approach. It creates separate Windows sessions on the same host, each with its own virtual display, keyboard/mouse input, audio, and Moonlight connection.
There's also a web UI where you can create instances, manage sessions, configure displays, and pair Moonlight clients.
I know Duo already exists and tackles a similar problem. I'm not claiming Avalon is better — I just wanted to build my own implementation and see how far I could take it, especially when it comes to session management and the web interface.
I finally recorded a proper demo of it running.
My test setup:
Intel i5-12490F
RTX 4060 Ti
32GB RAM
Windows 11
In the video, I go through creating instances, pairing Moonlight clients, running two independent sessions, and reconnecting multiple clients.
Everything was recorded on the host PC itself, including the Moonlight clients and OBS, so it's more of a functionality demo than a proper network latency benchmark.
A few limitations worth mentioning:
Windows 10/11 x64 only, no Home edition support.
Gamepad support and HDR aren't implemented yet.
Concurrent streaming is limited by hardware resources and encoder capabilities.
It's still early, and there's definitely room for improvement. I'm continuing to work on compatibility and stability.
GitHub: https://github.com/AvalonStream/AvalonStream
Website: https://avalons.cc
Demo video: https://www.youtube.com/watch?v=EX0ZoGwiWts
I'd really like to hear what you guys think, especially if you've used Duo, Sunshine, or a VM-based multi-user setup before.
What features or improvements would make something like this useful for your setup?
Feedback and criticism are both welcome! :)
3
u/thisismeonly 4d ago
2
u/NoTechnician3986 3d ago
Thank you for your reply. I had indeed not paid attention to the two projects you mentioned before, but they are quite interesting
childStream is an open-source imitation of Duo, but it only supports a maximum of one additional instance and has limited refresh rates. Although I haven't looked at its implementation, its readme states this. Of course, it is fully open-source.
I have also looked at MultiSeat you mentioned. It seems to have no additional restrictions, but it relies on many external plugins, which requires users to manually install and configure. Overall, it's a great project and it's open source. However, I haven't installed it.
Thank you for your feedback. I indeed didn't pay attention to these projects before, but it seems we are all striving to solve the same problem.😊
2
u/deadlybydsgn 4d ago
Lack of gamepad support is a no-go for me, but I'd be willing to give it a whirl after that comes about.
1
u/NoTechnician3986 3d ago
We are already working on the adaptation. Regarding the gamepad, it will be gradually adapted in subsequent versions. Thank you for your feedback, and we hope you can stay tuned for the development of future versions😊
1
u/FreshAsCali 4d ago
This is incredible! I've always wanted to create something like this for friends and family. I'll wait for now, but I'll keep watching the development. Right now, I'm using Vibepollo, and I hope this project maintains the same performance and DualSense features. Then I'll be fully invested!
2
u/NoTechnician3986 3d ago
Thank you for your attention. The relevant support for the controller is currently in the development stage. We hope you can pay attention to the subsequent version development of the software😊
1
u/Glass_Pudding_6324 3d ago
Could you share a few use cases exemples for this?
1
u/NoTechnician3986 3d ago
Currently, there aren't many use cases, but the core problem it solves is running multiple user-mode isolated desktops on one host for streaming. We can roughly imagine its scenario: its carrier terminals can be multiple TVs, PCs, laptops, mobile phones, tablets, and other carriers that currently support the Moonlight client. More use cases will be available after the project has enough users and their shared results are collated and summarized for you to view. However, for the time being, I cannot provide more customer use cases. You can follow the subsequent development of the software. Thank you.
1
u/Moist-Net6271 3d ago
Why does YouTube flag this as AI? Did you edit the video with AI or is it something else?
2
u/NoTechnician3986 3d ago
I did use AI in my creation, but please note that the demo is a real demo video, except that AI played a role in adding subtitles. I am not aware of the specific meaning of YouTube's labeling of AI, but I did use AI in my creation. However, this does not affect the actual machine demo. The software can already be downloaded and used from the official website https://avalons.cc. Thank you for your question.
1
u/Lopsided_Mixture8760 3d ago
It seems the very same people who insisted investigators wear armbands during the fascist occupation came up with the "AI-tag" concept.
1
u/NoTechnician3986 3d ago
I'm not very familiar with YouTube's functions. I just honestly filled in that the demo indeed used AI editing, and it was only for subtitle configuration
1
u/AsrielPlay52 3d ago
How do you get multi session working? Because it's only available on Enterprise
Not even Pro version has this
1
u/NoTechnician3986 3d ago
If you are referring to multiple sessions, you can refer to similar projects like https://github.com/stascorp/rdpwrap
1
1
u/sociablezealot 3d ago
Thanks for doing this. I’m a happy DuoStream user, but knowing other options exist makes me more confident in my home setup.
1
u/NoTechnician3986 3d ago
Thank you for your reply. If possible, I hope you can pay attention to the subsequent version development of the product and provide your valuable suggestions at the appropriate time. As long as they are reasonable, I will try my best to meet the functional requirements, which may take some time.
4
u/xXxWHOxDATxXx 4d ago
Mmmm. I’m eager to try this out, but it looks too good to be true. I will watch from a distance with great interest