Skip to content

brightcraft/moonlight-tizen

Moonlight Tizen

Release Version Build Status Total Downloads Discord Server

Moonlight Tizen is a port of Moonlight ChromeOS, which is an open-source client for NVIDIA GameStream and Sunshine.

This application allows you to stream your collection of games, programs, or your full desktop from your powerful PC to your Samsung Smart TV.


✨ Features

  • Fully compatible with all supported Tizen OS versions.
  • Modern UI & UX with a clean interface and smooth navigation.
  • Up to 4K 120 FPS HDR streaming with Stereo sound.
  • H.264, HEVC, and AV1 codec support (requires a supported host GPU).
  • Dedicated settings page organized by categories and options.
  • Sort apps list (ascending/descending) or remove all hosts with one click.
  • Wake-on-LAN (WoL) support to wake up your PC remotely.
  • Automatically adjust host resolution to match the client via Optimize Game Settings.
  • Automatically toggles HDR state on the host PC to match the client’s HDR setting.
  • Keyboard and mouse support for browsing and productivity use.
  • Local co-op with up to 4 connected controllers.
  • Gamepad axis support for in-app navigation.
  • Force feedback and mouse control via gamepad by long-pressing Start.
  • Swap face buttons to match your specific gamepad layout.
  • Play audio from the host computer and your client device.
  • Connection warnings and performance statistics overlays.
  • Game mode switching, full color range, and custom port support.
  • ...and many more features and improvements!

⚙️ Prerequisites

To get started, ensure your current setup meets the requirements as described below:

  • Client Requirements: You must have a Samsung TV running Tizen OS starting from the 2020 model year (Tizen 5.5) or newer.
  • Host Requirements: You must have a powerful PC with a GPU capable of hardware decoding that meets the system requirements to ensure optimal streaming performance.
  • Network Requirements: You need a mid-range or high-end wireless router with a good wireless connection to your client using 5 GHz WiFi 5 (802.11ac) or WiFi 6 (802.11ax) and a good wired connection to your host using the CAT5e ethernet or better, which is strongly recommended.
  • Input Requirements: It is highly recommended that you use a supported gamepad connected to your client or host device for the best game streaming experience, as using a mouse and keyboard may cause some interference issues with Tizen OS during the streaming session.

📦 Installation

Now that you’re ready, follow the installation process for your Tizen OS version:

  • Choose your preferred installation method from the provided guide.
  • Follow the step-by-step instructions to successfully install the application.
  • Once complete, you can launch Moonlight and start streaming your games!

📚 Documentation

For in-depth guides, technical support, and comprehensive documentation, please refer to the Wiki:


📖 About Project

This project originally started as a WASM port for Tizen TV created by the Samsung Developers Forum. They demonstrated how Moonlight could run on Tizen OS by converting the original Native Client module to WebAssembly, enabling raw TCP/UDP socket access for networking, reimplementing the video and audio pipelines using the Tizen WASM Player to leverage hardware acceleration, and fully adapting the application to the Tizen web environment (see their full article for technical details).

Although it remained only a proof-of-concept at that stage, the work was later taken much further by KyroFrCode, who expanded and transformed it into a fully installable Tizen application, simplifying the complex build and compilation process for users. However, the application became outdated, lacking new features and still containing several long-standing bugs that affected usability.

In September 2023, I started development on a fork repository, where I made significant changes, including a brand-new app logo and extensive improvements focused on delivering a modern, reliable, and user-friendly experience. When the upstream repository became inactive and was eventually abandoned, I migrated all my work to this new dedicated repository as a fresh and standalone continuation, offering a cleaner structure, easier maintenance, and greater flexibility for future development.

Since then, this repository has been actively maintained with frequent updates. Over time, I have refactored the codebase, updated core libraries, fixed bugs, polished the UI/UX, and introduced many new features and improvements. Thanks to more than two years of dedicated work, this has become the most enhanced and feature-rich Moonlight client available for Samsung Tizen TVs.


📝 Changelogs

See the CHANGELOG file for more information about the changes for each version of this project.


🛠️ Contributing

Contributions are welcome! You can help by forking the repo, creating pull requests, opening issues, or simply giving a ⭐ to the project.

Where to start:

See the CONTRIBUTING file for more information about the project’s contribution guidelines.


❤️ Support

If you find this project useful and would like to support its continued development, maintenance, and the addition of new features, consider a donation. Your contribution directly helps ensure that the application remains stable and up-to-date for the community.

Patreon


⚖️ License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for more information.


🙏 Acknowledgements

  • Thanks to Moonlight Game Streaming Project for the core implementation of the NVIDIA GameStream protocol and the development of Moonlight for Chrome OS.
  • Thanks to Samsung Developers Forum for creating a port version based on Chrome OS (NaCl) and adapting the Moonlight implementation for Tizen OS (WASM).
  • Thanks to babagreensheep and pablojrl123 for creating a method for building the application and adapting the Dockerfile including the supporting files.
  • Thanks to KyroFrCode for updating the core files, adding a shortcut combo to stop the streaming session, allowing audio volume changes, and improving the Dockerfile for better build compatibility.
  • Thanks to OneLiberty for implementing features such as video codec selection, mouse emulation, Wake-on-LAN, new IP address field mode, improved Docker publishing workflow, and several improvements.
  • Thanks to toypoodlegaming for improving video codec selection logic and implementing features such as audio configuration and performance statistics.