Difference between revisions of "Browser plugins"

From ArchWiki
Jump to: navigation, search
m (corrected type, s/Fefora/Fedora/)
(Other plugins: remove totem: the browser plugin was dropped some versions ago)
 
(185 intermediate revisions by 55 users not shown)
Line 1: Line 1:
 +
[[Category:Web browser]]
 
[[de:Browser Plugins]]
 
[[de:Browser Plugins]]
[[es:Browser Plugins]]
+
[[es:Browser plugins]]
 
[[fr:Plugins navigateur]]
 
[[fr:Plugins navigateur]]
 +
[[ja:ブラウザプラグイン]]
 +
[[ru:Browser plugins]]
 
[[tr:Web tarayıcı eklentileri]]
 
[[tr:Web tarayıcı eklentileri]]
[[zh-CN:Browser Plugins]]
+
[[zh-cn:Browser plugins]]
[[Category:Web Browser]]
+
{{Related articles start}}
These plugins work in [[Firefox]], [[Opera]] and WebKit derivatives.
+
{{Related|Opera}}
 +
{{Related|Firefox}}
 +
{{Related|Chromium}}
 +
{{Related articles end}}
  
== Flash Player ==
+
There are two types of browser plugins, based on the plugin API they
 +
use:
 +
*Netscape plugin API (NPAPI): these plugins work in [[Firefox]] and most other browsers ('''not''' in Chromium and Opera).
 +
*Pepper plugin API (PPAPI): these plugins work only in [[Chromium]] (and Chrome) and [[Opera]].
  
=== Gnash ===
+
Most plugins on this page are NPAPI-only, unless noted otherwise.
  
{{Wikipedia|Gnash}}
+
== Flash Player ==
  
[http://www.gnu.org/software/gnash/ GNU 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.
+
=== Adobe Flash Player ===
  
GNU Gnash can be [[Pacman|installed]] with the package {{Pkg|gnash-gtk}}, available in the [[official repositories]].
+
==== Installation ====
  
{{Note|If you find that Gnash doesn't work properly right out of the box, then you may also need to [[pacman|install]] {{Pkg|gstreamer0.10-ffmpeg}} from the [[official repositories]].}}
+
The package you will need to install depends on the browser you use.
  
=== Lightspark ===
+
* The NPAPI version can be [[pacman|installed]] with the {{Pkg|flashplugin}} package. This plugin is currently at version 11.2, but will be updated in the future.[https://blogs.adobe.com/flashplayer/2016/08/beta-news-flash-player-npapi-for-linux.html#sthash.3gR3RhEv.gSTeJKBM.dpbs]
  
[http://lightspark.github.com/ Lightspark] is another attempt to provide a free alternative to Adobe Flash aimed at supporting newer Flash formats. Although it is still very much in development, it supports some [https://github.com/lightspark/lightspark/wiki/Site-Support popular sites].  
+
* The PPAPI version can be [[install]]ed with the {{AUR|pepper-flash}} package. Note that it is already included with Google Chrome.
  
Lightspark can be [[Pacman|installed]] with the package {{AUR|lightspark}} or {{AUR|lightspark-git}}, available in the [[AUR]].
+
{{Note|
 +
* Some Flash apps may require the {{AUR|ttf-ms-fonts}} package in order to properly render text.
 +
* The {{AUR|freshplayerplugin}} package provides an ''experimental'' adapter to use {{AUR|pepper-flash}} with NPAPI based browsers like Firefox. It can be configured (e.g. for enabling HW-acceleration) by copying {{ic|/usr/share/freshplayerplugin/freshwrapper.conf.example}} to {{ic|~/.config/freshwrapper.conf}}.
 +
}}
  
=== Adobe Flash Player ===
+
==== Upgrade ====
  
[[pacman|Install]] {{Pkg|flashplugin}} from the official repositories.
+
If you are using [[Firefox]], please make sure to follow [[Firefox#Firefox detects the wrong version of my plugin|this instruction first]].
{{Note|
+
* Adobe Flash Player for Linux using the NPAPI was [http://blogs.adobe.com/flashplayer/2012/02/adobe-and-google-partnering-for-flash-player-on-linux.html discontinued by Adobe], although security updates for version 11.2 will be provided for another 5 years by Adobe (i.e. 2017). Adobe will, however, release new versions of PPAPI version of the plugin, shipped with Google Chrome. See [[Chromium#Adobe (Pepper plugin API)]] for more information.
+
* The Adobe Flash Player may also require {{AUR|ttf-ms-fonts}} from the [[AUR]] in order to properly render text.
+
* For hardware acceleration on Intel/AMD, you can use {{AUR|libvdpau-va-gl}} — VAAPI backend for VDPAU. For AMD you should also install {{AUR|xvba-video}}
+
}}
+
  
 
==== Configuration ====
 
==== Configuration ====
  
To change the preferences (privacy settings, resource usage, etc.) of Flash Player, right click on any embedded Flash content and choose ''Settings'' from the menu, or go to the [http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager.html Macromedia website]. There, a Flash animation will give you access to your local settings.
+
To change the preferences (privacy settings, resource usage, etc.) of Flash Player, right click on any embedded Flash content (for instance [https://helpx.adobe.com/flash-player.html adobe's flash home]) and choose ''Settings'' from the menu.
  
You can also use the Flash settings file {{ic|/etc/adobe/mms.cfg}}. An example configuration:
+
You can also use the Flash settings file {{ic|/etc/adobe/mms.cfg}}. Gentoo has an extensively commented [http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-plugins/adobe-flash/files/mms.cfg example mms.cfg].
{{hc|/etc/adobe/mms.cfg|<nowiki>
+
# Adobe player settings
+
AVHardwareDisable = 0
+
FullScreenDisable = 0
+
LocalFileReadDisable = 1
+
FileDownloadDisable = 1
+
FileUploadDisable = 1
+
LocalStorageLimit = 1
+
ThirdPartyStorage = 1
+
AssetCacheSize = 10
+
AutoUpdateDisable = 1
+
LegacyDomainMatching = 0
+
LocalFileLegacyAction = 0
+
AllowUserLocalTrust = 0
+
# DisableSockets = 1
+
OverrideGPUValidation = 1
+
</nowiki>}}
+
  
You can also refer to the [http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-plugins/adobe-flash/files/mms.cfg mms.cfg from Gentoo], which is extensively commented.
+
To enable video decoding with [[hardware video acceleration]], add/uncomment the following line:
 +
EnableLinuxHWVideoDecode = 1
 +
It might also be required to add/uncomment the following line:
 +
OverrideGPUValidation = 1
  
==== Disable the "Press ESC to exit full screen mode" message ====
+
==== Multiple monitor full-screen fix ====
  
For a way to disable this message see [http://ubuntuforums.org/showthread.php?t=1839293 this ubuntuforums.org post].
+
When using a multiple monitor setup, or swapping between virtual desktops, it is possible to lose focus on a fullscreen flash window. In such a case, the adobe flash-plugin will automatically exit full-screen mode. This may not be to your liking.
  
Backup {{ic|libflashplayer.so}}:
+
Unfortunately, this behavior is hard coded into the binary. In order to change this behavior it is necessary to alter the binary.
  # cp /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/mozilla/plugins/libflashplayer.so.backup
+
  
Make a copy of it in your home directory:
+
Fixing this issue only works for the NPAPI plugin and this issue can be fixed via 2 ways.
# cp /usr/lib/mozilla/plugins/libflashplayer.so ~/
+
  
Install {{Pkg|wine}} from the official repositories.
+
* Using the {{AUR|flashplugin-focusfix}}.
  
Download {{ic|Flash Fullscreen Patcher.zip}} from [http://forum.videohelp.com/threads/304807-How-to-remove-annoying-Press-Esc-to-message-in-Flash-Video this page], extract and execute with {{ic|wine}}:
+
* [http://www.webupd8.org/2012/10/ubuntu-multi-monitor-tweaks-full-screen.html Patching manually]:
  
$ wget http://forum.videohelp.com/attachments/16250-1360745667/Flash%20Fullscreen%20Patcher.zip
+
:After the package has been installed, backup {{ic|libflashplayer.so}}:
$ unzip Flash\ Fullscreen\ Patcher\ 2.0.zip
+
:{{bc|# cp /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/mozilla/plugins/libflashplayer.so.backup}}
$ wine Flash\ Fullscreen\ Patcher\ 2.0.exe
+
  
Patch {{ic|libflashplayer.so}} (the one from your home directory) using the GUI.
+
:Then, you will need to alter that file using a hex editor like {{Pkg|ghex}}. You must open it with root privileges obviously.
Copy the patched Flash Player back to the plugins directory:
+
:{{bc|# ghex /usr/lib/mozilla/plugins/libflashplayer.so}}
# cp ~/libflashplayer.so /usr/lib/mozilla/plugins/
+
  
==== Fullscreen fix for Flash and Firefox in GNOME 3 ====
+
:Using the hex editor find the string {{ic|_NET_ACTIVE_WINDOW}}. In ghex the readable string is on the right hand side of the window, and the hex is on the left, you are trying to locate the readable string. It should be easy to find using a search function.
  
Install {{Pkg|devilspie}} from the official repositories.
+
:Upon finding {{ic|_NET_ACTIVE_WINDOW}} rewrite the line, but '''do not''' change the length of the line, for example {{ic|_NET_ACTIVE_WINDOW}} becomes {{ic|_XET_ACTIVE_WINDOW}}.
  
Create the {{ic|~/.devilspie}} directory and the relevant config:
+
:Save the binary, and restart any processes using the plugin (as this will crash any instance of the plugin in use.)
  
# mkdir ~/.devilspie
+
==== Playing DRM-protected content ====
# touch ~/.devilspie/flash-fullscreen-firefox.ds
+
  
Then populate that file with this:
+
See [[Flash DRM content]].
  
{{hc|~/.devilspie/flash-fullscreen-firefox.ds|<nowiki>
+
=== Shumway ===
(if
+
(is (application_name) "plugin-container")
+
(begin
+
(focus)
+
)
+
)
+
</nowiki>}}
+
  
Finally, add devilspie to your list of startup items (usually in gnome-session-properties).  
+
[http://mozilla.github.io/shumway/ Shumway] is a [https://github.com/mozilla/shumway/issues/2420 discontinued] HTML5 technology experiment that explores building a faithful and efficient renderer for the SWF file format without native code assistance. The plugin may be installed directly from [http://mozilla.github.io/shumway/ Mozilla's github.io site].
  
For this to work in Chrome / Chromium, {{ic|"plugin-container"}} needs to be replaced by {{ic|"exe"}} in the script above.
+
=== Gnash ===
 +
 
 +
[[Wikipedia:Gnash|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.
 +
 
 +
There is a packages available: {{AUR|gnash-git}}.
 +
 
 +
=== Lightspark ===
 +
 
 +
[http://lightspark.github.com/ 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 [https://github.com/lightspark/lightspark/wiki/Site-Support popular sites].
 +
 
 +
Lightspark can be [[install]]ed with the {{AUR|lightspark-git}} package.
  
 
== PDF viewer ==
 
== PDF viewer ==
Line 109: Line 100:
 
=== PDF.js ===
 
=== PDF.js ===
  
{{Wikipedia|Pdf.js}}
+
[https://github.com/mozilla/pdf.js PDF.js] is a PDF renderer created by Mozilla and built using HTML5 technologies.
 +
 
 +
It is included in [[Firefox]].
  
[https://mozillalabs.com/en-US/pdfjs/ PDF.js] is a PDF renderer created by Mozilla and built using HTML5 technologies. It is currently only available as a Firefox [https://addons.mozilla.org/en-US/firefox/addon/pdfjs/ plugin].
+
For [[Chromium]] and Google Chrome it is available as extension in the [https://chrome.google.com/webstore/detail/pdf-viewer/oemmndcbldboiebfnladdacbdfmadadm Chrome Web Store].
  
 
=== External PDF viewers ===
 
=== External PDF viewers ===
  
To use an external PDF viewer you need [[#MozPlugger]] or [[#kpartsplugin]].
+
To use an external PDF viewer you need [[#MozPlugger]].
  
 
If you want to use MozPlugger with Evince, for example, you have to find the lines containing {{ic|pdf}} in the {{ic|/etc/mozpluggerrc}} file and modify the corresponding line after {{ic|GV()}} as below:
 
If you want to use MozPlugger with Evince, for example, you have to find the lines containing {{ic|pdf}} in the {{ic|/etc/mozpluggerrc}} file and modify the corresponding line after {{ic|GV()}} as below:
Line 121: Line 114:
 
(replace {{ic|evince}} with something else if it is not your viewer of choice).
 
(replace {{ic|evince}} with something else if it is not your viewer of choice).
  
If this isn't enough, you may need to change 2 values in {{ic|about:config}}:
+
If this is not enough, you may need to change 2 values in {{ic|about:config}}:
 
* Change {{ic|pdfjs.disabled}}'s value to ''true'';
 
* Change {{ic|pdfjs.disabled}}'s value to ''true'';
 
* Change {{ic|plugin.disable_full_page_plugin_for_types}}'s value to an empty value.
 
* Change {{ic|plugin.disable_full_page_plugin_for_types}}'s value to an empty value.
Line 127: Line 120:
 
Restart and it should work like a charm!
 
Restart and it should work like a charm!
  
=== Adobe Reader ===
+
== Citrix ==
  
Due to licensing restrictions, Adobe Reader cannot be distributed from any of the official Arch Linux repositories. There are versions available in the [[AUR]]. Please note that no matter how many votes it receives, Adobe Reader will never be included in the [[official repositories]].
+
See [[Citrix]].
  
Also, there are [https://aur.archlinux.org/packages.php?O=0&K=acroread-&do_Search=Go localizations] available in many languages.
+
== Java (IcedTea) ==
  
==== 32-bit ====
+
{{Note|Both Java plugins are NPAPI-only and thus do not work in Chromium and Opera.}}
  
Adobe Acrobat Reader is only available as a 32-bit binary. It can be installed with the {{AUR|acroread}} package, available in the [[AUR]].
+
To enable [[Java]] support in your browser, you have two options: the open-source [[Wikipedia:OpenJDK|OpenJDK]] (recommended) or Oracle's proprietary version. For details about why OpenJDK is recommended see [https://mailman.archlinux.org/pipermail/arch-general/2011-August/021671.html this].
  
This package installs the Acrobat Reader application as well as the Firefox plugin. Note that hardware-assisted rendering is unavailable under Linux (at least using a Geforce 8600GTS with driver version 185.18.14).
+
To use OpenJDK, you have to install the [http://icedtea.classpath.org/wiki/Main_Page IcedTea] browser plugin, {{Pkg|icedtea-web}}.
  
==== 64-bit ====
+
If you want to use Oracle's JRE, install the {{AUR|jre}} package.
  
There is yet to be an official 64-bit version of Adobe Reader.
+
{{Note|If you experience any problems with the Java plugin (e.g. it is not recognized by the browser), you can try this [[#Plugins_are_installed_but_not_working|solution]].}}
  
To use it in a 64-bit environment, you can:
+
== Pipelight ==
* Follow [[Install bundled 32-bit system in Arch64|this guide]] originally posted in the forums. It involves creating a chrooted environment that could be reused for other 32-bit only applications.
+
  
* Install {{AUR|acroread}} (with all its 32-bit dependencies) from [[AUR]]. Be advised that the [[Firefox]] plugin cannot be used ''directly'' with this binary -- it will not load in the 64-bit browser. To load it install the {{Pkg|nspluginwrapper}} package from the official [[Multilib|[multilib]]] repository and run:
+
See [[Pipelight]].
$ nspluginwrapper -v -a -i
+
as a normal user. This checks the plugin directory and links the plugins as needed.
+
  
== Citrix ==
+
== Multimedia playback ==
  
{{Box||See the main article: [[Citrix]]|#E5E5FF|#FCFCFC}}
+
Many browsers support the [[GStreamer]] framework to play multimedia inside HTML5 {{ic|<audio>}} and {{ic|<video>}} elements. Check the optional dependencies of the browser package (or {{Pkg|webkitgtk}}/{{Pkg|webkitgtk2}} if using a webkit-based browser) to see which version of GStreamer is supported: this can be either {{ic|gst-*}} for the current version, or {{ic|gstreamer0.10-*}} for the legacy version. See [[GStreamer#Installation]] for the description of each plugin.
  
== Java (IcedTea) ==
+
=== Other plugins ===
  
To enable [[Java]] support in your browser, you have two options: the open-source [[Wikipedia:OpenJDK|OpenJDK]] (recommended) or Oracle's proprietary version. For details about why OpenJDK is recommended see [https://mailman.archlinux.org/pipermail/arch-general/2011-August/021671.html this].
+
* {{App|Gecko Media Player|Mozilla browser plugin to handle media on websites, using MPlayer.|https://sites.google.com/site/kdekorte2/gecko-mediaplayer|{{Pkg|gecko-mediaplayer}}}}
 +
* {{App|Rosa Media Player Plugin|Qt-based browser plugin also based on MPlayer.|https://abf.rosalinux.ru/uxteam/ROSA_Media_Player|{{AUR|rosa-media-player-plugin}}}}
 +
* {{App|VLC Plugin|NPAPI-based plugin that uses VLC technologies.|https://code.videolan.org/videolan/npapi-vlc|{{Pkg|npapi-vlc}}}}
  
To use OpenJDK, you have to install the [http://icedtea.classpath.org/wiki/Main_Page IcedTea] browser plugin:
+
=== Open-with Firefox extension ===
* {{Pkg|icedtea-web-java7}} for version 7 of the Java environment.
+
  
If you want to use Oracle's JRE, install the {{AUR|jre}} (or {{AUR|jre6}}) package, available in the [[AUR]].
+
# Install [https://addons.mozilla.org/firefox/addon/open-with/ Open-with] add-on.
 +
# Open {{ic|about:openwith}}, select ''Add...''
 +
# In the dialog select a video streaming capable player (e.g. [[mpv|/usr/bin/mpv]]).
 +
# (Optional step) Add needed arguments to the player (e.g. you may want {{ic|--force-window --ytdl}} for ''mpv'')
 +
# (Optional step) Choose how to display the dialogs using the left panel.
 +
# Right click on links or visit pages containing videos. If the site is supported, the player will open as expected.
  
See [[Java#OpenJDK JVM]] for additional details and references.
+
The same procedure can be used to associate video downloaders such as ''youtube-dl''.
 
+
{{Note|If you experience any problems with the Java plugin (it is not recognized by the browser), you can try this [[Flash#Plugins_are_installed_but_not_working|solution]].}}
+
 
+
== Video plugins ==
+
 
+
* {{App|Gecko Media Player|Mozilla browser plugin to handle media on websites, using MPlayer.|https://sites.google.com/site/kdekorte2/gecko-mediaplayer|{{Pkg|gecko-mediaplayer}}}}
+
* {{App|Totem Plugin|Browser plugin based on the [[Wikipedia:Totem (software)|Totem]] media player for [[Gnome]] which uses [[Gstreamer]].|http://projects.gnome.org/totem/|{{Pkg|totem-plugin}}}}
+
* {{App|Rosa Media Player Plugin|Qt-based browser plugin also based on MPlayer.|https://abf.rosalinux.ru/uxteam/ROSA_Media_Player|{{AUR|rosa-media-player-plugin}}}}
+
* {{App|VLC Plugin|NPAPI-based plugin that uses VLC technologies.|http://git.videolan.org/?p&#61;npapi-vlc.git;a&#61;summary|{{AUR|npapi-vlc-git}}}}
+
  
== Other ==
+
== Google Hangouts ==
 +
{{Note|This plugin is not required when using Chromium}}
 +
Hangouts plugin can be installed with the {{AUR|google-talkplugin}} package.
 +
Hangouts is a messenger by Google, that allows you to make video call between 15 people simultaneously. While using "new" version, you can share your screen with others like in Skype, but if you switch to "old" version, it will be possible to do the following things together: watching YouTube, making diagrams, editing documents, playing games and other things.
  
=== MozPlugger ===
+
== MozPlugger ==
  
MozPlugger can be installed with the {{AUR|mozplugger}} package, respectively {{AUR|mozplugger-chromium}}, available in the [[AUR]].
+
MozPlugger can be installed with the {{AUR|mozplugger}} package.
  
 
[http://mozplugger.mozdev.org/ 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 {{ic|/etc/mozpluggerrc}} file.
 
[http://mozplugger.mozdev.org/ 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 {{ic|/etc/mozpluggerrc}} file.
Line 210: Line 200:
 
}}
 
}}
  
For a more complete list of MozPlugger options see [http://www.linuxmanpages.com/man7/mozplugger.7.php this page].
+
To change the default of MPlayer so that [[mpv]] is used instead, change the appropriate lines such that:
 +
{{hc|1=/etc/mozpluggerrc|2=
 +
...
 +
### MPlayer
  
=== kpartsplugin ===
+
#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])
  
[http://www.unix-ag.uni-kl.de/~fischer/kpartsplugin/ The KParts plugin] is a plugin that uses KDE's KPart technology to embed different file viewers in the browser, such as Okular (for PDF), Ark (for different archives), Calligra Words (for ODF), etc. It cannot use applications that are not based on the KPart technology.
+
#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)])
  
The KParts plugin can be installed with the package {{Pkg|kpartsplugin}}, available in the official repositories.
+
#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])
 +
...
 +
}}
 +
 
 +
For a more complete list of MozPlugger options see [http://www.linuxmanpages.com/man7/mozplugger.7.php this page].
  
 
== Troubleshooting ==
 
== Troubleshooting ==
Line 222: Line 230:
 
=== Flash Player: no sound ===
 
=== Flash Player: no sound ===
  
Flash Player outputs its sound only through the default [[Advanced Linux Sound Architecture|ALSA]] device, which is number '''0'''. If you have multiple sound devices (a very common example is having a sound card and HDMI output in the video card), then your preferred device may have a different number.
+
Flash Player outputs its sound only through the default [[ALSA]] device, which is number '''0'''. If you have multiple sound devices (a very common example is having a sound card and HDMI output in the video card), then your preferred device may have a different number.
  
 
For a list of available devices with their respective numbers, run:
 
For a list of available devices with their respective numbers, run:
Line 257: Line 265:
 
  # rmmod snd_pcm_oss
 
  # rmmod snd_pcm_oss
 
and restart the browser to see if it helps.
 
and restart the browser to see if it helps.
 
=== Flash Player: bad (choppy) sound on the 64-bit version ===
 
 
There is a problem with Flash plugin 11 on 64-bit systems and a new {{ic|memcpy}} routine in {{Pkg|glibc}} (for more details see [https://bugzilla.redhat.com/show_bug.cgi?id&#;638477 this Fedora bug report]), which makes the sound choppy on MP3 streams. Current workarounds are:
 
* replacing the {{ic|memcpy}} routine as suggested in [http://forums.fedoraforum.org/showthread.php?t=258346 this thread].
 
* installing {{AUR|flashplugin-square}} from the [[AUR]] (this is a version of the Flash plugin with working hardware acceleration).
 
  
 
=== Flash Player: performance ===
 
=== Flash Player: performance ===
  
Adobe's Flash plugin has some serious performance issues, especially when CPU frequency scaling is used. There seems to be a policy not to use the whole CPU workload, so the frequency scaling governor does not clock the CPU any higher. To work around this issue, see [[cpufrequtils#Changing the ondemand governor's threshold|Cpufrequtils]]
+
Adobe's Flash plugin has some serious performance issues, especially when CPU frequency scaling is used. There seems to be a policy not to use the whole CPU workload, so the frequency scaling governor does not clock the CPU any higher. To work around this issue, see [[CPU frequency scaling#Switching threshold]]
  
 
=== Flash Player: low webcam resolution ===
 
=== Flash Player: low webcam resolution ===
Line 278: Line 280:
  
 
To fix this, you can use the "hack" described [http://al.robotfuzz.com/content/workaround-fullscreen-flash-linux-multiheaded-desktops here]. Simply download the source from the link given on the page, and follow the instructions in the README.
 
To fix this, you can use the "hack" described [http://al.robotfuzz.com/content/workaround-fullscreen-flash-linux-multiheaded-desktops here]. Simply download the source from the link given on the page, and follow the instructions in the README.
 
{{Tip|The hack is available in the [[AUR]] and can be installed with the {{AUR|fullscreenhack}} package.}}
 
  
 
{{Note|While the author mentions using NVDIA's TwinView, the hack should work for any multi-monitor setup.}}
 
{{Note|While the author mentions using NVDIA's TwinView, the hack should work for any multi-monitor setup.}}
 
=== Flash Player: blue tint on videos with NVIDIA ===
 
 
An issue with {{Pkg|flashplugin}} versions 11.2.202.228-1 and 11.2.202.233-1 causes it to send the U/V panes in the incorrect order resulting in a blue tint on certain videos. Version 0.5 of {{Pkg|libvdpau}} includes a workaround to fix this, see the [http://lists.x.org/archives/xorg-announce/2012-September/002066.html official announcement].
 
 
=== Flash Player: leaking overlay with NVIDIA ===
 
 
This bug is due to the incorrect color key being used by the {{Pkg|flashplugin}} version 11.2.202.228-1 (see [http://www.nvnews.net/vbulletin/showpost.php?p=2514210&postcount=102 this post] on the NVIDIA forums) and causes the Flash content to "leak" into other pages or solid black backgrounds. To avoid this issue simply export {{ic|1=VDPAU_NVIDIA_NO_OVERLAY=1}} within either your shell profile (e.g. {{ic|~/.bash_profile}} or {{ic|~/.zprofile}}) or {{ic|~/.xinitrc}}
 
  
 
=== Flash Player: videos not working on older systems ===
 
=== Flash Player: videos not working on older systems ===
Line 296: Line 288:
 
  $ grep sse2 /proc/cpuinfo
 
  $ grep sse2 /proc/cpuinfo
  
If no results are returned, then you need to install an older version of Flash (for example 10.3, or 11.1). Older versions possibly will have vulnerabilities. You should then consider sandboxing Firefox using {{AUR|sandfox}}, available in the [[AUR]]. See the [https://igurublog.wordpress.com/downloads/script-sandfox/ sandfox homepage] for usage information.
+
{{Expansion|sandfox is unmaintained and only uses rudimentary sandboxing; use a modern alternative like [https://github.com/thestinger/playpen playpen] instead. Or even better, circument the issue with external players like [[mpv]]}}
 +
 
 +
If no results are returned, then you need to install an older version of Flash (for example 10.3, or 11.1). Older versions possibly will have vulnerabilities. You should then consider sandboxing Firefox using the {{AUR|sandfox}} package See the [https://igurublog.wordpress.com/downloads/script-sandfox/ sandfox homepage] for usage information.
  
 
Older versions of Flash are available here:
 
Older versions of Flash are available here:
http://www.adobe.com/products/flashplayer/distribution3.html
+
https://www.adobe.com/products/flashplayer/distribution3.html
 
You need to copy {{ic|libflashplayer.so}} to the folder {{ic|/usr/lib/mozilla/plugins/}}
 
You need to copy {{ic|libflashplayer.so}} to the folder {{ic|/usr/lib/mozilla/plugins/}}
 
Older {{Pkg|flashplugin}} packages can be downloaded from the [[AUR]] e.g. {{AUR|flashplugin-nosse2}}. Alternatively you can install {{AUR|flashplugin-sse2-nosse2}} which can be used on CPUs with and without SSE2.
 
  
 
The most recent package without SSE2 is {{ic|flashplugin-11.1.102.63-1-i686.pkg.tar.xz}}. If you use the packaged version, you have to add {{ic|IgnorePkg &#61; flashplugin}} to {{ic|/etc/pacman.conf}}.
 
The most recent package without SSE2 is {{ic|flashplugin-11.1.102.63-1-i686.pkg.tar.xz}}. If you use the packaged version, you have to add {{ic|IgnorePkg &#61; flashplugin}} to {{ic|/etc/pacman.conf}}.
 +
 +
=== Flash Player: plugin version still shown older version after upgrade ===
 +
 +
==== Firefox ====
 +
 +
Solution for Firefox: delete file "pluginreg.dat" in user's profile directory.
 +
 +
* Close firefox
 +
* Go to {{ic|/home/''<username>''/.mozilla/firefox/''<profile_folder>''/}}
 +
* Delete file "pluginreg.dat"
 +
 +
Firefox will automatically rebuild this file once it is started again. Make sure to substitute ''<username>'' and ''<profile_folder>'' with the appropriate information.
  
 
=== Plugins are installed but not working ===
 
=== 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:
 
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:
  echo $MOZ_PLUGIN_PATH
+
  $ printenv MOZ_PLUGIN_PATH
 
If unset, then either re-login, or source {{ic|/etc/profile.d/mozilla-common.sh}} and start Firefox from the same shell:
 
If unset, then either re-login, or source {{ic|/etc/profile.d/mozilla-common.sh}} and start Firefox from the same shell:
  source /etc/profile.d/mozilla-common.sh && firefox
+
  $ source /etc/profile.d/mozilla-common.sh && firefox
  
 
=== Gecko Media Player will not play Apple trailers ===
 
=== Gecko Media Player will not play Apple trailers ===

Latest revision as of 17:31, 5 November 2016

Related articles

There are two types of browser plugins, based on the plugin API they use:

  • Netscape plugin API (NPAPI): these plugins work in Firefox and most other browsers (not in Chromium and Opera).
  • Pepper plugin API (PPAPI): these plugins work only in Chromium (and Chrome) and Opera.

Most plugins on this page are NPAPI-only, unless noted otherwise.

Flash Player

Adobe Flash Player

Installation

The package you will need to install depends on the browser you use.

  • The NPAPI version can be installed with the flashplugin package. This plugin is currently at version 11.2, but will be updated in the future.[1]
  • The PPAPI version can be installed with the pepper-flashAUR package. Note that it is already included with Google Chrome.
Note:
  • Some Flash apps may require the ttf-ms-fontsAUR package in order to properly render text.
  • The freshplayerpluginAUR package provides an experimental adapter to use pepper-flashAUR with NPAPI based browsers like Firefox. It can be configured (e.g. for enabling HW-acceleration) by copying /usr/share/freshplayerplugin/freshwrapper.conf.example to ~/.config/freshwrapper.conf.

Upgrade

If you are using Firefox, please make sure to follow this instruction first.

Configuration

To change the preferences (privacy settings, resource usage, etc.) of Flash Player, right click on any embedded Flash content (for instance adobe's flash home) and choose Settings from the menu.

You can also use the Flash settings file /etc/adobe/mms.cfg. Gentoo has an extensively commented example mms.cfg.

To enable video decoding with hardware video acceleration, add/uncomment the following line:

EnableLinuxHWVideoDecode = 1

It might also be required to add/uncomment the following line:

OverrideGPUValidation = 1

Multiple monitor full-screen fix

When using a multiple monitor setup, or swapping between virtual desktops, it is possible to lose focus on a fullscreen flash window. In such a case, the adobe flash-plugin will automatically exit full-screen mode. This may not be to your liking.

Unfortunately, this behavior is hard coded into the binary. In order to change this behavior it is necessary to alter the binary.

Fixing this issue only works for the NPAPI plugin and this issue can be fixed via 2 ways.

After the package has been installed, backup libflashplayer.so:
# cp /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/mozilla/plugins/libflashplayer.so.backup
Then, you will need to alter that file using a hex editor like ghex. You must open it with root privileges obviously.
# ghex /usr/lib/mozilla/plugins/libflashplayer.so
Using the hex editor find the string _NET_ACTIVE_WINDOW. In ghex the readable string is on the right hand side of the window, and the hex is on the left, you are trying to locate the readable string. It should be easy to find using a search function.
Upon finding _NET_ACTIVE_WINDOW rewrite the line, but do not change the length of the line, for example _NET_ACTIVE_WINDOW becomes _XET_ACTIVE_WINDOW.
Save the binary, and restart any processes using the plugin (as this will crash any instance of the plugin in use.)

Playing DRM-protected content

See Flash DRM content.

Shumway

Shumway is a discontinued HTML5 technology experiment that explores building a faithful and efficient renderer for the SWF file format without native code assistance. The plugin may be installed directly from Mozilla's github.io site.

Gnash

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.

There is a packages available: gnash-gitAUR.

Lightspark

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 lightspark-gitAUR package.

PDF viewer

PDF.js

PDF.js is a PDF renderer created by Mozilla and built using HTML5 technologies.

It is included in Firefox.

For Chromium and Google Chrome it is available as extension in the Chrome Web Store.

External PDF viewers

To use an external PDF viewer you need #MozPlugger.

If you want to use MozPlugger with Evince, for example, you have to find the lines containing pdf in the /etc/mozpluggerrc file and modify the corresponding line after GV() as below:

repeat noisy swallow(evince) fill: evince "$file"

(replace evince with something else if it is not your viewer of choice).

If this is not enough, you may need to change 2 values in about:config:

  • Change pdfjs.disabled's value to true;
  • Change plugin.disable_full_page_plugin_for_types's value to an empty value.

Restart and it should work like a charm!

Citrix

See Citrix.

Java (IcedTea)

Note: Both Java plugins are NPAPI-only and thus do not work in Chromium and Opera.

To enable Java support in your browser, you have two options: the open-source OpenJDK (recommended) or Oracle's proprietary version. For details about why OpenJDK is recommended see this.

To use OpenJDK, you have to install the IcedTea browser plugin, icedtea-web.

If you want to use Oracle's JRE, install the jreAUR package.

Note: If you experience any problems with the Java plugin (e.g. it is not recognized by the browser), you can try this solution.

Pipelight

See Pipelight.

Multimedia playback

Many browsers support the GStreamer framework to play multimedia inside HTML5 <audio> and <video> elements. Check the optional dependencies of the browser package (or webkitgtk/webkitgtk2 if using a webkit-based browser) to see which version of GStreamer is supported: this can be either gst-* for the current version, or gstreamer0.10-* for the legacy version. See GStreamer#Installation for the description of each plugin.

Other plugins

  • Gecko Media Player — Mozilla browser plugin to handle media on websites, using MPlayer.
https://sites.google.com/site/kdekorte2/gecko-mediaplayer || gecko-mediaplayer
  • Rosa Media Player Plugin — Qt-based browser plugin also based on MPlayer.
https://abf.rosalinux.ru/uxteam/ROSA_Media_Player || rosa-media-player-pluginAUR
  • VLC Plugin — NPAPI-based plugin that uses VLC technologies.
https://code.videolan.org/videolan/npapi-vlc || npapi-vlc

Open-with Firefox extension

  1. Install Open-with add-on.
  2. Open about:openwith, select Add...
  3. In the dialog select a video streaming capable player (e.g. /usr/bin/mpv).
  4. (Optional step) Add needed arguments to the player (e.g. you may want --force-window --ytdl for mpv)
  5. (Optional step) Choose how to display the dialogs using the left panel.
  6. Right click on links or visit pages containing videos. If the site is supported, the player will open as expected.

The same procedure can be used to associate video downloaders such as youtube-dl.

Google Hangouts

Note: This plugin is not required when using Chromium

Hangouts plugin can be installed with the google-talkpluginAUR package. Hangouts is a messenger by Google, that allows you to make video call between 15 people simultaneously. While using "new" version, you can share your screen with others like in Skype, but if you switch to "old" version, it will be possible to do the following things together: watching YouTube, making diagrams, editing documents, playing games and other things.

MozPlugger

MozPlugger can be installed with the mozpluggerAUR 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 /etc/mozpluggerrc file.

For example, MozPlugger uses OpenOffice by default to open doc files. To change it to use LibreOffice instead, look for the OpenOffice section:

/etc/mozpluggerrc
...
### 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:

/etc/mozpluggerrc
...
### 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"])
...
Note: Be sure to also choose LibreOffice as your preferred application to open doc files.

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 mozpluggerrc file:

/etc/mozpluggerrc
text/x-c++:cpp:C++ Source File
text/x-c++:hpp:C++ Header File
    repeat noisy swallow(kate) fill: kate -b "$file"

To change the default of MPlayer so that mpv is used instead, change the appropriate lines such that:

/etc/mozpluggerrc
...
### 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])
...

For a more complete list of MozPlugger options see this page.

Troubleshooting

Flash Player: no sound

Flash Player outputs its sound only through the default ALSA device, which is number 0. If you have multiple sound devices (a very common example is having a sound card and HDMI output in the video card), then your preferred device may have a different number.

For a list of available devices with their respective numbers, run:

$ aplay -l
 **** List of PLAYBACK Hardware Devices ****
 card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
 card 1: DX [Xonar DX], device 0: Multichannel [Multichannel]
   Subdevices: 0/1
   Subdevice #0: subdevice #0
 card 1: DX [Xonar DX], device 1: Digital [Digital]
   Subdevices: 1/1
   Subdevice #0: subdevice #0

In this case, the HDMI output is card 0 and the sound card is card 1. To make your sound card the default for ALSA, create the file .asoundrc in your home directory, with the following content:

~/.asoundrc
pcm.!default {
    type hw
    card 1
}
 
ctl.!default {
    type hw
    card 1
}

Flash Player: blocking sound for other applications or delayed playback

If sound is delayed within Flash videos or Flash stops sound from any other application, then make sure you do not have snd_pcm_oss module loaded:

$ lsmod | grep snd_pcm_oss

You can unload it:

# rmmod snd_pcm_oss

and restart the browser to see if it helps.

Flash Player: performance

Adobe's Flash plugin has some serious performance issues, especially when CPU frequency scaling is used. There seems to be a policy not to use the whole CPU workload, so the frequency scaling governor does not clock the CPU any higher. To work around this issue, see CPU frequency scaling#Switching threshold

Flash Player: low webcam resolution

If your webcam has low resolution in Flash (the image looks very pixelated) you can try starting your browser with this:

$ LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so [broswer]

Flash Player: black bars in full screen playback on multi-headed setups

The Flash plugin has a known bug where the full screen mode does not really work when you have a multi-monitor setup. Apparently, it incorrectly determines the full screen resolution, so the full screen Flash Player fills the correct monitor but gets scaled as if the monitor had the resolution of the total display area.

To fix this, you can use the "hack" described here. Simply download the source from the link given on the page, and follow the instructions in the README.

Note: While the author mentions using NVDIA's TwinView, the hack should work for any multi-monitor setup.

Flash Player: videos not working on older systems

If you have Adobe Flash installed on an older system and you start playing a video which simply turns black with nothing happening, it is most likely that your CPU does not support SSE2. You can simply check this by looking at your CPU flags with this command:

$ grep sse2 /proc/cpuinfo

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: sandfox is unmaintained and only uses rudimentary sandboxing; use a modern alternative like playpen instead. Or even better, circument the issue with external players like mpv (Discuss in Talk:Browser plugins#)

If no results are returned, then you need to install an older version of Flash (for example 10.3, or 11.1). Older versions possibly will have vulnerabilities. You should then consider sandboxing Firefox using the sandfoxAUR package See the sandfox homepage for usage information.

Older versions of Flash are available here: https://www.adobe.com/products/flashplayer/distribution3.html You need to copy libflashplayer.so to the folder /usr/lib/mozilla/plugins/

The most recent package without SSE2 is flashplugin-11.1.102.63-1-i686.pkg.tar.xz. If you use the packaged version, you have to add IgnorePkg = flashplugin to /etc/pacman.conf.

Flash Player: plugin version still shown older version after upgrade

Firefox

Solution for Firefox: delete file "pluginreg.dat" in user's profile directory.

  • Close firefox
  • Go to /home/<username>/.mozilla/firefox/<profile_folder>/
  • Delete file "pluginreg.dat"

Firefox will automatically rebuild this file once it is started again. Make sure to substitute <username> and <profile_folder> with the appropriate information.

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

Gecko Media Player will not play Apple trailers

If Apple Trailers appear to start to play and then fail, try setting the user agent for your browser to:

QuickTime/7.6.2 (qtver=7.6.2;os=Windows NT 5.1Service Pack 3)