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:
r147226.
Do this like this:
svn co -r 147226 http://anonsvn.mono-project.com/source/branches/mono-2-6/mono
svn co -r 147226 http://anonsvn.mono-project.com/source/branches/mono-2-6/mcs
Runtime Options
===============
There is 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.