For such an affordable device, there’s a lot that the Raspberry Pi can do. One of the simplest and most useful ways to use your Pi is as a low-cost alternative to a Roku or Fire TV. You can load programs like Plex and Kodi onto a Raspberry Pi to create an affordable media center device, but even those simple projects aren’t strictly necessary if you’re just looking to watch Netflix on a Raspberry Pi. While the Pi can’t quite get the job done right out of the box, giving your Pi the power to stream Netflix is pretty simple. Here’s how to watch Netflix on a Raspberry Pi.
What we’re going to do is use the Raspbian operating system to run the Chromium browser and open Netflix in Chromium on your Raspberry Pi.
For a while now, The Raspberry Pi Foundation’s Raspbian disk image has included the PIXEL desktop. PIXEL stands for “Pi Improved Xwindows Environment, Lightweight.” The image comes with Chromium, an open-source browser developed by Google. Chromium is what Chrome is based on, so it can do a lot of the same things its big brother can do – including some things that Epiphany, Raspbian’s old default browser, can’t do.
Why this is important? Because Netflix doesn’t support Epiphany, but it does support Chrome.
Unfortunately, Chrome and Chromium aren’t exactly the same, and you can’t watch Netflix using Chromium out of the box. If you try to, you’ll be greeted with a screen like this:
That’s no good. The error says that you are missing a required component to watch Netflix. That component is called Widevine Content Decryption Module.
That may sound like some weird third-party plugin, but it’s not – it’s actually included in Chrome out of the box. If you’ve ever used Chrome to stream Netflix, you’ve already used this plugin without knowing it. It’s just that while this plugin is standard with Chrome, it’s not standard with Chromium.
So what we need to do is get a version of Chromium that includes this Chrome plugin. Let’s do it!
How to watch Netflix on the Raspberry Pi
Step 1: Install Raspbian
We’ll be doing this entire project in the Raspbian operating system, so start by downloading the Raspbian disk image and writing it to a microSD card to use in your Raspberry Pi. If you’re not familiar with this process, I have good news – we’ve written an entire guide to installing Raspbian on your Raspberry Pi.
Step 2: Install Chromium with Widevine Support
In an older version of this post, we had you download and run Google Chrome OS’s recovery script to get Widevine working on Chromium. Unfortunately, that doesn’t seem to work anymore – the current version of Google Chrome OS’s recovery script doesn’t work with the current version of Chromium. Fortunately, there’s another way to get this done, and we’ve updated our guide accordingly.
What we can do is download and install a version of Chromium that has already been compiled with Widevine Support. Open up a terminal window in Raspbian and enter these two lines in order:
wget https://github.com/kusti8/chromium-build/releases/download/netflix-1.0.0/chromium-browser_56.0.2924.84-0ubuntu0.14.04.1.1011.deb sudo dpkg -i chromium-browser_56.0.2924.84-0ubuntu0.14.04.1.1011.deb
Easy enough, right?
Step 3: Not done yet!
So we’ve got the plugin installed – this should work now, right? Not so fast. Try to play something on Netflix and you’ll be greeted by this error:
So, what’s wrong?
We have to do one more step and install a Chrome extension called “User-Agent Switcher for Chrome.” That is because we need to lie Netflix a bit and have it believe that we are using Chrome OS.
So, head over to the Chrome Webstore and install the extension. Next, we’ll just need to enter some values in the extension.
Step 4: Create a new user-agent string
After installing, open the extension’s options and create a new user-agent string like this:
New user-agent name:
New user-agent string:
Mozilla/5.0 (X11; CrOS armv7l 6946.63.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
Then click the extension’s icon and select Chrome > Netflix.
That’s it! Now you should be able to watch Netflix without issues.
- If you open Netflix from Terminal using chromium-browser https://www.netflix.com, you may see an error message that says something like “Failed to call method: org.freedesktop.UPower.EnumerateDevices.” To fix this, you can install UPower, a piece of middleware that deals with power management on Linux systems. To install UPower, just head back to Terminal and type sudo apt-get install upower.
- You can remove the .deb file we downloaded to save space.