/greenlight

Greenlight is an open-source client for xCloud and Xbox home streaming made in Typescript.

Primary LanguageTypeScriptMIT LicenseMIT

Greenlight

Build/release

Greenlight is an open-source client for xCloud and Xbox home streaming made in Javascript and Typescript. The client is an application wrapper around xbox-xcloud-player. The application runs on Linux, macOS, Windows and Steam Deck.

DISCLAIMER: Greenlight is not affiliated with Microsoft, Xbox or Moonlight. All rights and trademarks are property of their respective owners.

Features

  • Stream video and audio from the Xbox One and Xbox Series
  • Support for gamepad controls
  • Supports rumble on xCloud
  • Keyboard controls
  • Build-in online friends list

Install

Install from Flathub:

Build/release

Download pre-compiled binaries:

Latest releases can be found here.

Compile from source

See Local development.

Keyboard controls

Keys are mapped as following by default:

Dpad: Keypad direction controls
Buttons: A, B, X, Y, Backspace (Mapped as B), Enter (Mapped as A)
Nexus (Xbox button): N
Left Bumper: [
Right Bumper: ]
Left Trigger: -
Right Trigger: =
View: V
Menu: M

Streaming stats

During the stream you can show debug statistics that contain extra data about the buffer queues and other information. To bring this up you can press ~ on your keyboard.

At the bottom-left you can see the status (although not always accurate). At the top-right you can find the FPS of the video and audio decoders including the latency. At the bottom-right you can find debug information about the buffer queues and other information that is useful for debugging perposes.

When possible always provide this information with your issue, if it is related.

Online friends list

The application also provides a way to see which of your friends are online. This can be useful when you want to quickly check if anyone is online to play with :)

Steam Deck Setup

This application is reported to be working on the Steam Deck with some small bugs and side-effects. You can map one of the Steam Deck back buttons to the 'N' key to simulate the Xbox button.

Optional launch arguments

Argument Description
--fullscreen Starts the application in fullscreen
--connect= Will start stream once the user is authenticated.

For console use F000000000000000 format and for xCloud use xcloud_<title>.

To close the application

Click on the Xbox logo at the top-left. It will ask you to confirm to close the window.

Local Development

Requirements

Steps to get up and running

Clone the repository:

git clone https://github.com/unknownskl/greenlight.git
cd greenlight
git submodule update --init --recursive

Install dependencies:

yarn

Run development build:

yarn dev

Create production build:

yarn build

Changelog

See changelog.