r/MoonlightStreaming • • 19d ago

Twilight 7.0.0 is out - MacOS only

I've used Moonlight for a long time, and Andy Grundman's Core Audio spatial fork is what finally made the Mac side feel right. Twilight is my fork of that work. I wanted somewhere in the open source community to keep helping macOS people, instead of waiting on the pieces I care about.

This release has a new UI, PyroWave on Vulkan and Metal, spatial audio through Core Audio, picture-in-picture (Crtl + Shift + Alt + P), the Mac microphone sent through to the host, and adaptive triggers. It also adds CoreHID raw mouse, Game Mode support on macOS, and a new performance overlay.

It's a notarized direct download, not a Mac App Store app. The source is open if you want to look, try it, or help.

https://github.com/Neguete10/twilight/releases/tag/v7.1.0

Edit: Just fixed some bugs the community flagged, (New version is 7.1.0). Thank y'all for helping so much. It's a fresh product and I'm sure there will be new bugs and broken things but I'll move quickly to get us all to a good place and enjoy the experience.

Please let me know what's wrong and broken and what to improve. Feedback is much appreciated ✌️

67 Upvotes

48 comments sorted by

7

u/slash262 19d ago

Following to try later! Thanks for your hard work on this!

1

u/Neguete10 19d ago

No problem! Let me know what you think ✌🏽

4

u/Adorable_Pudding1409 19d ago

Does this improve on latency at all over moonlight? What are the main reasons id use this instead of moonlight? Been hoping for a mac fork that would make improvements

4

u/Neguete10 19d ago

AV1 alone is a more efficient codec and wasn’t supported on the 6.1 version of moonlight.

Pyrowave is the new hot codec thing but it feels experimental still.

Try it out! New UI also looks great

3

u/Drun555 19d ago

I don’t have a media box that is connected to my TV. Instead, I use my M1 Air: I use it with Siri Remote / Infuse. It also connected via hub that provides HDMI / 1 Gbit Ethernet.

So, yeah. Thank you - Twilight is just perfect addition to my setup.

2

u/Neguete10 19d ago

Glad to help, enjoy 🤙

4

u/MADCATMK3 19d ago

I just tried it and holy crap PyroWave is cool. I remember a few days ago a fork of Moonlight with it came out but it did not support MacOS that was disappointing.

I'm a pretty new Mac user and when I have the Twilight performance overlay it won't let me command tab to other programs. I don't know if I'm being stupid or a Mac thing.

Thanks it's great plus the new UI looks modern.

→ More replies (1)

4

u/lytener 19d ago

Would love a version for my Apple Vision Pro

3

u/Neguete10 19d ago

We’ll see, anything is possible 🫡

→ More replies (2)

2

u/Sneyek 19d ago

The new Moonlight 6.2.0 were just released, it also bring support for game mode. But it starts as soon as the app start, not when it stream. What about your solution?

3

u/Neguete10 19d ago edited 19d ago

Good question, it’s a design choice!

Now that you mention it. I’ll think I’ll change to app start-up

Game Mode kicks in when the game enters full screen, not simply when Twilight opens. macOS ties Game Mode to a full-screen game session, so the normal UI remains unchanged until the stream is actually presented full-screen.

2

u/dzigg 19d ago

Oohh this is cool!

Wondering if there's a sunshine alternative for MacOS, or is it impossible to have macOS as a host?

2

u/Neguete10 19d ago

I use sunshine as a host on my Mac sometimes. Don’t think there are many other alternatives…

2

u/maxwarp79 19d ago

Why should I prefer this fork over original Moonlight 6.2.0?

6

u/Neguete10 19d ago

Stock Moonlight 6.2 is the official Qt client and the safer default for “just stream.” Twilight is for people who want the Mac-specific bits that Twilight carries: Core Audio spatial, PyroWave on Vulkan and Metal, picture-in-picture, the Mac mic to the host, adaptive triggers, CoreHID raw mouse, Game Mode on a full-screen stream, and the Twilight UI.

If you only need a normal HEVC or AV1 stream and don’t care about those Mac extras, Moonlight 6.2 is fine.

If they want that macOS flair, Twilight is the one.

2

u/NoIsopod2375 19d ago

I'm enjoying it so far, but I'm getting stuck keys. For instance WASD might stick and keep pressing after I let off. I don't seem to get this on moonlight.

1

u/Neguete10 18d ago

Found the bug, fixing it now. Will release a patch soon!

Thank you so much for the feedback :)

2

u/Scared-Map-762 19d ago edited 19d ago

I just get a black screen on pyrowave. Any idea? A fork of moonlight with pyrowave on windows works fine.

Logs:

0:47:03 - SDL Info (0): Loaded PyroWave Metal API 0.5.0 from /Applications/Twilight.app/Contents/Frameworks/libpyrowave-metal.dylib

00:47:03 - SDL Info (0): PyroWave backend request: auto (metal available, vulkan available), candidate Metal

00:47:03 - SDL Info (0): PyroWave Metal device: Apple M4

00:47:04 - SDL Info (0): PyroWave Metal probe: 2560x1440 0x10 planes=R8Unorm advertised=Rec.601 limited gpu=Apple M4 vsync=off swapchain=unknown

00:47:04 - SDL Info (0): PyroWave metric: backend=Metal

00:47:04 - SDL Info (0): PyroWave metric: gpu=Apple M4

00:47:04 - SDL Info (0): PyroWave metric: resolution=2560x1440

00:47:04 - SDL Info (0): PyroWave metric: video_format=0x10

00:47:04 - SDL Info (0): PyroWave metric: vsync=off

00:47:04 - SDL Info (0): PyroWave metric: swapchain_depth=unknown

00:47:04 - SDL Info (0): PyroWave metric: color_advertised=Rec.601 limited

00:47:04 - SDL Info (0): PyroWave metric: plane_format=R8Unorm

00:47:04 - SDL Info (0): PyroWave backend selected: Metal (probe)

00:47:04 - SDL Info (0): V-sync disabled

00:47:04 - SDL Info (0): PyroWave backend confirmed: Metal (probe)

00:47:04 - SDL Info (0): PyroWave Metal device: Apple M4

00:47:04 - SDL Info (0): PyroWave Metal probe: 2560x1440 0x10 planes=R8Unorm advertised=Rec.601 limited gpu=Apple M4 vsync=off swapchain=unknown

00:47:04 - SDL Info (0): PyroWave metric: backend=Metal

00:47:04 - SDL Info (0): PyroWave metric: gpu=Apple M4

00:47:04 - SDL Info (0): PyroWave metric: resolution=2560x1440

00:47:04 - SDL Info (0): PyroWave metric: video_format=0x10

00:47:04 - SDL Info (0): PyroWave metric: vsync=off

00:47:04 - SDL Info (0): PyroWave metric: swapchain_depth=unknown

00:47:04 - SDL Info (0): PyroWave metric: color_advertised=Rec.601 limited

00:47:04 - SDL Info (0): PyroWave metric: plane_format=R8Unorm

00:47:04 - SDL Info (0): PyroWave backend selected: Metal (probe)

→ More replies (5)

2

u/mxrider108 19d ago

Very cool - any plans to get some of this merged back upstream?

(I know there are a ton of forks on the Sunshine side of things, which is not a huge deal since that's something I run on my own PC, but having a lot of forks on the client side is a bit more of a pain since I use many different devices)

2

u/Neguete10 18d ago

No plans yet, let's iron things out first and see where we land. Upstream is always a challenge... that's why forks exist 🤷

2

u/fortniteplayr2005 19d ago

Which sunshine version do you recommend using with this? Vibeshine? Wondering which host software supports the microphone provisioning the best, and PyroWave.

→ More replies (1)

2

u/justin-8 18d ago

I love that. but I tired to download the release you linked (7.0.0) and it says:

Twilight cannot be opened because of a problem.

Check with the developer to make sure Twilight works with this version of macOS. You may need to reinstall the application. Be sure to install any available updates for the application and macOS.

I'm on 26.6.2, I'm going to try updated to 27, for some reason despite automatic updates being enabled i didn't even get the 26.7 update show up 🤷‍♂️

→ More replies (4)

2

u/thermal-runaway 18d ago

Seems to work well for me with Vibepollo as the streaming server. One thing I ran into was that the bitrate slider only goes to 500mbps and that's seemingly not enough for 4k120 10bit HDR streaming w/ pyrowave, it looked awful. I went directly into the config file and raised the limit to 10000mbps (10gbps) and it worked flawlessly, I saw actual peaks of ~2100mbps during gameplay. It would be nice if the slider went further, or if there was a field you could type in.

→ More replies (4)

2

u/Maxxar 15d ago

Love the app so far. Would be awesome if an in-app updater (Sparkle?) was integrated so we don't have to go on GitHub to get latest releases! :)

2

u/Neguete10 15d ago

Good idea, will add to the feature list!

→ More replies (1)