Flash has been slow in supporting 64 bit browsers, so a popular approach to have Flash on a 64 bit Linux machine is to use the 32 bit version of Flash, and then use a plugin wrapper called NSPluginWrapper to make it available to browsers. In most Linux distributions, this has become pretty standard.
Opera, however, has its own plugin wrapper, which handles 32 bit Flash just fine, and which confuses
NSPluginWrapper. As a result, guess what? You install
adobe-flash, then you install
nspluginwrapper, and there you have Flash on Firefox and Chrome, but not Opera! The solution is to tell Opera to use the 32 bit plugin instead of the wrapper. Below is how to do that.
- First let’s assume that you have installed Opera and Flash from your package manager (this greatly depends on your distribution).
- Find out where the plugin’s shared object is installed:
locate libflashplayer.so | xargs file
On my Gentoo installation the result is
/opt/Adobe/flash-player32/plugin/libflashplayer.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
/usr/lib32/nsbrowser/plugins/libflashplayer.so: symbolic link to `/opt/Adobe/flash-player32/plugin/libflashplayer.so’
/usr/lib64/nsbrowser/plugins/npwrapper.libflashplayer.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
The first item in the output is the place that the plugin is installed. The second is just a symbolic link to the first, which is not very important. The third result is the plugin wrapper. 64 bit Chrome and Firefox will ignore the first two items and use the wrapper (where it works), and so does the default configuration of Opera (where it doesn’t work).
- Now open Opera, go to
Advancetab, click on
Contenton the left, then
Plug-in Options...on the right. A dialog will appear to let you know where plugins are being looked for (
Plug-in path). On my system it shows:
This is a colon-separated list, which means plugins will be looked for in
/usr/lib64/nsbrowser/plugins. Thus it will find the
npwrapper.libflashplayer.sowrapper above instead of the 32 bit version.
- Click on
Change Path...and add the location of the right plugin. For my case, the resulting path is
- Restart Opera and everything should be fine!