There are two types of browser plugins, based on the plugin API they use:
- Netscape plugin API (NPAPI): these plugins work in some smaller browsers (Firefox and Chromium do not support these plugins).
- Pepper plugin API (PPAPI): these plugins work in Chromium, Opera and Vivaldi. (Firefox does not support these plugins).
Most plugins on this page are NPAPI-only, unless noted otherwise.
Adobe Flash Player
An older standalone version can be installed with the AUR package. This package predates the hard coded end-of-life clock being inserted in Flash Player and therefore continues to work.
Gnash is a free (libre) alternative to Adobe Flash Player. It is available both as a standalone player for desktop computers and embedded devices, as well as a browser plugin, and supports the SWF format up to version 7 (with versions 8 and 9 under development) and about 80% of ActionScript 2.0.
Gnash can be installed with the AUR package.
Lightspark is another attempt to provide a free alternative to Adobe Flash aimed at supporting newer Flash formats. Lightspark has the ability to fall back on Gnash for old content, which enables users to install both and enjoy wider coverage. Although it is still very much in development, it supports some popular sites.
Lightspark can be installed with the AUR or AUR package.
Ruffle is a Flash Player emulator written in Rust. It runs natively as a standalone application, and on all modern browsers through the use of WebAssembly. While still being under active development, basic ActionScript 1.0/2.0 support is in place and improving; ActionScript 3.0 support is forthcoming.
Ruffle can be installed with one of the AUR or AUR packages.
If you want to use Oracle's JRE, install theAUR package.
Many browsers support the GStreamer framework to play multimedia inside HTML5
<video> elements. Check the optional dependencies of the browser package (or of the web engine, e.g. or ) to see if GStreamer is supported. See GStreamer#Installation for the description of each plugin.
For media formats that are not natively supported by your browser (e.g. most browsers do not play
.mkv files), the following plugins are available:
- Rosa Media Player Plugin — Qt-based NPAPI plugin that uses MPlayer as backend.
- VLC Plugin — NPAPI plugin that uses VLC as backend.
MozPlugger can be installed with theAUR package.
MozPlugger is a Mozilla plugin which can show many types of multimedia inside your browser. To accomplish this, it uses external programs such as MPlayer, xine, Evince, OpenOffice, TiMidity, etc. To modify or add applications to be used by MozPlugger just modify the
For a more complete list of MozPlugger options see.
If you want to use MozPlugger with Evince, for example, you have to find the lines containing
/etc/mozpluggerrc file and modify the corresponding line after
GV() as below:
repeat noisy swallow(evince) fill: evince "$file"
evince with something else if it is not your viewer of choice).
When using Firefox, you may need to change 2 values in
pdfjs.disabled's value to true;
plugin.disable_full_page_plugin_for_types's value to an empty value.
Then restart Firefox to use the plugin.
Use LibreOffice instead of OpenOffice
For example, MozPlugger uses OpenOffice by default to open
doc files. To change it to use LibreOffice instead, look for the OpenOffice section:
... ### OpenOffice define([OO],[swallow(VCLSalFrame) fill: ooffice2.0 -nologo -norestore -view $1 "$file" swallow(VCLSalFrame) fill: ooffice -nologo -norestore -view $1 "$file" swallow(VCLSalFrame) fill: soffice -nologo $1 "$file"]) ...
and add LibreOffice at the beginning of the list:
... ### LibreOffice/OpenOffice define([OO],[swallow(VCLSalFrame) fill: libreoffice --nologo --norestore --view $1 "$file" swallow(VCLSalFrame) fill: ooffice2.0 -nologo -norestore -view $1 "$file" swallow(VCLSalFrame) fill: ooffice -nologo -norestore -view $1 "$file" swallow(VCLSalFrame) fill: soffice -nologo $1 "$file"]) ...
Open ccp files in Kate
As another simple example, if you want to open
cpp files with your favorite text editor (we will use Kate) to get syntax highlighting, just add a new section to your
text/x-c++:cpp:C++ Source File text/x-c++:hpp:C++ Header File repeat noisy swallow(kate) fill: kate -b "$file"
Use mpv instead of MPlayer
To change the default of MPlayer so that mpv is used instead, change the appropriate lines such that:
... ### MPlayer #define(MP_CMD,[mplayer -really-quiet -nojoystick -nofs -zoom -vo xv,x11 -ao esd,alsa,oss,arts,null -osdlevel 0 $1 </dev/null]) define(MP_CMD,[mpv -really-quiet $1 </dev/null]) #define(MP_EMBED,[embed noisy ignore_errors: MP_CMD(-xy $width -wid $window $1)]) define(MP_EMBED,[embed noisy ignore_errors: MP_CMD(--autofit=$width -wid $window $1)]) #define(MP_NOEMBED,[noembed noisy ignore_errors maxaspect swallow(MPlayer): MP_CMD($1)]) define(MP_NOEMBED,[noembed noisy ignore_errors maxaspect swallow(mpv): MP_CMD($1)]) ... #define(MP_AUDIO,[mplayer -quiet -nojoystick $1 </dev/null]) define(MP_AUDIO,[mpv -really-quiet $1 </dev/null]) #define(MP_AUDIO_STREAM,[controls stream noisy ignore_errors: mplayer -quiet -nojoystick $1 "$file" </dev/null]) define(MP_AUDIO_STREAM,[controls stream noisy ignore_errors: mpv -really-quiet $1 "$file" </dev/null]) ...
Firefox: plugins are installed but not working
A common problem is that the plugin path is unset. This typically occurs on a new install, when the user has not re-logged in before running Firefox after the installation. Test if the path is unset:
$ printenv MOZ_PLUGIN_PATH
If unset, then either re-login, or source
/etc/profile.d/mozilla-common.sh and start Firefox from the same shell:
$ source /etc/profile.d/mozilla-common.sh && firefox