Skip to content

MoreOrLessSoftware/moonlight-android

 
 

Repository files navigation

Moonlight Android

Moonlight for Android is an open source client for Sunshine.

This fork aims to build upon the original Android client with some new features and some existing features, fixes and optimizations from Artemis and other developers.

New Features

1. Quick Launch Apps

You can create shortcuts to specific Sunshine apps and apply custom streaming settings (like resolution, FPS, bitrate, etc) to each shortcut. The same app can be configured to multiple shortcuts:

IMAGE ALT TEXT HERE

Note

Quick Launch apps is still a work in progress. On some devices the list of Quick Launch apps might not refresh after adding or removing one until you re-open the app.

2. Per-app settings overrides

Each app can now have it's own settings for resolution, FPS, bitrate, frame pacing, etc:

IMAGE ALT TEXT HERE

3. Brightness adjustment while streaming

Tap the left edge of the screen to show a brightness slider and set a custom brightness while streaming (or slide it to the bottom for "Auto" which will use the system brightness):

IMAGE ALT TEXT HERE

4. New gamepad button chord for quitting host app

To end the session AND quit the app on the host machine, use a new button chord (made with macros in mind):

LB + RB + D-pad right + D-pad down

5. Ultra low latency flags for Exynos

Tried some new flags for the Exynos decoder:

videoFormat.setInteger("vendor.rtc-ext-dec-output-queue-depth.value", 2); // Minimal queue depth for lower latency
videoFormat.setInteger("vendor.sec-dec-output.delay", 0); // Minimal output delay

These seem to reduce latency by a couple ms on my Pixel 7a and also actual rendering latency by 1 or 2 frames in my tests. To use, enable the "Ultra Low Latency" setting and I would suggest Balanced frame pacing.

Features and Improvements Merged from Artemis

  • Ultra low latency mode with Snapdragon (8 Gen 2+) and MediaTek (MTK) latency improvements

Download

Download the latest v0.2.0 release here. This APK will install as a new app called Moonlight X.

Building

  • Install Android Studio and the Android NDK
  • Run ‘git submodule update --init --recursive’ from within moonlight-android/
  • In moonlight-android/, create a file called ‘local.properties’. Add an ‘ndk.dir=’ property to the local.properties file and set it equal to your NDK directory.
  • Build the APK using Android Studio or gradle

Authors

Moonlight is the work of students at Case Western and was started as a project at MHacks.

About

GameStream client for Android

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 59.8%
  • Java 39.8%
  • Other 0.4%