Streaming DRM protected content/Pipelight

Recently it has been made possible to use Netflix in linux via Wine with good performance.

Check the Wine “Compholio” github page & the Pipelight page for the latest information. The patchset will be updated continuously until all of the necessary features are upstream in vanilla Wine. At the time of writing Wine version 1.7.20 is the latest one.

xattr
File system extended attributes are used to keep the precious DRM working, so you’ll potentially need to add support in your kernel as well as having your file system mounted explicitly with the option.

Checking for support
Quick check (may not be indicative with recent kernel versions):

More thorough:

Adding support
In recent kernel versions there doesn’t appear to be an option for ext4 extended attributes, presumably meaning they’re always on already.

See Kernel/Upgrade for in-depth kernel rebuild instructions.

If you were only missing the option in :

cabextract
Some plugins (notably Silverlight) require cabextract, which is available in Portage.

Install via Portage
Recently a USE-flag "pipelight" was added for the Wine package, which will automatically apply the required set of patches, so normally there should be no need to compile Wine manually anymore... Except if the version of the patches is outdated in the ebuild, or you are developer and want to know how it works.

Compiling manually
At first make sure that you have the attr header files installed, which are required in order to compile Wine with XATTR support.

As a next step grab the latest Wine source code (1.7.20 as of writing) and grab the wine-patches from the wine-compholio repository:

Extract the archives:

and apply the patches:

This command also recreates the wineserver requests and runs autoreconf, so there is no need to run this manually.

Afterwards run configure:

Before you continue you should make sure that configure doesn't show any warnings (look at the end of the output). If there are any warnings it is recommended to install the missing header files first and then run the configure step again.

Afterwards compile and install Wine.

Now move on to Pipelight.

Pipelight
Since most of the available Pipelight overlays are outdated the only viable way to install Pipelight itself is to compile it. To do this follow the instructions below. Please note that some additional browser configuration is required, take a look at the next section for more details.

Compile Pipelight
First, get the needed tarballs for the pipelight source and precompiled binary:

Next extract the files:

And build it:

Then install it:

Initialization
After the installation just initialize the plugin(s) you want to use. To use Netflix you have to enable Silverlight.

Press Y to accept the plugin license. Then run Firefox (or your chosen web browser) from the Terminal to check if the plugin will run, i.e. for firefox-bin:

and watch the startup in the terminal for any errors. The plugin installation either starts immediately, or when visiting about:plugins in your webbrowser. If there are some errors please check again that you really installed Wine and Pipelight according to this page, if not then proceed with the following steps.

Microsoft Corefonts (optional)
For Wine-Compholio < 1.7.14 this step was required such that Silverlight works properly (see this FAQ entry). With Wine-Compholio 1.7.14 or greater the patchset already includes a Arial replacement font, which seems to be sufficient for the Silverlight plugin.

To install the Corefonts you have to use Winetricks. Just download the Winetricks script (for example to your home directory):

Mark it as executable:

Then run it:

Then select "Select the default wineprefix" -> "Install a font" -> "corefonts" and click "Okay".

Netflix
Install an extension listed at http://answers.launchpad.net/pipelight/+faq/2351 such as https://addons.mozilla.org/en-US/firefox/addon/user-agent-overrider and configure a Windows UA string, such as this one:* Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1

Enjoy improved Netflix.

Troubleshooting

 * Try different UA strings
 * (Re)Move
 * (Re)Move  from
 * Check paths & other variables in  (or if nonexistant,  )

Audio
If you use Pulseaudio but find that wine32 is trying to load 64-bit pulseaudio drivers, consider the solution found in this here

External resources

 * Pipelight | News
 * FDS-Team | Pipelight: using Silverlight in Linux browsers
 * Gentoo Forums :: View topic - HOWTO: Install Netflix on Gentoo