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

See http://www.mono-project.com/Moonlight for more information. 

Installation
============

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

Requirements
============

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

	Do this like this:

		svn co -r 148086 http://anonsvn.mono-project.com/source/branches/mono-2-6/mono
		svn co -r 148086 http://anonsvn.mono-project.com/source/branches/mono-2-6/mcs
	

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


Licensing
=========

	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.


