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.