Adobe Flash
From Gentoo Linux Wiki
Contents |
[edit] About
The final version of Adobe Flash 9 has finally been released for Linux. This tutorial will guide you through installing it as a plugin. More information about the player can be found on the Adobe site. The player is only for 32-bit systems, but by using nspluginwrapper, it can also be successfully installed on a 64-bit-based installation of Gentoo.
[edit] Installation
If you do not want the latest Adobe Flash version and run ~arch, you need to mask the package.
| Code: Mask Adobe Flash |
echo ">net-www/netscape-flash-9.0" >> /etc/portage/package.mask |
Now you need to install Adobe Flash.
emerge -av net-www/netscape-flash
[edit] 64-bit
Fortunately, you can get around the fact the plugin is 32-bit and your Firefox is 64-bit by using nspluginwrapper. In its own words, nspluginwrapper enables you to use plugins on platforms they were not built for.
And configure your kernel and install nspluginwrapper: emerge -av nspluginwrapper.
| Linux Kernel Configuration: Kernel 2.6 |
# # Executable file formats / Emulations # ... CONFIG_IA32_EMULATION=y CONFIG_IA32_AOUT=y |
Now install the Adobe Flash plugin using nspluginwrapper (see the download section for getting the plugin):
nspluginwrapper --verbose --install /usr/lib32/nsbrowser/plugins/libflashplayer.so
You can also set nspluginwrapper to auto mode with nspluginwrapper -a. It is set to this by default. Alternately, just re-emerge it, and it will find the plugin and install it automatically. Each time a 32-bit plugin is installed, re-emerging nspluginwrapper will find and install all new plugins (if you are too lazy to tell it where to find them).
In order to have sound working, you need to have emerged the sound libraries for emulation of 32bit x86 on AMD64: emerge -av emul-linux-x86-soundlibs.
If the Adobe Flash plugin seems to crash as soon as it tries to play audio, or you do not get any audio at all, you may have an ALSA problem. Older versions of Flash used OSS, but since Adobe Flash 9 uses ALSA you need to make sure 32-bit programs can play audio to the default ALSA device (at the time of writing, Adobe Flash cannot be configured to use a different ALSA device.) If you have 64-bit libraries in the ALSA chain (e.g. LADSPA plugins) these will cause problems. If you are in this situation, see HOWTO Set up a system-wide equaliser with ALSA and LADSPA, which contains information on fixing this problem by setting up 32-bit versions of any plugins you may be using.
Restart you browser and make sure that both nspluginwrapper and Shockwave Flash are listed (in Gecko- and KHTML browsers, you can find this out by visiting about:plugins. Go to a Adobe Flash based site. If it still doesn't work, try the following command and restart your browser:
nspluginwrapper -v -a -i
If you have problems with some sites showing only grey boxes instead of the flash content (for example Google Analytics has this problem), you might want to update to the newest version of nspluginwrapper by adding the following line to /etc/portage/package.keywords and then re-emerge nspluginwrapper:
net-www/nspluginwrapper ~amd64
[edit] Enabling Adobe Flash on Mozilla-Labs Prism
Copy a libflashplayer.so file into $PRISM/xulrunner/plugins. In the terminal, run the following commands under the username you use, not root (unless you run your system in root):
nspluginwrapper -i $PRISM/xulrunner/plugins/libflashplayer.so nspluginwrapper -v -a -i
Start Prism and test it out on some Adobe Flash based sites.
[edit] Open Source Alternatives
There are several projects working on creating open source alternatives to the Adobe Flash player. Please consult the homepage for each project for information on their progress (click on the package name, the resulting page will have a link to the homepage of the package):
[edit] Troubleshooting
[edit] Installation fails
If you can't install Adobe Flash plugin try the following command as root:
chgrp wheel /usr/lib/nsbrowser/plugins/
[edit] No sound while using ESD
If the plugin plays videos, but does not produce sound, try this:
ln -s /usr/lib/libesd.so.0 /usr/lib/libesd.so.1
Create the following directory and file (as user):
mkdir /tmp/.esd touch /tmp/.esd/socket
Don't forget to start the esound daemon and add it to the default runlevel.
/etc/init.d/esound start rc-update add esound default
[edit] No sound using nspluginwrapper
After installing Adobe Flash 10 using nspluginwrapper and Adobe Flash 64-bit would steal the sound card and not release it or Adobe Flash would not be able to get the sound card. Rebuilding app-emulation/emul-linux-x86-soundlibs might fix this: app-emulation/emul-linux-x86-soundlibs
[edit] No sound using ALSA dmix
If using Mozilla Firefox and ALSA dmix, try editing (leave the rest of the page alone) the following:
| File: /usr/bin/firefox |
... #exec /usr/libexec/mozilla-launcher "$@" aoss32 /usr/libexec/mozilla-launcher "$@" ... |
[edit] See also
- If the installation failed for you, you could try out the latest Adobe Flash. It can be obtained here.
