Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Moonlight, an open source implementation of Silverlight for Unix systems

This is Moonlight, an open source implementation of Silverlight 1.0
and 2.0 for Unix systems.   

See for more information. 


	For standard Unix configuration/installation instructions, see the INSTALL file.


	At this time, Moonlight trunk (this release) requires you to use the
	Mono 2.6 branch. To build Moonlight, you need to get the mono, mcs and
	mono-basic modules from the mono-2-6 branch at revisons: r151177.

	Do this like this:

		svn co -r 151177
		svn co -r 151177
		svn co -r 151177

	Build Mono:

		cd mono
		./autogen --with-moonlight=yes
		make && make install

	Build Mono Basic:

		cd mono-basic
		make && make install

	To build Moonlight with pixel shader support, you need to get the mesa
	module from Last known revision to work is

	Do this like this:

		git clone git://
		cd mesa
		git checkout 24ea02553efccc52581479819d8ead8d2bb06aaf -b moonlight
		 ./ --with-driver=xlib && cd src/gallium && make

	There is no need to do a make install this.

Runtime Options

	There are a couple of runtime-parameters that affect Moonlight behavior
	and turn on/off certain features. Those options are specified through
	the MOONLIGHT_OVERRIDES env variable. The more interesting ones are:

	* shapecache=yes/no 

		Use some extra memory for caching shapes.  Increases
		memory usage but helps with performance (off by
		default). The shape cache size is 6MB max.

	* render=ftb/btf

		Use front-to-back or back-to-front rendering (ftb is
 		the default).

	* cache=show/hide 

		Show the (shape) cache usage statistics. In plugin
		mode they're available through the right-click popup
		menu (hide by default). 

	* converter=yuv/ffmpeg 

		Use native mmx/sse2 conversion code or ffmpeg to do
		the yuv -> rgb colorspace conversion (by default we
		use the native yuv code).

	To launch Firefox with shape caching and ffmpeg converters use:

		$> MOONLIGHT_OVERRIDES="shapecache=yes,converter=ffmpeg" firefox

	Other options include:

	* ms-codecs=yes/no
	* ffmpeg-codecs=yes/no

		Controls which sets of codecs to use, the Microsoft
		ones or the ffmpeg ones.

	* timesource=manual/system

		Defaults to `system'.   

	Also if --with-debug=yes option was provided to configure script, the
	MOONLIGHT_DEBUG env variable controls which debug output is printed
	on the console. Valid values are: 

        	alsa, alsa-ex, audio, audio-ex, pulse, pulse-ex, httpstreaming, 
        	markers, markers-ex, mms, mediaplayer, mediaplayer-ex, pipeline, 
        	pipeline-error, framereaderloop, ui, ffmpeg, codecs, dependencyobject, 
        	downloader, font, layout, media, mediaelement, mediaelement-ex, 
        	buffering, asf, playlist, playlist-warn, text, xaml


	The C and C++ code that makes up the engine is dual-licensed
	under the LGPL v2 license and is also available commercially
	for developers interested in using Moonlight on embedded
	systems or other systems where the end-user can not upgrade
	the LGPL code on his own.

	The C# tests in test/2.0/Microsoft.Silverlight.Testing are
	copyrighted by Microsoft and released by them under the 
	open source MS-PL license.
	The C# controls in class/Microsoft.SilverlightControls/ and
	class/WPF.Toolkit are copyrighted by Microsoft and released by
	them under the open source MS-PL license.

Technical Details

	For implementation details and notes, see the NOTES file.

Test Suite

	To run the test suite, make sure that the output from
	configure indicates that the tests will be run.  Once this is
	done, you can run the tests like this:

	To run the Novell tests:

	        cd moon/tests
		./make-xephyr run-tests

	To run the Microsoft tests (you need the moonlight-ms module
	as a peer of moon):

		cd moon/test
		./make-xephyr run-ms-tests

	To run the Moonlight Unit Tests:

		cd moon/test/2.0/moon-unit
		make test

Firefox 3

	The original Silverlight.js shipped by Microsoft was incompatible
	with Firefox 3.  We have released a greasemonkey script 
	(data/silverlight-ff3-quirks.user.js) that will patch this behaviour
	for some sites.

Something went wrong with that request. Please try again.