diff --git a/indra/cmake/LibVLCPlugin.cmake b/indra/cmake/LibVLCPlugin.cmake
index df829b615aa8fbb2defb8805a9cf9a36587bd78b..310fe253e56010b8b46e807dcba56bae83f16585 100644
--- a/indra/cmake/LibVLCPlugin.cmake
+++ b/indra/cmake/LibVLCPlugin.cmake
@@ -1,31 +1,30 @@
 # -*- cmake -*-
 include(Linking)
-include(Prebuilt)
+if (USESYSTEMLIBS OR LINUX)
+    include(FindPkgConfig)
 
-if (USESYSTEMLIBS)
-    set(LIBVLCPLUGIN OFF CACHE BOOL
-        "LIBVLCPLUGIN support for the llplugin/llmedia test apps.")
+    pkg_check_modules(VLC REQUIRED libvlc)
 else (USESYSTEMLIBS)
+    include(Prebuilt)
+
     use_prebuilt_binary(vlc-bin)
-    set(LIBVLCPLUGIN ON CACHE BOOL
-        "LIBVLCPLUGIN support for the llplugin/llmedia test apps.")
-        set(VLC_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/vlc)
-endif (USESYSTEMLIBS)
+    set(VLC_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/vlc)
 
-if (WINDOWS)
-    set(VLC_PLUGIN_LIBRARIES
-        libvlc.lib
-        libvlccore.lib
-    )
-elseif (DARWIN)
-    set(VLC_PLUGIN_LIBRARIES
-        libvlc.dylib
-        libvlccore.dylib
-    )
-elseif (LINUX)
-    # Specify a full path to make sure we get a static link
-    set(VLC_PLUGIN_LIBRARIES
-        ${LIBS_PREBUILT_DIR}/lib/libvlc.a
-        ${LIBS_PREBUILT_DIR}/lib/libvlccore.a
-    )
-endif (WINDOWS)
+    if (WINDOWS)
+        set(VLC_LIBRARIES
+                libvlc.lib
+                libvlccore.lib
+                )
+    elseif (DARWIN)
+        set(VLC_LIBRARIES
+                libvlc.dylib
+                libvlccore.dylib
+                )
+    elseif (LINUX)
+        # Specify a full path to make sure we get a static link
+        set(VLC_LIBRARIES
+                ${LIBS_PREBUILT_DIR}/lib/libvlc.a
+                ${LIBS_PREBUILT_DIR}/lib/libvlccore.a
+                )
+    endif (WINDOWS)
+endif (USESYSTEMLIBS)
diff --git a/indra/media_plugins/CMakeLists.txt b/indra/media_plugins/CMakeLists.txt
index 1292a34ede419300a5e5f49eda63444e8540fe9b..de1c0f6029969d41f0a5a3e5b6dc35400a72cb79 100644
--- a/indra/media_plugins/CMakeLists.txt
+++ b/indra/media_plugins/CMakeLists.txt
@@ -4,8 +4,8 @@ add_subdirectory(base)
 
 if (LINUX)
     #add_subdirectory(gstreamer010)
-    #add_subdirectory(libvlc)
-    #add_subdirectory(example)
+    add_subdirectory(libvlc)
+    add_subdirectory(example)
 endif (LINUX)
 
 if (DARWIN)
diff --git a/indra/media_plugins/libvlc/CMakeLists.txt b/indra/media_plugins/libvlc/CMakeLists.txt
index 16adac25a5faebf10be4a969b8e8c87501ad8a9d..3f67b6f65ae611398b4364954be2ecf250ba53f4 100644
--- a/indra/media_plugins/libvlc/CMakeLists.txt
+++ b/indra/media_plugins/libvlc/CMakeLists.txt
@@ -24,7 +24,7 @@ include_directories(
     ${LLIMAGE_INCLUDE_DIRS}
     ${LLRENDER_INCLUDE_DIRS}
     ${LLWINDOW_INCLUDE_DIRS}
-    ${VLC_INCLUDE_DIR}
+    ${VLC_INCLUDE_DIRS}
 )
 include_directories(SYSTEM
     ${LLCOMMON_SYSTEM_INCLUDE_DIRS}
@@ -46,7 +46,7 @@ target_link_libraries(media_plugin_libvlc
   ${LLPLUGIN_LIBRARIES}
   ${MEDIA_PLUGIN_BASE_LIBRARIES}
   ${LLCOMMON_LIBRARIES}
-  ${VLC_PLUGIN_LIBRARIES}
+  ${VLC_LIBRARIES}
   ${PLUGIN_API_WINDOWS_LIBRARIES}
 )
 
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 510242145cb938c16974b4f49b85baa96fa93452..d2057416eced0c6a01ee04fb825c75c9e3be79cf 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -2118,7 +2118,8 @@ if (LINUX)
   set(COPY_INPUT_DEPENDENCIES
     ${VIEWER_BINARY_NAME}
     SLPlugin
-    llcommon
+    media_plugin_example
+    media_plugin_libvlc
     )
 
   add_custom_command(
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index f242721d33e4f6ca9f4750d957a0e34a93677fb2..252649eb48db39713e95758903124dbc14145c45 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -138,8 +138,8 @@
 #include "llexception.h"
 #if !LL_LINUX
 #include "cef/dullahan_version.h"
-#include "vlc/libvlc_version.h"
 #endif // LL_LINUX
+#include "vlc/libvlc_version.h"
 
 // Third party library includes
 #include <boost/bind.hpp>
@@ -3284,7 +3284,7 @@ LLSD LLAppViewer::getViewerInfo() const
 	info["LIBCEF_VERSION"] = "Undefined";
 #endif
 
-#if !LL_LINUX
+#if defined(LIBVLC_VERSION)
 	std::ostringstream vlc_ver_codec;
 	vlc_ver_codec << LIBVLC_VERSION_MAJOR;
 	vlc_ver_codec << ".";
diff --git a/indra/newview/skins/default/xui/en/mime_types.xml b/indra/newview/skins/default/xui/en/mime_types.xml
index de9ac4247f079121b48649e90934499b0f8478d7..0cee19ffe71b1eb5410598a604c5615c638515be 100644
--- a/indra/newview/skins/default/xui/en/mime_types.xml
+++ b/indra/newview/skins/default/xui/en/mime_types.xml
@@ -240,7 +240,7 @@
 			audio
 		</widgettype>
 		<impl>
-			media_plugin_cef
+			media_plugin_libvlc
 		</impl>
 	</mimetype>
 	<mimetype name="application/pdf">
@@ -317,7 +317,7 @@
 			audio
 		</widgettype>
 		<impl>
-			media_plugin_cef
+			media_plugin_libvlc
 		</impl>
 	</mimetype>
 	<mimetype name="audio/mpeg">
@@ -515,7 +515,7 @@
 			movie
 		</widgettype>
 		<impl>
-			media_plugin_cef
+			media_plugin_libvlc
 		</impl>
 	</mimetype>
 	<mimetype menu="1" name="video/x-msvideo">
diff --git a/indra/newview/skins/default/xui/en/mime_types_linux.xml b/indra/newview/skins/default/xui/en/mime_types_linux.xml
index 7188b1e69937899213ce1bf737d156e017981b20..c14c0031778794c8d345eba783c9c881686b00ab 100644
--- a/indra/newview/skins/default/xui/en/mime_types_linux.xml
+++ b/indra/newview/skins/default/xui/en/mime_types_linux.xml
@@ -7,7 +7,7 @@
 		none
 	</defaultwidget>
 	<defaultimpl>
-		media_plugin_webkit
+		media_plugin_cef
 	</defaultimpl>
 	<widgetset name="web">
 		<label name="web_label">
@@ -133,6 +133,28 @@
 			media_plugin_libvlc
 		</impl>
 	</scheme>
+	<scheme name="example">
+		<label name="example_label">
+			Example Plugin scheme trigger
+		</label>
+		<widgettype>
+			movie
+		</widgettype>
+		<impl>
+			media_plugin_example
+		</impl>
+	</scheme>
+	<scheme name="libvlc">
+		<label name="libvlc_label">
+			LibVLC supported media
+		</label>
+		<widgettype>
+			movie
+		</widgettype>
+		<impl>
+			media_plugin_libvlc
+		</impl>
+	</scheme>
 	<mimetype name="blank">
 		<label name="blank_label">
 			- None -
@@ -141,7 +163,7 @@
 			none
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype name="none/none">
@@ -152,7 +174,7 @@
 			none
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype name="audio/*">
@@ -185,7 +207,7 @@
 			image
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype menu="1" name="video/vnd.secondlife.qt.legacy">
@@ -207,7 +229,7 @@
 			web
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype name="application/ogg">
@@ -218,7 +240,7 @@
 			audio
 		</widgettype>
 		<impl>
-			media_plugin_libvlc
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype name="application/pdf">
@@ -229,18 +251,18 @@
 			image
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype name="application/postscript">
 		<label name="application/postscript_label">
-			Postscript Document
+			Postscript Document 
 		</label>
 		<widgettype>
 			image
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype name="application/rtf">
@@ -251,7 +273,7 @@
 			image
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype name="application/smil">
@@ -262,7 +284,7 @@
 			movie
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype name="application/xhtml+xml">
@@ -273,7 +295,7 @@
 			web
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype name="application/x-director">
@@ -284,7 +306,7 @@
 			image
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype name="audio/mid">
@@ -295,7 +317,7 @@
 			audio
 		</widgettype>
 		<impl>
-			media_plugin_libvlc
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype name="audio/mpeg">
@@ -339,7 +361,7 @@
 			image
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype menu="1" name="image/gif">
@@ -350,7 +372,7 @@
 			image
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype menu="1" name="image/jpeg">
@@ -361,7 +383,7 @@
 			image
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype menu="1" name="image/png">
@@ -372,7 +394,7 @@
 			image
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype name="image/svg+xml">
@@ -383,7 +405,7 @@
 			image
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype menu="1" name="image/tiff">
@@ -394,7 +416,7 @@
 			image
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype menu="1" name="text/html">
@@ -405,7 +427,7 @@
 			web
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype menu="1" name="text/plain">
@@ -416,7 +438,7 @@
 			text
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype name="text/xml">
@@ -427,7 +449,7 @@
 			text
 		</widgettype>
 		<impl>
-			media_plugin_webkit
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype menu="1" name="video/mpeg">
@@ -452,7 +474,18 @@
 			media_plugin_libvlc
 		</impl>
 	</mimetype>
-	<mimetype menu="1" name="video/quicktime">
+  <mimetype name="application/octet-stream">
+    <label name="video/octet-stream">
+      Movie
+    </label>
+    <widgettype>
+      movie
+    </widgettype>
+    <impl>
+      media_plugin_libvlc
+    </impl>
+  </mimetype>
+  <mimetype menu="1" name="video/quicktime">
 		<label name="video/quicktime_label">
 			Movie (QuickTime)
 		</label>
diff --git a/indra/newview/skins/default/xui/en/mime_types_mac.xml b/indra/newview/skins/default/xui/en/mime_types_mac.xml
index 2d96708b86a220d32805b318aa65781678d20c32..0cee19ffe71b1eb5410598a604c5615c638515be 100644
--- a/indra/newview/skins/default/xui/en/mime_types_mac.xml
+++ b/indra/newview/skins/default/xui/en/mime_types_mac.xml
@@ -133,6 +133,28 @@
 			media_plugin_libvlc
 		</impl>
 	</scheme>
+	<scheme name="example">
+		<label name="example_label">
+			Example Plugin scheme trigger
+		</label>
+		<widgettype>
+			movie
+		</widgettype>
+		<impl>
+			media_plugin_example
+		</impl>
+	</scheme>
+	<scheme name="libvlc">
+		<label name="libvlc_label">
+			LibVLC supported media
+		</label>
+		<widgettype>
+			movie
+		</widgettype>
+		<impl>
+			media_plugin_libvlc
+		</impl>
+	</scheme>
 	<mimetype name="blank">
 		<label name="blank_label">
 			- None -
@@ -141,7 +163,7 @@
 			none
 		</widgettype>
 		<impl>
-			media_plugin_libvlc
+			media_plugin_cef
 		</impl>
 	</mimetype>
 	<mimetype name="none/none">
@@ -184,7 +206,7 @@
 		<widgettype>
 			image
 		</widgettype>
-        <impl>
+		<impl>
 			media_plugin_cef
 		</impl>
 	</mimetype>
@@ -452,7 +474,18 @@
 			media_plugin_libvlc
 		</impl>
 	</mimetype>
-	<mimetype menu="1" name="video/quicktime">
+  <mimetype name="application/octet-stream">
+    <label name="video/octet-stream">
+      Movie
+    </label>
+    <widgettype>
+      movie
+    </widgettype>
+    <impl>
+      media_plugin_libvlc
+    </impl>
+  </mimetype>
+  <mimetype menu="1" name="video/quicktime">
 		<label name="video/quicktime_label">
 			Movie (QuickTime)
 		</label>
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 5af445b72e5f63048a7ec483bf7bd12ef299c22f..6b2e1590e8357ba4615654ce8779cb0390dd206c 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -1361,10 +1361,11 @@ def construct(self):
                 self.path("alchemy_256.BMP","ll_icon.BMP")
 
         # plugins
-        #with self.prefix(src="../media_plugins", dst="bin/llplugin"):
+        with self.prefix(src=os.path.join(self.args['build'], os.pardir, "media_plugins"), dst="bin/llplugin"):
         #    self.path("gstreamer010/libmedia_plugin_gstreamer010.so",
         #              "libmedia_plugin_gstreamer.so")
-        #    self.path2basename("libvlc", "libmedia_plugin_libvlc.so")
+            self.path2basename("example", "libmedia_plugin_example.so")
+            self.path2basename("libvlc", "libmedia_plugin_libvlc.so")
 
         # with self.prefix(src=os.path.join(pkgdir, 'lib', 'vlc', 'plugins'), dst="bin/llplugin/vlc/plugins"):
         #     self.path( "plugins.dat" )
@@ -1453,7 +1454,6 @@ def construct(self):
             self.path("libhunspell-1.3.so*")
             self.path("libalut.so*")
             self.path("libopenal.so*")
-            self.path("libopenal.so", "libvivoxoal.so.1") # vivox's sdk expects this soname
             # KLUDGE: As of 2012-04-11, the 'fontconfig' package installs
             # libfontconfig.so.1.4.4, along with symlinks libfontconfig.so.1
             # and libfontconfig.so. Before we added support for library-file
@@ -1496,7 +1496,8 @@ def construct(self):
         with self.prefix(src=relpkgdir, dst="lib"):
             self.path("libortp.so")
             self.path("libsndfile.so.1")
-            #self.path("libvivoxoal.so.1") # no - we'll re-use the viewer's own OpenAL lib
+            self.path("libvivoxoal.so.1")
+            self.path("libvivoxplatform.so")
             self.path("libvivoxsdk.so")
 
         self.strip_binaries()
@@ -1527,7 +1528,6 @@ def construct(self):
             self.path("libhunspell-1.3.so*")
             self.path("libalut.so*")
             self.path("libopenal.so*")
-            self.path("libopenal.so", "libvivoxoal.so.1") # vivox's sdk expects this soname
 
             try:
                 self.path("libfmod.so*")
@@ -1542,7 +1542,7 @@ def construct(self):
         with self.prefix(src=relpkgdir, dst="lib"):
             self.path("libortp.so")
             self.path("libsndfile.so.1")
-            #self.path("libvivoxoal.so.1") # no - we'll re-use the viewer's own OpenAL lib
+            self.path("libvivoxoal.so.1")
             self.path("libvivoxsdk.so")
 
         self.strip_binaries()