Find file History
Type Name Latest commit message Commit time
Failed to load latest commit information.
CMakeLists.txt Add manpage for moonlight command Aug 3, 2015
README.pod Add map function to create controller mappings Oct 24, 2017



Moonlight Embedded - Open source implementation of NVIDIA's GameStream


Usage: moonlight <action> [options] [host] moonlight <configfile>



Pair this computer with the host.


Unpair this computer with the host.


Stream game from host to this computer.


List all available games and application on host.


Quit the current running game or application on host.


Create a mapping for the specified INPUT device.


Show help for all available commands.


-config [CONFIG]

Load configuration file CONFIG. All options specified before -config will be overwritten by the options in CONFIG. This options can be used multiple times.

-save [CONFIG]

Save the configuration provided by the options on the command line and all loaded configuration files to the file CONFIG.


Use the resolution 1280x720 for streaming. This is the default option.


Use the resolution 1920x1080 for streaming.


Use the resolution 3840x2160 for streaming.

-width [WIDTH]

Change the horizontal resolution to WIDTH

-height [HEIGHT]

Change the vertical resolution to HEIGHT

-fps [FPS]

Change the number of frame per second to FPS. Defaults to 60fps for 720p and 30fps for 1080p and higher. Only 30 and 60 fps are currently supported by Gamestream.

-bitrate [BITRATE]

Change bitrate to BITRATE Kbps. By default the bitrate depends on the selected resolution and fps. For resolution 1080p and 60 fps and higher 20 Mbps is used. For resolution 1080p or 60 fps and higher 10 Mbps is used For other configurations 5 Mbps is used by default.

-packetsize [PACKETSIZE]

Change the network packetsize to PACKETSIZE bytes. The packetsize should the smaller than the MTU of the network. This value must be a multiply of 16. By default a safe value of 1024 is used.

-codec [CODEC]

Select codec to use. Can be 'auto', 'h264', 'h265' or 'hevc'. Not all video decoders do support H.265/HEVC. Will still use H.264 if server doesn't support HEVC.


Enable the optimizations for remote connections in GFE.

-app [APP]

Change the requested app to execute to APP. By default Steam is started.


Stop GFE from changing the graphical settings of the requested game or application.


Play the audio on the host computer instead of this device.


Enable 5.1 surround sound instead of stereo.

-keydir [DIRECTORY]

Change the directory to save encryption keys to DIRECTORY. By default the encryption keys are stored in $XDG_CACHE_DIR/moonlight or ~/.cache/moonlight

-mapping [MAPPING]

Use MAPPING as the mapping file for all inputs. This mapping file should have the same format as the gamecontrollerdb.txt for SDL2. By default the gamecontrollerdb.txt provided by Moonlight Embedded is used.

-platform [PLATFORM]

Select platform for audio and video output and input. <PLATFORM> can be pi, imx, aml, x11, x11_vdpau, sdl or fake.


Try streaming if GFE version or options are unsupported


Enable verbose output


Enable verbose and debug output

-input [INPUT]

Enable the INPUT device. By default all available input devices are enabled. Only evdev devices /dev/input/event* are supported.

-audio [DEVICE]

Use <DEVICE> as audio output device. The default value is 'sysdefault' for ALSA and 'hdmi' for OMX on the Raspberry Pi.


Display the stream in a window instead of fullscreen. Only available when X11 or SDL platform is used.


Moonlight Embedded will load a confiuration file from:

$XDG_CONFIG_HOME/moonligt/moonlight.conf (fallback to ~/.config/moonligt/moonlight.conf)

If no user specified configuration file is available the configuration will be loaded from:


A documented example configuration file can be found at /etc/moonlight/moonlight.conf.


Use Ctrl+Alt+Shift+Q or Play+Back+LeftShoulder+RightShoulder to quit the streaming session.


Iwan Timmer <>