Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MOONLIGHT(1)		   Moonlight Embedded Manual		  MOONLIGHT(1)

NAME
       Moonlight Embedded - Open source	implementation of NVIDIA's GameStream

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

ACTIONS
       pair
	   Pair	this computer with the host.

       unpair
	   Unpair this computer	with the host.

       stream
	   Stream game from host to this computer.

       list
	   List	all available games and	application on host.

       quit
	   Quit	the current running game or application	on host.

       map Create a mapping for	the specified INPUT device.

       help
	   Show	help for all available commands.

OPTIONS
       -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.

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

       -1080
	   Use the resolution 1920x1080	for streaming.

       -4k 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 60 FPS.

       -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 multiple of 16.  By default, 1392 is used on LAN and 1024 on WAN.

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

       -yuv444
	   Try to use yuv444 format.Better video quality but not efficiency.
	   Note: hevc(h265) with yuv444	format is the more common combination.
	   Need	sunshine host support(version >=24.0) and just support vaapi
	   or x11 platform.  If	meet h264+YUV444P, 'x11' platform is
	   recommended.

       -render_style [fixed/fill/fixed_fill]
	   Change video	render style to	selected option.

       -nograb
	   Fake	grab keyboard and mouse	on embedded(not	SDL) platform.	Not
	   grab	window anymore.	 Use Ctrl+Alt+Shift+M to switch.  Use Ctrl+Alt
	   to switch grab state	by display server when enable fakegrab/nograb.
	   Note: Default nograb	mode may lead pointer jump when	gameing,try
	   use ctrl+alt	to switch grab mode for	normal usual.  Note2: Only x11
	   and wayland server worked normaly now.

       -remote [yes/no/auto]
	   Enable optimizations	for LAN	or WAN streaming.

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

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

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

       -surround [5.1/7.1]
	   Enable 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 vaapi, X11, x11, x11_vaapi, wayland_vaapi, rk	or fake	etc.

	   Platform 'x11/x11_vaapi/vaapi' will choose x11/wayland/gbm display
	   automatically.  Platform 'X11' will force to	x11 server.

       -nounsupported
	   Don't stream	if resolution is not officially	supported by the
	   server

       -quitappafter
	   Send	quit app request to remote after quitting session

       -viewonly
	   Disable all input processing	(view-only mode)

       -nomouseemulation
	   Disable gamepad mouse emulation (activated by long pressing Start
	   button)

       -verbose
	   Enable verbose output

       -debug
	   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.

       -sdlgp
	   Using SDL gamepad driver instead of evdev when using	'x11' or
	   'x11_vaapi'(not sdl)	platform.

       -swapxyab
	   Swap	x/y and	a/b for	gamepad.Only effected on embedded(not sdl)
	   platform.

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

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

CONFIG FILE
       Moonlight Embedded will load a configuration file from:

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

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

	 /usr/local/etc/moonlight/moonlight.conf

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

GAMEPAD
	Xbox360	controller need	xb360gp(4) or 'multimedia/webcamd and cuse(3)'.
	X-input	or d-input gamepads need hgame(4) or webcamd.
	FreeBSD	supports some controllers.Please see hgame(4) xb360gp(4)
	ps4dshock(4) and FreeBSD forums.
	Embedded platforms such	as 'x11/x11_vaapi/vaapi' use evdev driver.
	May be only evdev(not sdl) could support xbox360 seriers on FreeBSD.
	Use '$ moonlight map -input /dev/input/eventN >>
	     ~/.config/moonlight/gamecontrollerdb.txt'
	to create mapping for embedded(not sdl)	platform.
	Or use 'x11/antimicrox'	to create mapping for sdl platform.
	$HOME/.config/moonlight/gamecontrollerdb.txt could be created and used
	by default.

	Option '-sdlgp'	can enable sdl gamepad driver instead of evdev for
	embedded platform.
	Note: No rumble	feature	now.

KEYBOARD SHORTCUTS
	Use Ctrl+Alt+Shift+Q or	Play+Back+LeftShoulder+RightShoulder to	quit the
	streaming session.
	Use Ctrl+Alt+Shift+Z to	Grab/Ungrab keyboard.
	Use Ctrl+Alt+Shift+M to	fakeGrab/normalGrab keyboard.
	Use Ctrl+Alt+Shift+G to	Enable/Disable vitual key on the top of	touchpad
	for the	windows	precision touchpad.

	It could not grab the keyboard Using sdl platform.

EXAMPLE
       Pair:
	 # moonlight pair 192.168.0.1

       Connect:
	The following cmd means	to connect 192.168.0.1 with a resolution
       2560x1600.
	 # moonlight stream -app Desktop -width	2560 -height 1600 192.168.0.1
	The following cmd means	to connect 192.168.0.1 with a resolution 1080p
	and the	fps 120.And try	to decoding with GPU.
	 # moonlight stream -app Steam -width 1920 -height 1080	-fps 120 \
			    -platform 'x11_vaapi' 192.168.0.1
	Do not want grab keyboard and mouse:
	 # moonlight stream -app Desktop -width	1920 -height 1080 -fps 120 \
			    -platform 'vaapi' -fakegrab	192.168.0.1
	Try yuv444 video mode for better video quality:
	 # moonlight stream -app Desktop -width	1920 -height 1080 -fps 120 \
			    -platform 'vaapi' -yuv444 -codec hevc 192.168.0.1
	Use '-config file -save	file' to record	lastest	window size and	site:
	 # moonlight stream -app Desktop -width	1920 -height 1080 -fps 120 \
			    -config ~/moonlight/conf -save ~/moonlight/conf \
			    -platform 'vaapi' -yuv444 -codec hevc 192.168.0.1

COMMENTS
	Platform 'sdl' and 'x11' is decoding with cpu.
	Only platform 'x11/vaapi/x11_vaapi/wayland' support yuv444 video mode.
	Only some gpu support yuv444 video mode. And need sunshine host	support.
	Platform '*vaapi' is decoding with gpu.
	If you want to decoding	with intel gpu,you must	do:
	  1.Use	platform 'x11_vaapi' or	'wayland_vaapi'	or 'vaapi'
	  2.Install package:libva-intel-driver/libva-intel-media-driver.

	Multi keyboard may meet	bugs.Please man	kbdmux or kbdcontrol.
	And try	to disable kbdmux or use -input	to specify wanted keyboards or mouses.

	Note: If meet crash frequently,	try adjust Integrated Graphics Device(IDG)
	      Aperture size from BIOS.

AUTHOR
       Iwan Timmer <irtimmer@gmail.com>

moonlight 2.7.5			  2025-11-07			  MOONLIGHT(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=moonlight&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help