Using Pepper FlashPlayer on Fedora

Just a quick post (not a HOWTO yet – feel free to contribute) on how to use the pepper version of Flash Player plugin on Fedora chromium (using Spot’s chromium-stable repo more than likely).  NSAPI has been abandoned in the current version of Chromium in spot’s repo.  I wanted to stream a YouTube video that runs ads to my Chromecast, so here we are.  This just covers the concepts and assumes you know how to operate the gearbox.

1) download the Chrome rpm from Google.

2) extract it.  mkdir chrome-files; cd chrome-files; rpm2cpio < the-chrome-rpm | cpio -id

3) cp opt/google/chrome/PepperFlash/libpepflashplayer.so /usr/lib64/flash-plugin (adjust for your arch) – that directory will exist if adobe’s repo installed their flash-plugin rpm.

4) ln -s /usr/lib64/flash-plugin/libpepflashplayer.so /usr/lib64/chromium-browser/pepper/

5) put this in your .profile:

export CHROMIUM_USER_FLAGS=”–enable-plugins –enable-extensions –enable-user-scripts –enable-printing –enable-sync –auto-ssl-client-auth –ppapi-flash-path=/usr/lib64/chromium-browser/pepper/libpepflashplayer.so”

6) source .profile

7) launch chromium-browser.  If you need to do it from the GUI, log out and back in again first.

Notes:

1) Adobe should have this in their repo, so installing their flash-plugin gets NSAPI and Pepper versions.  We can spare the disk space.  Ubuntu and Arch have packages that will automate the above steps – maybe the Fedora community should too (rpmforge?).

2) The /usr/bin/chromium-browser shell script should let us just add options to the environment rather than needing to duplicate  them.  I’d like the repo to keep the default options up to date and not think about them again.

3) What’s up with the versions?  Some other distros’ HOWTOs say to add –ppapi-flash-version to the command line.  We don’t want to update our .profile whenever this version changes.  One recommendation I saw is to sed-and-awk through the .json file from the bundle and then just build the flag dynamically.  It works if you just skip it, reporting version 11.2.999.999 which seems fake.  If you add the flag, about:plugins will report it.  The current json file in the Google rpm claims to be version 14.0.0.125, which seems way off from the most recent NSAPI version in the Adobe repo.  Adobe claims to only be doing security maintenance on Linux flash – is Google doing its own enhancements?

4) why are there even special-named flags for flash in Chrom*?  Aren’t mime types sufficient?  Why doesn’t it pick up versioning automatically – they couldn’t have forgotten to add this in the Pepper spec, right?  This all seems too manual and special-cased.  Seems like we should just be able to drop the .so and be done.

Anyway, it’s working – Norm still seems to hate Will and my TV has better color and sound than my laptop –  so “good enough”.  But there be lots of rough edges here.