Repository navigation
Releases
Starwire 0.2.1
An encrypted microphone, and the cleanup after the 0.2.0 code review. Only devices you've paired can send audio to your PC now, with no Tailscale or VPN needed for that.
Updating from 0.2.0: both sides, then pair once
- Install Starwire-0.2.1.apk below on your Android device. It installs over 0.2.0 and keeps your PCs, settings and shortcuts.
- On the PC, download Starwire-Microphone-for-Windows.zip below, unzip it and double-click setup-microphone.cmd. It replaces the 0.2.0 receiver.
- Pair them once (below).
Until both sides are updated the microphone doesn't work: the new receiver refuses 0.2.0's unencrypted audio, and a 0.2.0 receiver doesn't understand the new app. If you set up a custom Vulkan driver in 0.2.0, choose its file again: Starwire now checks each driver file before it loads it. The Unlock FPS setting and the 360p and 480p presets are gone: set a custom frame rate or resolution instead.
Pair Starwire with the PC (once)
- On the PC, right-click the Starwire microphone icon by the clock (it may be under the ^ arrow) and choose Pair a device..., then Show the code. It shows a code of 16 letters and numbers.
- In Starwire: Settings → Sound & vibration → Send my microphone → Pair with the PC. Pick the PC and type the code.
- The PC's window says Paired with your device. That's it: it stays paired.
The code works once, for 5 minutes. Don't show it while your screen is shared: anyone who sees it before you've typed it could pair instead of you. Pair each device you use the same way.
Following u/rambo3349's code review (already live on GitHub)
- Real commit history: every commit now has its own description, and the repo shares history with Moonlight X again, so upstream updates can be merged properly.
- Prebuilt libraries: every one is traced back to its source and rebuilt byte for byte by GitHub (PROVENANCE.md).
- Clearer about what's experimental: the custom Turnip driver is now described as an experimental option, not listed with the speed features.
- Mic measurements: the 0.2.0 numbers are published with the raw data and a script that recomputes them (here), with two rounded numbers corrected.
- Security and contributing: a SECURITY.md with private vulnerability reporting, and a CONTRIBUTING.md.
- Checksums are on the release pages, so you can check your download.
What's new in 0.2.1
- Encrypted microphone: the mic is now encrypted, and only devices you've paired can send audio to your PC. Being on the same network is no longer enough, and encryption no longer requires Tailscale or a similar VPN.
- Less mic delay: the PC side plays through a faster Windows audio path. In my tests the median delay dropped from about 114 to 98 ms, with far fewer dropouts.
- The mic setup window fits small screens, like a 1280x720 stream.
- Custom resolutions and frame rates, in the main settings and per game. These come from Moonlight X, credited to them. They replace the Unlock FPS setting and the 360p and 480p presets (you can still enter those as a custom resolution).
- A jitter buffer per game, also from Moonlight X. It's used with host frame timing pacing.
- The floating menu button stays where you put it: Starwire remembers its spot for each orientation, so you don't have to move it every stream.
- An about page with credits and the full open-source licences.
- The custom driver option is marked experimental, with a plain warning before you turn it on.
- Send my microphone to has a third choice, Not encrypted, for Voicemeeter and other VBAN apps. If you used 0.2.0's default, Starwire switches you to the encrypted receiver once.
- The app says Starwire, not Moonlight, where it talks about itself, like the network test and the decoder crash message.
- Various other small cleanups to the GitHub repo and changes to wording for transparency.
Fixes
- The PC's cursor comes back if Starwire is closed or crashes while it's hidden, and there's a "Fix PC cursor" button in the stream menu.
- No more "PC not paired" flicker on the games screen.
- No more crash on RedMagic devices when the games screen resizes.
- No more crashes from some unusual host replies, or on the resume button on Android 5 and 6.
- A rare video mix-up with async decoding after a hiccup is fixed.
- On Android 5 to 7, the background animations now stop when animations are turned off (saves battery).
- The in-stream menu and the games screen fit small screens better.
- Each section button at the top of Settings scrolls all the way to its heading.
- TalkBack can read the game covers and PC cards, and the Play, Resume and Quit buttons say which game they're for.
Testing and development
- 314 unit tests (from none), 32 of them screenshot tests, and 138 on-device tests.
- The same tests also run on 5 virtual devices, including a Fold shape folded, half-open and unfolded. (Thank you to u/MickeyBronson)
- Checks run automatically on every change.
- A CHANGELOG.md, and rules for commit messages, branch names and version numbers, at u/stiky21's suggestion. Version numbers follow Semantic Versioning from now on.
Known issues
- Right-to-left languages (Hebrew, Persian) show translated text, but the layout doesn't mirror yet.
- On very narrow screens, the Quit and Disconnect buttons can cut their labels short.
- The custom Turnip driver option still hasn't been tried with a real Turnip driver.
- In Czech, Hungarian, Turkish and Tamil, the few lines that now say Starwire show in English for now.
What's in the Windows zip
setup-microphone.cmd: the file to double-click. It runs the PowerShell setup for that one run and asks for administrator rights.setup-microphone.ps1: the setup itself. Safe to run again. Add-Uninstallto remove the receiver, its firewall rule and its startup entry.StarwireMicReceiver.csandSecureMic.cs: the receiver's source, with the encryption inSecureMic.cs. The setup builds them on your PC with the C# compiler that comes with Windows, so there's no prebuilt .exe to trust.starwire-mic.ico: the receiver's icon.README.md: the full guide, with troubleshooting and removal.
Install
- Starwire-0.2.1.apk: the Android app. Download it on your Android device and open it.
- Starwire-Microphone-for-Windows.zip: the PC side of the microphone. Only needed if you want to use your mic.
Check your download
- APK SHA-256:
3dd79243df1a618d494ab25271e34a82c3588e7609da46b35079042f390c7f08 - Windows zip SHA-256:
1558be95a64a7c89b166831c2c4a88f900ca48b72170c620ad4cfcdcad3b78f2 - Signing certificate SHA-256:
B6:04:1D:43:9F:28:4F:17:16:64:6F:C0:F9:80:F1:9A:76:17:8F:A7:04:D5:6F:50:34:D4:06:2A:D3:C1:3F:97(the same certificate as every Starwire release)
GPL-3.0.
Starwire 0.2.0
Your microphone on the PC, with any host. Talk in Discord or in-game voice chat through your Android device while you stream, with Vibepollo, Sunshine or Apollo as they are. No different host needed.
Microphone
- Starwire sends your voice to a small receiver on the PC, which plays it into VB-Cable, a free virtual microphone. Discord or the game picks it up as a normal mic, and your host doesn't change.
- Starwire turns on the device's echo cancelling and noise reduction where it has them. If teammates still hear the game, wear headphones.
- The audio isn't encrypted or authenticated. Anyone else on the same network could listen to it, or send their own sound into the PC's virtual mic. Use it only on a network you trust, or over Tailscale. If the PC is on a shared network, like at work, school or a hotel, quit the receiver from its icon by the clock. It starts again the next time you sign in. I'm working on a fix.
- Running logabell's Apollo build? Set Send my microphone to to The PC's streaming app and the microphone goes over the stream itself. Thanks to logabell for that code.
Set up the microphone (once)
- On the PC (Windows 10 or 11), download Starwire-Microphone-for-Windows.zip below and unzip it.
- Double-click setup-microphone.cmd. If Windows warns about a downloaded file, choose More info → Run anyway (or Run), then allow it to make changes.
- The setup builds the receiver with the C# compiler that comes with Windows. Then, if VB-Cable isn't installed yet, it downloads it from VB-Audio, checks VB-Audio signed it and opens its installer: click Install Driver, then close it. Restart Windows only if the setup says VB-Cable isn't showing up.
- It then lets the receiver through Windows Firewall for local-network and private VPN addresses only, starts it (no window, just an icon by the clock, also at every sign-in) and plays a test tone through VB-Cable to check it works.
- In Discord or the game, choose CABLE Output (VB-Audio Virtual Cable) as the microphone.
- In Starwire, turn on Settings → Sound & vibration → Send my microphone. From then on the mic starts with every stream.
Right-click the receiver's icon to check the virtual mic, play a test tone (for Discord's mic test) or quit. The full guide covers the details, troubleshooting and removal.
What's in the Windows zip
setup-microphone.cmd: the file to double-click. It runs the PowerShell setup below for that one run and asks for administrator rights.setup-microphone.ps1: the setup itself, about 300 lines. Safe to run again. Add-Uninstall(for examplesetup-microphone.cmd -Uninstall) to remove the receiver, its firewall rule and its startup entry,-NoStartupto stop it starting at sign-in, or-Port/-StreamNameto change what it listens for.StarwireMicReceiver.cs: the receiver's source. The setup builds it on your PC with the C# compiler that comes with Windows, so there's no prebuilt .exe to trust.starwire-mic.ico: the receiver's icon.README.md: the full guide.
VB-Cable stays installed if you remove the receiver; take it off with its own setup (Remove Driver).
Android devices
- Settings now show on narrow screens. On a small device held upright or a Galaxy Z Fold's cover screen they were blank.
- The game screen fits small screens: a smaller cover and title, and the Play and settings buttons stack.
- The top of the game screen scrolls away with your games. On a small screen held sideways it used to fill most of the screen. Once it's gone, a slim bar keeps the selected game and its Play button at the top; tap the bar to scroll back up.
- On a small screen held sideways, the stream menu puts Close, Quit and Disconnect on one row, so more tools fit.
- On a foldable's inner screen, the stream follows how you hold it instead of forcing landscape, which could leave it small with black borders.
Game screen
- A Quit button sits beside Resume while a game is running, so you don't have to long-press the tile.
- Games without cover art each get their own take on the Starwire tile (colour, ring, moon, glow) instead of all looking the same.
- Softer corners, covers that arrive one after another and give a little when you press them, and a gently floating cover. The screen's animations pause while you stream.
Settings and the stream menu
- Settings that change latency, smoothness, picture quality or battery have a short Impact: line under them, so you can see what turning one on or up gains or costs.
- The floating menu button is smaller, see-through until you touch it, and closes the menu as well as opening it.
- Menu items that switch something on or off (Stats, Mouse mode, Keyboard, Pan and zoom, Touch sensitivity, On-screen controller, Menu button) show a small switch, and tapping them keeps the menu open.
- The menu header shows the game's cover art. Desktop and games without cover art get a Starwire tile.
- The Lite stats line uses plain words: data rate, ping, decode time, dropped frames and FPS.
Fixes
- Tapping a running Desktop tile to reconnect no longer crashes the app (the Resume button already worked), and neither does long-pressing Desktop or another icon tile. Create shortcut now works for them too.
Install
- Starwire-0.2.0.apk: the Android app. Download it on your Android device and open it. It installs over 0.1.x and keeps your pairing and settings.
- Starwire-Microphone-for-Windows.zip: the PC side of the microphone (see above). Only needed if you want to use your mic.
Check your download
- APK SHA-256:
7b55258354018d458b82e08529f3cec687f723952323287781ca3892e0366707 - Windows zip SHA-256:
317a473f651d9b7ba4bdfadb5529bd0712d849e1ac770f9d6c400de40c3abad3 - Signing certificate SHA-256:
B6:04:1D:43:9F:28:4F:17:16:64:6F:C0:F9:80:F1:9A:76:17:8F:A7:04:D5:6F:50:34:D4:06:2A:D3:C1:3F:97(the same certificate as every Starwire release)
GPL-3.0.
Starwire 0.1.2
Fixes the crash when opening a PC's games. In 0.1.0, Starwire closed a moment after the list of games appeared, right as the first cover art arrived.
- Cover art now loads without crashing. The screen picks up each cover's colour as intended.
Install
Download Starwire-0.1.2.apk below and open it. It installs over 0.1.0 and keeps your pairing and settings.
Check your download
- APK SHA-256:
1c54e1b74cb839cd19d782ba9295025f54bc7b78d0b317107675b789af84fad0 - Signing certificate SHA-256:
B6:04:1D:43:9F:28:4F:17:16:64:6F:C0:F9:80:F1:9A:76:17:8F:A7:04:D5:6F:50:34:D4:06:2A:D3:C1:3F:97(the same certificate as every Starwire release)
GPL-3.0.
Starwire 0.1.0
The first release of Starwire! If you installed it under its earlier name, Voidlink, this is the same app renamed; it installs separately, so you can uninstall Voidlink afterwards.
Starwire brings the best features of the Android Moonlight clients into one app: Moonlight X's fast video, the touchscreen tools from Artemide and Artemis, and favourites from Moonlight V+, Moonlit Artemis and Moonlight X Turnip, with a new space-themed look. It installs next to any Moonlight you already have. The README has the full feature list, a getting-started guide and credits for everything I borrowed.
What's in it
- A new look: the screens take their colour from the game you pick, over a starfield. Apps without cover art, like Desktop and Steam Big Picture, get their own icons.
- Touchscreen tools: the floating menu button, the Shortcuts page, pan/zoom, touch modes, the full keyboard, clipboard sharing, PC commands and Virtual Display.
- Video options: Warp Drive, Fast V-Sync, LFR and async decoding. I haven't measured how much they change latency in Starwire. There's also an experimental setting to load your own Turnip driver for PyroWave. It's off by default and hasn't been tried with a real Turnip driver yet.
- Extras: monitor switching, pinch to zoom anytime, changing the bitrate mid-stream, audio haptics and shortcuts imported from a file.
Install
Download Starwire-0.1.0.apk below on your Android device and open it. Android will ask you to allow installing apps from your browser or file manager. It needs Android 5.0 or newer; PyroWave and the Turnip driver need a 64-bit ARM device. Some features need an Apollo-based host like Vibepollo.
This is the first release, so if something misbehaves, please open an issue. I made Starwire with AI: I decided what it should do and how it should look, and Claude Code wrote the code.
Check your download
- APK SHA-256:
a4373ccdba316f4f43240ca3a48002bba6f2aee101104c439de5e947e0001030 - Signing certificate SHA-256:
B6:04:1D:43:9F:28:4F:17:16:64:6F:C0:F9:80:F1:9A:76:17:8F:A7:04:D5:6F:50:34:D4:06:2A:D3:C1:3F:97(every Starwire release will use this same certificate)
Thanks
Starwire is built on the work of Cameron Gutman and the Moonlight contributors, MoreOrLessSoftware (Moonlight X), Yukino Song (Artemis, Apollo), derflacco (Artemide), Axixi2233, NoCrypt (Moonlight X Turnip), qiin2333 (Moonlight V+), 4had45 (Moonlit Artemis), Hans-Kristian Arntzen (PyroWave), Billy Laws (libadrenotools) and Nonary (Vibepollo). The README credits each feature to its author.
GPL-3.0.