Project

General

Profile

Support #934

Install Widevine on Arch Linux ARM

Added by Daniel Curtis about 1 year ago.

Status:
New
Priority:
Normal
Assignee:
Category:
Media Server
Target version:
Start date:
04/19/2018
Due date:
% Done:

0%

Estimated time:
1.50 h

Description

This is a guide for installing widevine on Arch Linux ARM to watch netflix on Chromium.

Prepare the Environment

  • Make sure the system is up to date:
    sudo pacman -Syu
    
  • Install multipath-tools:
    sudo yaourt multipath-tools
    

Install Widevine

  • Download and unzip the following chromeos recovery image:
    wget https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_7077.134.0_daisy-skate_recovery_stable-channel_skate-mp.bin.zip
    unzip chromeos*.zip
    
  • Access to the files stored on that ChromeOS image:
    sudo kpartx -avs chromeos*.bin
    
    • Example output
      add map loop0p1 (254:1): 0 28672 linear 7:0 2928640
      add map loop0p2 (254:2): 0 32768 linear 7:0 20480
      add map loop0p3 (254:3): 0 2641920 linear 7:0 286720
      add map loop0p4 (254:4): 0 32768 linear 7:0 53248
      add map loop0p5 (254:5): 0 4096 linear 7:0 282624
      add map loop0p6 (254:6): 0 1 linear 7:0 16448
      add map loop0p7 (254:7): 0 1 linear 7:0 16449
      add map loop0p8 (254:8): 0 32768 linear 7:0 86016
      add map loop0p9 (254:9): 0 1 linear 7:0 16450
      add map loop0p10 (254:10): 0 1 linear 7:0 16451
      add map loop0p11 (254:11): 0 16384 linear 7:0 64
      add map loop0p12 (254:12): 0 32768 linear 7:0 249856
      
  • We're interested in the one ending in p3, which will now exist at /dev/mapper/loop0p3. Now mount it:
    sudo mkdir -p /tmp/chromeos
    sudo mount -t ext2 /dev/mapper/loop0p3 -o ro /tmp/chromeos/
    
  • Now move into the root of that partition and search for the widevine plugins:
    cd /tmp/chromeos/
    find . -type f -name "libwidevine*" 
    
    • Example output
      ./opt/google/chrome/libwidevinecdm.so
      ./opt/google/chrome/libwidevinecdmadapter.so
      

The two files you want are named libwidevinecdm.so and libwidevinecdmadapter.so (ignore any "Permission denied" errors).

sudo cp ./opt/google/chrome/libwidevine*.so /usr/lib/chromium/

Tricking Netflix

  • Once Chromium is loaded up, install the "User Agent Switcher" extension from the Play Store, then add the following user agent as "Chrome":
    Mozilla/5.0 (X11; CrOS armv7l 6946.63.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
    
  • In the "User Agent Switcher" tool, set that as a permanent override for netflix.com.

Resources

Also available in: Atom PDF