Translate

Archives

Image of Modern Operating Systems (3rd Edition)
Image of Operating System Concepts
Image of Advanced Programming in the UNIX Environment, Second Edition (Addison-Wesley Professional Computing Series)
Image of XSLT 2.0 and XPath 2.0 Programmer's Reference (Programmer to Programmer)

Installing 64-bit Flash Plugin (Square) for Firefox on Fedora 13

The Adobe Flash Player is a very popular method for delivering rich web content. Native 32-bit Flash Player plugins for web browsers such as Firefox, Opera, Chrome and others have been available for a long time. Adobe had a preview 64-bit GNU/Linux Flash Player available but withdrew support for it back in June 2010 citing the need to make “significant architectural changes” and “security enhancements” to the player. Since then no native 64-bit Flash Player plugin has been available for GNU/Linux from Adobe. However, on September 15th 2010 they released a preview Flash Player named Square which included a native 64-bit version for GNU/Linux.

The key new capabilities of this Flash Player preview release are:

  • Native support for 64-bit operating systems and 64-bit web browsers on Linux, Mac OS, and Windows.
  • Enhanced support for Internet Explorer 9 by taking advantage of hardware accelerated graphics support in this browser.

Prior to this release, using Flash on 64-bit GNU/Linux systems required the use of a special wrapper, called NSPluginWrapper, around the 32-bit version of the GNU/Linux Flash plugin. NSPluginWrapper is a cross-platform NPAPI (Netscape 4 Plugin Application Programming Interface) plugin wrapper developed by Gwenole Beauchesne. To hook a 32-bit plugin into a 64-bit build of Firefox, for example, NSpluginwrapper registers itself with the browser as the plugin handling the appropriate content types, and when necessary, launches the 32-bit plugin and dispatches calls between browser and plugin using RPC. This wrapper makes it possible to use plugins that are not available, or will never be available, for a specific platform.

You can download the 64-bit Linux tarball of the Square plugin directly from the Adobe website and install it yourself however you like, or you can modify and use the following shell script to install the Square plugin in a common subdirectory and then make a symbolic link to this file from each specified user’s $HOME/.mozilla/plugins subdirectory.

#!/bin/bash
#
# NOTE - Add more error checking and harden script before using in
#        production environment.
#
#     12//3/2010   Changed FLASHLIBGZ to point to new version.  
#

#FLASHLIBGZ="flashplayer_square_p1_64bit_linux_091510.tar.gz"
FLASHLIBGZ="flashplayer10_2_p3_64bit_linux_111710.tar.gz"
FLASHLIB="libflashplayer.so"
MOZILLAPLUGINDIR="/usr/lib64/mozilla/plugins"
USERLIST="fpm jpk"
HOMEDIR="/home"

# create common plugin directory if necessary
if [[ ! -d ${MOZILLAPLUGINDIR} ]]
then
   mkdir -p ${MOZILLAPLUGINDIR}
fi

# remove old files
if [[ ! -e ${FLASHLIBGZ} ]]
then
   rm -f ${FLASHLIBGZ}
fi
if [[ ! -e ${FLASHLIB} ]]
then
   rm -f ${FLASHLIB}
fi
# get the plugin and untar it
if ! wget http://download.macromedia.com/pub/labs/flashplayer10/${FLASHLIBGZ}
then
   echo "ERROR: wget failed"
   exit 1
fi
if ! tar xvf ${FLASHLIBGZ}
then
   echo "ERROR: tar failed"
fi

# move plugin to common plugin subdirectory and set permissions
if [[ -e ${FLASHLIB} ]]
then
    mv ${FLASHLIB} ${MOZILLAPLUGINDIR}
fi
chmod 755 ${MOZILLAPLUGINDIR}/${FLASHLIB}

# create symbolic linke from each users .mozilla/plugins directory to the actual plugin
set -- $USERLIST
while [[ $1 ]]
do
   rm -f ${HOMEDIR}/${1}/.mozilla/plugins/${FLASHLIB}
   ln -s ${MOZILLAPLUGINDIR}/${FLASHLIB} ${HOMEDIR}/${1}/.mozilla/plugins/${FLASHLIB}
   shift
done

exit 0


After rebooting Firefox, use the about:plugins URI to check that the new Flash plugin is available in Firebox:

firefox about:plugins screenshot

You should see what is shown in the highlighted area above. If not the Flash plugin was not correctly installed.

If all is as shown above, you should be able to play embedded flash media. A good site to currently test this capability is YouTube or at Adobe Flash. You may find that video works but audio does not work. For audio to work, you may need to install the alsa-plugins-pulseaudio.x86_64 0:1.0.22-1.fc13 package if it is not already installed. This is available from the standard Fedora repositories.

$ su yum install alsa-plugins-pulseaudio


Start up Firefox and this time audio should work for you.

The current version of the Square plugin is marked preview release. Adobe claims it is “stable and ready for broad testing.” and I certainly found this to be the case on Fedora 13. Keep in mind, however, that a preview release implies that not everything may be fully baked. If you encounter any issues, you should file a bug report in their public database. Adobe also has a support forum for the 64-bit Square plugin at the Adobe Forums.

Note that the libflashsupport package is no longer needed with Flash 10. The Flash plugin now calls the appropriate ALSA functions directly, and in the default ALSA configuration delivers sound to PulseAudio.

Finally, Adobe has released a FAQ about their 64-bit Square Flash Player which is interesting to read. Amongst other things, it discusses the challenges of coding Flash for 64-bit platforms.

Enjoy.
 

3 comments to Installing 64-bit Square Flash Preview Plugin for Firefox on Fedora 13