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] [-port <number>]
	      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.

       -hdr
	   Enable hdr display for drm_vaapi/drm/wayland_vaapi/wayland
	   platform.

       -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 software/x11/drm/wayland/drm_vaapi/x11_vaapi platform.  If meet
	   h264+YUV444P, 'drm/wayland' platform	is recommended.	 x11 platform
	   also	can use, but slow than others.

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

       -rotate [0/90/180/270]
	   Enable display rotate. Default is 0.	 Work on rk/drm/drm_vaapi
	   platform.

       -modeset
	   Enable modeset for drm/drm_vaapi platform.  Change connecter
	   resolution and fps to specified.

       -nograb
	   Fake	grab keyboard and mouse.  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.	Note1: Default nograb
	   mode	may lead pointer jump when gameing,try use ctrl+alt to switch
	   grab	mode for normal	usual.	Note2: drm[_vaapi] platform can	use
	   -nograb to enable VT-switch feature(alt+fN).

       -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 SDL.
	   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, drm_vaapi, wayland_vaapi, x11_vaapi, software,	drm,
	   wayland, x11,
	    rk or fake etc.

	   Platform 'software/vaapi' will choose x11/wayland/gbm display
	   automatically.  Platform 'x11[_vaapi]/wayland[_vaapi]/drm[_vaapi]'
	   will	force to use relative server.  Platform	'drm_vaapi and
	   wayland_vaapi' support hdr display with vaapi decoder.  Platform
	   'drm	and wayland' use libyuv	or libswscale to complete color
	   convert.

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

       -swapxyab
	   Swap	x/y and	a/b for	gamepad.

       -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 wayland 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 sdlgp) could support xbox360 seriers on FreeBSD.
	Use '$ moonlight map -input /dev/input/eventN >>
	     ~/.config/moonlight/gamecontrollerdb.txt'
	to create mapping for embedded(not sdlgp) platform.
	Or use 'x11/antimicrox'	to create mapping for -sdlgp.
	$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.

	If could not grab the keyboard,try add write permition to
	/dev/input/evdevN for user.

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 'drm/wayland/software/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.7			  2026-06-13			  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.1.quarterly>

home | help