Pipelight 0.2.4

Written for Pipelight by Michael Müller on 2014-01-19

There was a regression in 0.2.4 which broke Pipelight with some browsers like Firefox, but this is now fixed in version Please update your packages if you encounter such a problem.

The Pipelight version 0.2.4 introduces some speed improvements which especially target Silverlight on slower systems that were not able to reach the full frame rate. By modifying the wine patches and several changes to make Pipelight work a bit more asynchronously this effectively increases the performance. Other changes introduced support for the Widevine plugin or made Pipelight compatible with even more browsers.

Before we continue with list of all changes, I want to make a small announcement: We are presenting a talk about Pipelight in the Wine developer room at the FOSDEM 2014 (in Brussel) in ~2 weeks. If you are interested in the backgrounds of Pipelight or just want to meet us in person, feel free to join our talk. Entrance is free and more information are available at https://fosdem.org/2014/schedule/event/wine_pipelight/ ;-)

One of the changes for Pipelight 0.2.4 introduced support for the Widevine plugin which is a bit special compared to other supported plugins. The plugin itself does not work standalone and instead just offers DRM capabilities to the normal Flash plugin. While the Widevine plugin itself does all DRM related stuff like key exchange and decryption, the rendering is still done by the normal Flash plugin. Pipelight allows you to combine Widevine with either Windows, Linux or Pepper Flash. It is therefore possible to render the video with a native linux Flash executable while only the decryption part is done via Wine which results in a very good playback performance. To prevent confusion: there also exists a Widevine DRM module for Chrome which does not need Flash, but it's not largely used by websites as it's only compatible with a single browser.

To use Widevine, simply execute:

sudo pipelight-plugin --enable widevine

--[Linux windowless mode]--
We have added support for offscreen rendering in Pipelight which is required by some QT based browsers or browsers which do not support overlaying of normal windows like the OpenGL based Steam browser. The new mode still suffers from some input related problems and must be enabled manually in the config or via an environmental variable, but can actually fix some Flash mouse input problems when Flash is rendered above html controls. Anyway, it is not really recommend to use this mode if it is not necessary as all rendering is done through the browser and it is therefore not possible for a plugin to use hardware acceleration on it's own (some plugins like Unity3D will not work at all). To enable this mode either set PIPELIGHT_WINDOWLESSMODE=2 to enable it for all plugins (caution for plugins that always use 3d rendering!) or set linuxWindowlessMode = true in the according plugin config.

--[AMD GPU Acceleration]--
The Silverlight plugin still has some problems on AMD graphics card and the GPU acceleration is therefore disabled by default if Pipelight detects neither a NVIDIA nor Intel graphic card. We were now able to track down the problem to the drawing call ordering which is different between Windows and Wine's D3D layer. Stefan Dösinger is working for Codeweavers on a patchset to implement the same behaviour as on Windows, which also solves this problem. Nevertheless, applying around 200 patches on Wine makes maintaining much more complicated and we are therefore going to wait till they landed which hopefully shouldn't take too long. In the meantime we added the value 2 to the PIPELIGHT_GPUACCELERATION environment variable which will enforce the same drawing ordering as on Windows by waiting till the drawing commands are finished. This costs some performance but should be still perform better on newer cards than no gpu acceleration at all. To test it, simply start your browser from a terminal in the following manner:


--[Plugin licenses]--
In all previous Pipelight versions the installation of a plugin was silent and the license of a plugin was therefore automatically accepted. While it should be clear that you need to accept the Silverlight license when you want to use this plugin, it may not be so obvious that some plugins also required additional files from Microsoft. These files are needed to workaround bugs in Wine and are downloaded automatically during the plugin installation. In order to make this whole process a bit more transparent, you will now be asked to accept these licenses when you enable a plugin with pipelight-plugin. Instead of showing all the installation dialogs Pipelight will give you a plugin dependent list of all licenses which you need to accept. We also made the Wininet.dll replacement optional as it is only required by some Silverlight sites. If you suddenly see some old fashioned windows dialogs which ask you for your username and password you most probably hit such a website. To enable the wininet.dll replacement you need to create a file and therefore accept the according license (as shown during enabling the plugin):

touch ~/.config/wine-wininet-installer.accept-license

Make sure to read the license and remember to repeat this step for every user on your system who wants to use the original wininet.dll.

* The default config path changed from /usr/share/pipelight/ to /usr/share/pipelight/configs/
  (i.e. they are now in a separate subfolder)
* The Adobe Reader plugin is now supported an an experimental plugin, but the Adobe Reader sandbox is disabled by Pipelight as it does not work with Wine. Use it only at your own risk!

If you want to see all the changes in detail please take a look at the the full changelog:

Updated on 2014-01-20.

Read all announcements