Skip to content

RikuKunMS2/moonlight-ios-vision

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Moonlight XrOS

Moonlight for VisionOs/iOS/tvOS is an open source client for Sunshine and NVIDIA GameStream. Moonlight for iOS/tvOS allows you to stream your full collection of games and apps from your powerful desktop computer to your iOS device or Apple TV.

It also supports a Sunshine fork called Apollo which on Windows supports a Built-in Virtual Display with HDR support that matches the resolution/framerate config of your client automatically.

Moonlight also has a PC client and Android client.

Check out the Moonlight wiki for more detailed project information, setup guide, or troubleshooting steps. Also check out the discord.

Credits

Special thanks to the all contributors for their work on Moonlight XrOS: tht7, linggan-ua, shinyquagsire23, alexhaugland, sinkingsugar, JFuellem, liu547161153, dereklucas, Razorub

And to the Moonlight Streaming team and contributors: https://moonlight-stream.org/ https://github.com/moonlight-stream/moonlight-ios/graphs/contributors


Moonlight for iOS and tvOS

The Vision OS Version is not available in the App Store. To download the latest stable-ish build, please install it via Testflight:

Moonlight XrOS

Features

  • Curved Screen Support (Reality Kit Mode):
    • To activate, change the Renderer in settings to Reality Kit.
    • Distortion math has been redone for better accuracy and reduced stretching.
  • Immersive View: Now you can use the reality kit stream view in a much larger size.
    • Lock/Unlock: Click the lock icon to lock its position, move the screen, and lock it again. We will add tilt control to the immersive view soon.
  • Mouse & Keyboard Support: Now available in Reality Kit mode via Bluetooth paired to the Vision Pro.
  • SBS 3D Support: Available in Reality Kit Mode. We are looking into support for uikit sbs.
  • HDR Support: Includes a luminance value slider to calibrate for battery levels and environment.
    • New: Gamma and Saturation sliders added in v11.0.16.
  • AV1 Support: Confirmed working (including AV1 HDR) on M5 hardware.
  • Audio Control: Toggle between Head-Tracked and Non-Head-Tracked audio.
  • Localization: Support for Chinese added (Thanks linggan-ua).

Curved Screen Support

ChangeLog (Latest: v11.0.17 - Nov 25, 2025)

⚠️ IMPORTANT UPGRADE NOTE: If you are coming from an older version (pre-11.0.15), please Uninstall and Reinstall the app via TestFlight. There are significant code changes regarding settings and localization that may cause crashes if you simply update over the old version.

*** I RECOMEND USING APOLLO OVER SUNSHINE** RikuKunMS2/Lumanaire tests all builds using Apollo. Apollo is a Sunshine fork called Apollo which on Windows supports a Built-in Virtual Display with HDR support that matches the resolution/framerate config of your client automatically.

  • Apollo Permissions: Critical Note — If using Apollo, you must ensure all permissions are enabled after pairing (Click the "Edit" button in Apollo). The developer primarily tests on Apollo.

v11.0.17 (Expected Release: Nov 25, 2025)

  • AV1 & HDR Confirmation: Confirmed that AV1 and AV1 HDR are working correctly on M5 devices. Special thanks to u/webheadVR for testing.
  • Localization: Fixed various localization strings (Thanks linggan-ua).
  • Shimmering: Fixed the shimmering issue in Reality Kit.
  • Apollo Permissions: Critical Note — If using Apollo, you must ensure all permissions are enabled after pairing (Click the "Edit" button in Apollo). The developer primarily tests on Apollo.
  • Audio Stutter: Observed audio stutter when using Mac Virtual Display + Moonlight in Reality Kit.
    • Workaround: Using a Developer Strap eliminates the stutter.

v11.0.16

  • UI Updates:
    • Changed icons to text labels for clarity.
    • Added ability to hide immersive stream controls.
  • Image Adjustments: Added Gamma and Saturation sliders.
  • Mouse Handling: Improved mouse handling at the edges of the screen.
  • AV1 HDR: Includes fixes for AV1 when HDR is enabled.

v11.0.15 Highlights

  • Mouse & Keyboard: Added input capture layer to enable Bluetooth keyboard and mouse in Reality Kit.
  • Immersive View: Resizable and movable screens
  • Fixes:
    • Fixed curved screen distortion math.
    • Fixed settings saving and updated defaults.
    • Fixed volume object clipping (position is now clamped).
    • Improved Home/Resume button reliability.

Noted Bugs & Known Issues

  • MVD Audio Stutter: If you run Mac Virtual Display alongside Moonlight in Reality Kit, audio may stutter. This does not happen if you are connected via a Developer Strap.
  • UI/UX: The interface is currently "Function over Form." We are working on a better UI, but for now, we are prioritizing features and stability.
  • Controller Issues:
    • PS4 Touchpad does not work (SDL3 issue).
    • PS5 Controllers may have general issues.
    • Controller vibration is currently not working.
  • Touchscreen Mode Moonlight XrOS does not send touch events like it does on the iOS / iPadOS version to windows.
  • General Jank: Eye position mouse moving is an OS-level behavior; cursor pointer snapping when lifting fingers off the trackpad cannot currently be fixed.
  • Tap to Click in Reality Kit Moonlight XrOS does not allow for tap to click and tap to drag in realitykit mode
  • The virtual keyboard button is not working in reality kit We are looking into fixing this.
  • Dimming Button in UIKit The dimming button does not function in UIKit mode, we are looking into this

FAQ

  • I'm using Apollo and it won't connect/launch?
    • CRITICAL: After pairing, click the EDIT button in Apollo and make sure ALL PERMISSIONS are turned ON.
  • How do I fix the audio or mouse stutter?
    • If you are multitasking with Mac Virtual Display, this is a known issue. Connecting via a Developer Strap seems to resolve the interference.
  • How do I move the Immersive Screen?
    • Click the Lock button to "Unlock" the position. You can then move/recenter the screen. Click Lock again to set it.
  • Why does the UI look basic?
    • We are a volunteer team prioritizing functionality (AV1, HDR, 120fps) over visual polish right now. A UI overhaul is planned for the future.
  • How do I fix HDR color?
    • We recomend looking at a video or image to calibrate against to calibrate
  • UIKit vs Reality Kit?
    • Use UIKit if you need 100% reliable Mouse + Keyboard support (though Reality Kit support is now available and improved).
    • Use Reality Kit for Curved Screens, 3D SBS, and AR features.
  • How do I use Ultrawide Mode?
    • In settings set the resolution to 5120x1440, then set up Apollo or a virtual display driver on Windows.
  • Why is my connection choppy?
    • While the app has entitlements to suppress AWDL, using features like AirDrop or Handoff in the background may cause interference. Use 5GHz Ch 149 (US) / Ch 44 (EU) / Ch 6 (2.4GHz) for best results.
  • Recommended Settings:
    • Resolution: 4K
    • Aspect Ratio: 16:9
    • Framerate: 60fps (120fps is tested)
    • Bitrate: 50mbps (Higher is supported but requires M2/M5 and strong network)
    • Renderer: Reality Kit

Feature Requests / Planned Features:

  • Microphone Support.
  • 7.1 Audio.
  • Updates to SDL3 (to fix PS4 touchpad issues).
  • Unpin immersive settings (to allow reset if window becomes too far/small).

Donations

Some people expressed interest in donations so I set up a Ko-fi (this will help me get an m5 vision pro): https://ko-fi.com/lumanaire

Thanks again for your support :)

Building From Source

Requirements

  • Latest Xcode
  • Tested on Vision OS 2.2 Beta (26.2)

Build Instructions

  1. Install the latest version of Xcode.
  2. Run git clone -b vision-testflight --recursive https://github.com/RikuKunMS2/moonlight-ios-vision.git
    • If you've already cloned the repo without --recursive, run git submodule update --init --recursive
    • If you are building someone else's fork replace the part after the -b and the user name in the GitHub link.
  3. Open Moonlight.xcodeproj in Xcode.
  4. To run on a real device, you will need to locally modify the signing options and add your device:
    • Go to 'Window' -> Devices and Simulators.
    • Add your Vision Pro.
    • Click on "Moonlight" at the top of the left sidebar.
    • Under "Targets", select "Moonlight Vision".
    • Click on the "Signing & Capabilities" tab.
    • Select your Team (Sign into Apple account if needed).
    • Change the "Bundle Identifier" to something unique.
    • Crucial: Remove the "Low Latency Streaming" entitlement from signing and capabilities if you do not have a paid developer account with this entitlement enabled.
    • Select your registered Vision Pro in the target bar and click Play for logging, or profile to for not logging.

About

GameStream client for iOS/tvOS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 97.8%
  • Objective-C 1.4%
  • Swift 0.7%
  • C++ 0.1%
  • Metal 0.0%
  • Shell 0.0%