Pipelight
| Summary |
|---|
| This article covers the installation and usage of the up-coming Pipelight program that allows for Windows native Web browser plug-ins to be ran in GNU/Linux native Web browsers. |
| Required software |
| pipelight |
| wine-silverlight |
| wine-browser-installer |
| Related |
| Wine |
| Moonlight |
| Firefox |
| AUR |
Pipelight is a special browser plugin which allows one to use windows only plugins inside Linux browsers. We are currently focusing on Silverlight and its features like watching DRM protected videos. The project needs a patched version of Wine to execute the Silverlight DLL. From here.
Pipelight allows [you] to run your favorite Silverlight application directly inside your Linux browser. The project combines the effort by Erich E. Hoover with a new browser plugin that embeds Silverlight directly in any Linux browser supporting the Netscape Plugin API. He worked on a set of Wine patches to get Playready DRM protected content working inside Wine and afterwards created an Ubuntu package called Netflix Desktop. This package allows one to use Silverlight inside a Windows version of Firefox, which works as a temporary solution but is not really user-friendly and moreover requires Wine to translate all API calls of the browser. To solve this problem we created Pipelight.
Pipelight consists out of two parts: A Linux library which is loaded into the browser and a Windows program started in Wine. The Windows program, called pluginloader.exe, simply simulates a browser and loads the Silverlight DLLs. When you open a page with a Silverlight application the library will send all commands from the browser through a pipe to the Windows process and act like a bridge between your browser and Silverlight. The used pipes do not have any big impact on the speed of the rendered video since all the video and audio data is not send through the pipe. Only the initialization parameters and (sometimes) the network traffic is send through them. As a user you will not notice anything from that "magic" and you can simply use Silverlight the same way as on Windows... From here.
Contents |
Installation
Install pipelight from the AUR. Consider using an AUR helper that resolves dependencies from the AUR and the Official Repositories as Pipelight requires wine-silverlight (a patched version of wine with silverlight support) which is also in AUR.
Install location
The location of wine-silverlight and wineprefix are all customizable in the PKGBUILD. Please refer to the Variables section below for details
Silverlight initialization
Once Pipelight has completed installing, there are two more steps that you need to do:
-
Initialize the plugin for the first time by running the installer$ /usr/share/pipelight/wine-silverlight5.1.installer
- Change the user agent string of your browser as described here.
Checking your work
You can verify that the Silverlight plugin was installed correctly even before changing the user agent by visiting this page. Alternatively, you can check Firefox/Chrome plugins with about:plugins.
Enable GPU Acceleration
As for pipelight 1-12, GPU acceleration is automatically enabled on supported cards. Refer note below for debugging instructions
You can use this page (or even just netflix) to test out 1080p streaming : http://www.iis.net/media/experiencesmoothstreaming1080p (Needs ForceGPUAcceleration set)
Blank video window after enabling gpu acceleration
If you see this issue, try setting embed = false in the pipelight config file.
Paths
If you change the value of _wine in the PKGBUILD to, for example, /opt/wine-silverlight, then this will be automatically propogated to the plugin installer script as well as the Pipelight configuration.
For example, to use wine-silverlight installed in /opt/wine-silverlight/ you need to follow the following steps :
- When compiling wine-silverlight uncomment the line 'customprefix=1'
- When compiling pipelight set the _wine variable to /opt/wine-silverlight
Variables
The selection of variables involved in configuring Wine-Silverlight and Pipelight are explained below
- Wine-Silverlight
-
customprefix- This is commented out by default. Uncommenting this in will install wine to
/opt/wine-silverlightinstead of/bin. - This must be set to 1 for a custom install prefix. The default is
/usr.
- This is commented out by default. Uncommenting this in will install wine to
-
_prefix- This controls the default custom prefix path.
- If you do not want to use
/opt/wine-silverlight, then customprefix must be set as explained in the previous section for your changes to work.
- Pipelight
-
_prefix- Similar to Wine-Silverlight, this controls where Pipelight is installed. The default is
/usr/share/pipelight.
- Similar to Wine-Silverlight, this controls where Pipelight is installed. The default is
-
_wine- This is the location of the Wine-Silverlight executable.
- It must be same as what was used while compiling wine-silverlight.
-
_wineprefix- This is the location of where the Silverlight plugin used by Pipelight gets installed. The default is
~/.wine-pipelight.
- This is the location of where the Silverlight plugin used by Pipelight gets installed. The default is
Troubleshooting
Known issues with Pipelight and solutions are often listed here.