Ubuntu – use Chrome’s Pepper Flash with Firefox

firefoxflashgoogle-chrome

As Adobe no longer supports Flash on Linux (see "NOTICE" below), is there a way to use Chrome's Pepper Flash plugin with Firefox?


NOTICE! Flash no longer is supported for Linux EXCEPT as part of Chrome (with the exception of the extremely out of date Firefox 11.2 version, even though it gets security updates, it is still ancient and not updated that frequently). This is detailed in the Roadmap for Flash Runtimes from Adobe. The relevant section is Platform support, sub section Personal Computers, section Linux, quoted here (January 14, 2015 was when this was pulled, and the most important lines in this have been bolded for important reasons because people won't want to read the whole thing here):

Linux

Adobe has been working closely with Google to develop a single, modern API for hosting plug-ins within the browser. The PPAPI, code-named "Pepper", aims to provide a layer between the plug-in and browser that abstracts away differences between browser and operating system implementations. You can find more information on the Pepper API at http://code.google.com/p/ppapi/.

Because of this work, Adobe has been able to partner with Google in providing a "Pepper" implementation of Flash Player for all x86/64 platforms supported by the Google Chrome browser. Google now distributes this new Pepper-based Flash Player as part of Chrome on all platforms, including Linux.

For Flash Player releases after 11.2, the Flash Player browser plug-in for Linux will only be available via the "Pepper" API as part of the Google Chrome browser distribution and will no longer be available as a direct download from Adobe. Adobe will continue to provide security updates to non-Pepper distributions of Flash Player 11.2 on Linux for five years from its release.

Flash Player will continue to support browsers using non-"Pepper" plug-in APIs on platforms other than Linux.

Adobe will not be providing a Pepper-based debug player implementation of the Flash Player browser plug-in on Linux.

As of Adobe AIR 3, Adobe has discontinued support for Adobe AIR for Linux operating systems.

Best Answer

This answer may be outdated due to recent changes to Adobe and Flash. This answer is left here as is for historical purposes.


Firefox is dropping support for NPAPI soon, which may make this answer out dated and invalid. It may only be possible to get Flash in Chrome, and only Chrome, at some point, such that there is no Firefox solution.

Since Adobe no longer supports Flash on Linux, Chrome is one of the remaining options that ships with Flash included. This is a Chrome special case, as detailed in the Flash Roadmap from Adobe in the Linux subheading under Personal Computers.

You can use Pepper Flash (called "Fresh Player") on Firefox. Webupd8 even commented on it here and how to get it working (the linked article was posted on May 29, 2014 and may be out of date). The plugin may be usable as it seems to be suggested regularly in the Ubuntu IRC chats as a solution.


The below is extracted from the Webupd8 post:

NOTE: The wrapper used for this is in ALPHA stage and is likely to be EXTRAORIDNARILY unstable.

To summarize the steps they detail, though:

  1. Install Fresh Player Plugin in Ubuntu (via PPA), by using the following commands:

    sudo add-apt-repository ppa:nilarimogard/webupd8
    sudo apt-get update
    sudo apt-get install freshplayerplugin
    
  2. The easiest method to use this means that you will unfortunately need to install Google Chrome for this to work. This is becauseFresh Player Plugin is just a wrapper for libpepflashplayer.so, so it needs this file which is bundled with Google Chrome. The easiest way to get this file is to simply install Google Chrome Stable - download it from here, then install it.

    2a. Alternatively:

    There are other ways of getting libpepflashplayer.so but I won't post installation instructions for all of them here.

    Instead, I'll just list them below:

    • If you're using Google Chrome Unstable, create a symbolic link from /opt/google/chrome-unstable/PepperFlash to /opt/google/chrome/ or change add a freshwrapper.conf file and add the /opt/google/chrome-unstable/PepperFlash/libpepflashplayer.so path there - see step 3

    • You can install Pepper Flash using 2 other ways: via the installer available in the official Ubuntu 14.04 repositories and via the Pepper Flash PPA which is also available for older Ubuntu versions - once installed, then you'll need to create a symbolic link for Pepper Flash to /opt/google/chrome/PepperFlash/libpepflashplayer.so or see step 3 for how to change the path to it.

  3. Remove the flash plugin installed by APT: Remove/Purge these packages from the Software Center flashplugin-installer adobe-flashplugin adobe-flash-properties-gtk adobe-flash-properties-kde or just run in a terminal:

    sudo aptitude --purge-unused purge flashplugin-installer adobe-flashplugin adobe-flash-properties-gtk adobe-flash-properties-kde
    

    The Pepper Flash package doesn't replace the original library file, this is why up to this step, you can see both versions of the Flash plugin in the Add-ons page, and there's no way to be sure that Firefox will use the latest version. And you just can't disable one without disabling the other (If you disable one and restart, both will be disabled).

  4. Optional (only use it if you want to tweak various settings): configure Fresh Player Plugin

    Here you'll find an example Fresh *Player Plugin configuration - to use it, save this file, rename it to freshwrapper.conf and copy it under ~/.config/freshwrapper-data/

    Use this configuration file to change the path to libpepflashplayer.so or to tweak the sound buffer if you have shuttering sound. Don't use it to enable hardware acceleration yet as it doesn't work properly for now!

    The configuration options available in this file are pretty self-explanatory - you can configure the lower and higher bound for the audio buffer size, change the Xinerama screen used to acquire fullscreen window geometry (default: 0), change the path to libpepflashplayer.so along with command line arguments (like enabling hardware video decoding).