How-To: Amazon Instant Video Under Linux
This page is a placeholder for my ongoing support notes, potential solutions, and tips for playing Amazon’s VOD (Video On Demand) service under Linux. Since flash will no longer be developed for Linux past 11.2, we are left to hope for solutions from Firefox, HTML5 encoding, or some other wild idea. For now, the only concrete solution is running a virtual machine (Wine support is very difficult, but possible). Read on for more
Please see the Pipelight page for full directions on how to get flash working under Pipelight as an alternative method. Pipelight allows me also to play Amazon on demand video, as it seems to use compatible modules (you’ll see the same blue loading ring of Netflix).
What I currently know:
- Currently builds of adobeflash-plugin (version 11.2) have broken DRM functionality via web browsers such as Firefox and Chrome.
- Downgrading flash may be troublesome down the road for other applications that depend on it.
- Part of the issue concerns Adobe’s legacy use of the deprecated HAL (hardware abstraction layer) which is not being used in most distributions nowadays.
- Adobe’s info for Linux playback is inaccurate and it doesn’t actually work with Linux
- Current solutions I have generally seen concern Ubuntu/Linux Mint
- Using Chrome which has the newest version of flash via ppapi. Amazon Prime strictly prohibits it.
- Using Chromium has the same issue as using Firefox
- Trying to install Adobe Flash 188.8.131.525 Is not compatible with raring libraries(?).
- The Moonlight plugin for Firefox will not work, as Amazon now uses a variant of Silverlight.
- It is possible that netflix-desktop can be tweaked to make this work, something I am currently investigating.
- Sadly, the 20130618 update to Chromium-Browser, did not rectify this, but video on many sites if MUCH smoother
Common Error messages when loading the Amazon Instant Video Player:
- “Sorry we were unable to stream this video. This is likely because your Flash Player needs to be updated.”
- “Service Error (1002)” after successfully loading silverlight, but not the DRM content.
Potential Fix 1: Flash via the Pipelight plugin set
Applies to: Most distributions
Once you install pipelight per my instructions, all you have to do to enable the flash plugin is the following (if using the multi-plugin):
sudo pipelight-plugin --enable silverlight
Potential Fix 2: Hal fix
Applies to: Chromium , Ubuntu/Mint 13.04 64bit:
sudo apt-get install hal sudo mkdir /etc/hal/fdi/preprobe sudo mkdir /etc/hal/fdi/information /usr/sbin/hald --daemon=yes --verbose=yes rm -rf ~/.adobe
Note: If you are using ubuntu version 13.10 must download and install these raring(13.04) .debs because they have been deleted from the 13.10 repos:
libhal1: http://packages.ubuntu.com/raring/libhal1 libhal-storage1: http://packages.ubuntu.com/raring/libhal-storage1 hal: http://packages.ubuntu.com/raring/hal
If for some reason, you cannot access those packages above, a fine fellow packaged the set into a PPA for Ubuntu based distrobutions. You can add that repository and install what you need by doing the following:
sudo add-apt-repository ppa:mjblenner/ppa-hal sudo apt-get update && sudo apt-get install hal
Potential Fix 3 : Reverting your flash version
Applies to: Chromium , Ubuntu/Mint 13.04 64bit:
- Open Synaptic Package Manager - do a search for "flashplugin-installer" - highlight the package and press "Ctrl + E" - The "force version" window should open. (You could also reach this window by using the 'package' menu, then selecting 'force version') - Pick version 184.108.40.206 instead of the currently installed 220.127.116.110 - Ignore the warnings and apply your changes. I suggest you close your browser before doing so. - Use the package menu to "lock version". (If you don't do this, next time the update manager runs it'll break flash again by offering an update.) - Restart your browser.
Potential Fix 4: Installing hal on Linux variants based on systemd
Applies to: Distributions that make use of systemd
Suggested packages in the past have been the Flash Player from Arch’s repositories, and using Chromium x64. Some users report that when playing Amazon Instant content, the player will create a folder under ~/.adobe/flashplayer called “APSPrivateData2” and then some folder and files under that for DRM. This can possibly be solved by downloading the hal package from the AUR. An example of the required commands is below:
wget https://aur.archlinux.org/packages/ha/hal/hal-info.tar.gz tar -xzvf hal-info.tar.gz cd hal-info/ makpkg -csi
Required hal package:
wget https://aur.archlinux.org/packages/ha/hal/hal.tar.gz tar -xzvf hal.tar.gz cd hal/ makpkg -csi
The last step is to clean the applicable files out of ~/.adobe. Before performing these steps, you should close all browsers you may have open and have a Terminal window ready.
cd ~/.adobe/Flash_Player/ rm -rf NativeCache AssetCache APSPrivateData2 sudo systemctl start hal
The use of “systemctl enable hal” as a fourth line above is optional, as I am not sure what side effects there are of running hal in that fashion. Restart your browser and give an Amazon Instant Video a whirl. Also of note is a script which will start/stop the required services, as well as clean the hal cache. You can find the script here. This is the method I use for Arch linux and it works swimingly.
If these commands fail to work, try them again. For example, I successfully watched “Jack Reacher”, but after closing my browser and trying another title, I was unable to do so until redoing the steps. Your mileage may vary. If you should continue to have trouble, trying looking over the Arch Wiki article for this subject.
20130618 – updated “What I currently know” to include Moonlight. Added info on Chromium Browser.
20140108 – currently exploring a consistent method that is not susceptible to periodic breakage.
20140108 – Added information for systemd variants, such as Arch Linux