GameStream client for ChromeOS
Go to file
2017-05-07 17:26:46 -07:00
h264bitstream Use h264bitstream library to mixup the SPS so OS X will use hardware decoding 2016-02-21 15:57:45 -05:00
icons added plugin manifest and icons 2016-02-12 21:51:37 -05:00
libgamestream Disable connection persistence and enable a 5 second connect timeout 2016-05-09 18:31:40 -04:00
moonlight-common-c@1439d53619 Update common-c with FEC support 2017-05-07 17:15:02 -07:00
opus@f6f8487b76 loaded image grid, need to finish including google material icons and to add functionality to the grid 2016-07-04 17:45:29 -05:00
ports Fix makefile and add libraries required for building 2016-03-10 21:40:17 -08:00
static Fix apps from wrong PC being displayed in app grid 2017-05-07 16:09:01 -07:00
.gitignore New message handling, and new NvAPI 2016-02-25 07:58:36 -03:00
.gitmodules Add Opus library for audio decoding 2016-02-13 22:12:38 -05:00
auddec.cpp Use a wait-free algorithm for audio queueing to minimize audio hiccups. This closes #8 2016-02-18 12:27:12 -05:00
common-c.mk Update common-c with FEC support 2017-05-07 17:15:02 -07:00
connectionlistener.cpp Implement fallback to software when hardware decoding is unavailable 2016-06-09 12:23:23 -05:00
gamepad.cpp Update to new common-c to show the correct number of controllers on the host PC 2017-02-04 20:41:28 -08:00
h264bitstream.mk Use h264bitstream library to mixup the SPS so OS X will use hardware decoding 2016-02-21 15:57:45 -05:00
http.cpp Fix returning binary data for box art 2016-07-04 14:18:01 -07:00
index.html Change name of hosts grid 2017-05-07 15:44:25 -07:00
input.cpp Add the code back to request an IDR frame when switching back to Moonlight 2016-07-10 22:23:01 -07:00
libchelper.c Add basic files for building common-c 2016-02-12 21:44:00 -05:00
libgamestream.mk Pairing is working 2016-02-28 00:25:49 -05:00
LICENSE Initial commit 2016-02-12 20:28:41 -05:00
main.cpp Update to support GFE 3.0.7 2016-10-05 19:25:51 -07:00
make.bat New message handling, and new NvAPI 2016-02-25 07:58:36 -03:00
Makefile Add profiling infrastructure (currently unused) 2016-05-09 13:57:08 -04:00
manifest.json Version 0.7.0 2017-05-07 17:26:46 -07:00
moonlight.hpp Update to support GFE 3.0.7 2016-10-05 19:25:51 -07:00
opus.mk Add Opus library for audio decoding 2016-02-13 22:12:38 -05:00
ports.mk Fix makefile and add libraries required for building 2016-03-10 21:40:17 -08:00
profiling.cpp Improve profiling code 2016-05-09 14:25:58 -04:00
README.md fix headers 2017-03-29 23:31:41 +02:00
viddec.cpp Display an error message if the video renderer fails to initialize 2016-09-11 23:50:02 -07:00

Moonlight for Chrome

Moonlight for Chrome is an open source implementation of NVIDIA's GameStream, as used by the NVIDIA Shield, but built to run in the Chrome browser.

Moonlight for Chrome allows you to stream your full collection of games from your powerful desktop to another PC or laptop running Windows, Mac OS X, Linux, or Chrome OS.

Moonlight also has mobile versions for Android and iOS.

Features

  • Streams Steam Big Picture and all of your games from your PC to your Chrome browser
  • Keyboard and mouse support
  • Hardware-accelerated video decoding
  • Full support for Xbox controllers and PlayStation controllers, and some other HID gamepads
  • Use mDNS to scan for compatible GeForce Experience (GFE) machines on the network

Features to come

  • Gamepad mapping
  • Improved UI
  • Better error handling

Installation

Requirements

  • Chrome browser on Windows, Mac OS X, Linux, or Chrome OS
  • GameStream-compatible computer with GTX 600+ series desktop or mobile GPU (for the PC from which you're streaming)
  • High-end wireless router (802.11n dual-band recommended) or wired network

Building

  1. Install the Chrome Native Client SDK and download the current Pepper SDK
  2. Set the NACL_SDK_ROOT environment variable to your Pepper SDK folder. If you need more detailed instructions, see here
  3. Run git submodule update --init --recursive from within moonlight-chrome/
  4. Run make from within the moonlight-chrome/ repo

Testing

  1. Open the Extensions page in Chrome
  2. Check the 'Developer mode' option
  3. Click 'Load unpacked extension' and point it at your built moonlight-chrome repo
  4. Run Moonlight from the extensions page
  5. If making changes, make sure to click the Reload button on the Extensions page

Streaming

Simply type the hostname or IP into the textbox, pair, choose an app to run, then begin streaming. Once paired, the host will be remembered in a dropdown menu. To exit a stream, press Ctrl+Alt+Shift+Q. To remove focus from the stream, press Ctrl+Alt+Shift.

Contribute

This project is being actively developed at XDA Developers

  1. Fork us
  2. Write code
  3. Send Pull Requests

Check out our website for project links and information.