Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Revision as of 08:04, 22 March 2026 by HydeWing (talk | contribs) (3.0.1)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Moonlight-N3DS
General
Authorzoeyjodon
Type3DS Streaming
Version3.0.1
LicenseGPL-3.0
Last Updated2026/03/18
Links
Download
Website
Source

Moonlight is an open source client for Sunshine and NVIDIA GameStream for the "New" Nintendo 3DS, forked from Moonlight Embedded. Moonlight allows you to stream your full collection of games and applications from your PC to other devices to play them remotely.

Features

  • Text-based UI.
  • Pair/Unpair/Stream/Quit commands implemented and tested.
  • Native device implementations for video/audio/input drivers.
  • In-app stream configuration through "stream settings".
  • Wide mode (800px) video display for resolutions with a width greater than 400px.
  • Touchscreen options for extra controller buttons (L3/R3/HOME) and mouse emulation.

User guide

You can modify documented settings either in the app, or by creating/modifying the config file located at sd:/3ds/moonlight/moonlight.conf.

While this app is operable on the original 3DS, the hardware decoder must be disabled and the framerate will be significantly lower due to the slower CPU.

Media

Play Steam games on your 3DS with Moonlight (William Termini)

Moonlight 3DS Tutorial (Daft Doof)

Changelog

v3.0.1

  • Disables HTTP debug logs (unnecessary and confusing during pairing)
  • Limits HTTP timeout to 1min for all operations except pairing (pairing timeout is 5min)
  • Fixes issues with initial controller state

v3.0.0

  • New Features
    • Replaces touchscreen previous/next buttons, exit stream keybind, display type, and debug settings with an in-stream menu accessible through the HOME button.
    • Adds display option for showing magnified images on the bottom screen to make small text more readable
    • Adds the ability to specify host port when setting up a new address
    • Adds logic to allow users to exit the app while streaming is active
  • Bug Fixes
    • Fix host reconnection issues caused by private key deinitialization
    • Fix hanging when trying to connect to a nonexistent/unresponsive host
    • Fixes crashes caused by the video stream derefing NULL pointers
    • Updates common libraries to ensure connection logic is up-to-date
  • Code changes
    • Updates moonlight-common-c
    • Pulls in upstream changes
    • Use mvd buffer calculation and downscaling for larger image sizes (can now stream 720p comfortably @ 30fps)
    • Various improvements to code clarity and readability
    • Adds messaging system to alert components to events without requiring extraneous knowledge of other components
    • Removes unused driver and config definitions
    • Add a 10s timeout to HTTP operations
    • Move all display updating logic to the renderer/video decoder
    • Adds mutex system for managing shared resources across threads
    • Improve directory naming for clarity
    • Use the GSP wait to improve control and dispatch loop responsiveness
    • Adds a "mock video decoder" implementation
    • Makes the config files C++
    • Replaces "hwdecode" with a video_decoder option

v2.1.0

  • Fixes bugs with pairing/connecting to newer Sunlight versions.
  • Clarifies language around the SOPS setting.
  • Adds a setting for using the ZL/ZR button inputs as left/right mouse clicks.
  • Adds 3DSX file to the build outputs.
  • Adds F11 and F12 keys to the virtual keyboard.

v2.0.0

  • Replace C memory management with simpler C++ scoping.
  • Use GPU to render images from the decoder.
  • Add keyboard touchscreen input.
  • Remove app exit from the end of stream logic.
  • Fix stream initialization logic to allow reinitialization.
  • Pulls in updates from moonlight-common-c.

v1.1.1

  • Fixes crash from pair file parsing.
  • Fixes config settings resetting.

v1.1.0

  • Add options to swap A/B & X/Y buttons and L/ZL & R/ZR buttons.
  • Display video in 3D (works for side-by-side 3D only).
  • Display image across both screens (uses absolute touch positioning for the bottom screen).
  • Add gyroscope/accelerometer motion controls.
  • Fixes sunshine connection failure (updated the moonlight common library).
  • Pulls in updates from moonlight embedded.

v1.0.1

  • Hotfix for off-by-one pair address bug.

v1.0

  • First Release.

External links

Advertising: