Quick Links

Many Linux users reboot into Windows to watch Netflix, but you can watch Netflix on Linux without rebooting. Unfortunately, the solution here is inefficient – while Linux geeks have explored a variety of other clever solutions, none of them work.

A Windows virtual machine is your best bet for Netflix on Linux at the moment. Until Netflix acknowledges Linux users and gives us a solution, we’re stuck dual-booting or making due with a virtual machine.

Update: Netflix now officially supports Linux. Just download Google Chrome for Linux and visit Netflix. It won't work in Mozilla Firefox, Chromium, or other web browsers -- just Google Chrome.

The Silverlight Problem

Netflix is frustrating because it seems like something that should work on Linux -- it’s just playing videos in a browser. Netflix runs on everything from Android and Chrome OS (both based on Linux) to game consoles, DVD players, and home entertainment systems like the Roku. So why not Linux?

Netflix doesn’t work on Linux because the standard web player uses Silverlight -- Microsoft’s ill-fated and seemingly abandoned competitor to Adobe Flash -- instead of the Flash plugin. As no official version of Silverlight is available for Linux, Netflix won’t work on Linux. Netflix could create a solution for Linux users, but they have so far declined to do so -- their help page doesn’t even acknowledge that Linux exists.

image

What Doesn’t Work

Before we get into the gory details, here are some clever ideas that could theoretically allow us to watch Netflix on Linux -- none of which actually work:

  • Use Moonlight, an Open-Source Silverlight Implementation for Linux -- Moonlight was supposed to bring support for Silverlight web content to Linux, but Microsoft refuses to license Silverlight’s DRM (digital rights/restrictions management) implementation to Moonlight. As Moonlight lacks DRM support, Netflix will not play in Moonlight.
  • Install the Chrome OS Netflix Plugin -- Chrome OS is based on Linux and the Netflix app allows video streaming on Chrome OS. As the Chrome browser is available for Linux, you might think it’s possible to install the Chrome OS plugin on Linux somehow. Unfortunately, the Netflix app for Chrome OS requires a special Netflix Video Player plugin that only appears to function on Chrome OS -- copying these files to a Linux desktop will result in an error when trying to play Netflix.
  • Run the Netflix Android App -- You could try to run the Netflix Android app in the Android SDK emulator, but it would be extremely slow. Even if it worked at a high enough speed, the app fails when attempting to play a video, according to users who’ve tried.
  • Use Wine to Run the Windows Version of Silverlight -- Silverlight doesn’t yet function properly in Wine, as the Wine AppDB tells us.

What Does Work

The only method that will work is running Windows itself in a virtual machine -- definitely not an ideal solution, as you’re still running Windows, but it’s a method you can use to run Netflix on your Linux desktop without restarting your system.

The Windows virtual machine will function as an extremely inefficient video player. You’ll need powerful enough hardware to run a virtual machine that can play back high-definition videos without stuttering, but there are some tricks you can use to boost performance.

This method will require a legitimate copy of Windows, but the virtual machine software itself is free.

Preparing a Virtual Machine

First, you’ll need to install a virtual machine program. VirtualBox is a good one -- it’s available in Ubuntu’s software repositories. You could also try VMware Player if VirtualBox gives you trouble.

After installing the virtual machine program, launch it and create a new virtual machine using its wizard. Ideally, you should create a Windows XP virtual machine if you have an old Windows XP disc lying around -- Windows XP takes less hardware power to virtualize, freeing up system resources for the intensive task of streaming HD video in a virtual machine.

image

If you don’t have a copy of Windows XP, you can download a free Release Preview copy of Windows 8 and install it in a virtual machine -- Microsoft provides free preview versions of Windows 8 until it’s officially released. Bear in mind that Windows 8 will take more power to virtualize than XP.

After installing Windows in your virtual machine, make sure you install Guest Additions (in VirtualBox) or VMware Tools (in VMware Player). These packages include optimized video drivers that will speed up video playback. To install Guest Additions in VirtualBox, click the Devices menu and select Install Guest Additions. Once you have, install Microsoft’s Silverlight plugin and your favorite web browser, and then fire up Netflix.

image

You can also run the virtual machine in seamless mode (use the View menu and select Switch to Seamless Mode in VirtualBox). In seamless mode, the Netflix browser will appear to be just another window on your Linux desktop, although it’s still running the virtual machine in the background. The equivalent feature in VMware Player is referred to as “Unity.”

image

Virtual Machine Performance Tips

Here are some things you can do to improve performance in the virtual machine:

  • Reduce Netflix's Video Bitrate - Use the Manage Video Quality page on Netflix’s website to reduce the streaming bitrate. At a lower bitrate, image quality will be worse but performance should improve.
image
  • Reduce Virtual Machine Resolution - Try decreasing the Windows virtual machine’s display resolution. At smaller resolutions, the virtual machine should require less hardware power to play back video.
  • Optimize Virtual Machine Software - Ensure no unnecessary software is running in the background inside your virtual machine for optimal performance. You could also try changing browsers inside the virtual machine or using a dedicated browser – for example, using Google Chrome’s “Create Application Shortcuts” menu option to create a Netflix-only browser window.
  • Install VirtualBox Guest Additions or VMware Tools - Install the Guest Additions in VirtualBox or VMware Tools in VMware if you haven’t already. The optimized video drivers will speed up playback.
image
  • Choose a Less-Demanding Operating System - Use Windows XP in the virtual machine instead of Windows Vista or Windows 7. Windows XP takes less power to virtualize.
  • Try Another Virtual Machine Program - VMware Player may perform better than VirtualBox on your system, or vice versa
  • Adjust Virtual Machine Settings - You may also want to go into your virtual machine’s configuration and try tweaking its settings -- for example, allocating additional video memory or system memory to the virtual machine may improve performance.

Demanding Linux Support

Is this a silly, inefficient solution that shouldn’t be necessary? Absolutely -- but it’s the best one available at the moment.

Want an official way to watch Netflix on Linux? You can always call Netflix’s customer service number and ask for Linux support -- hopefully customer demand will one day force their hand.

There’s also a Netflix on Linux petition you can sign to express your support.