The sorry state of Flash with 64-bit Debian
Vincent Bernat
Even with the availability <video>
tag in HTML5, most websites still
require the use of Adobe Flash plugin to access some content. If you
run a 64-bit (Intel architecture) version of Debian, you can still get
this plugin through the flashplugin-nonfree
package. Unfortunately,
Adobe never committed to a decent support for the 64-bit version of its
plugin. The first 64-bit version was provided as late as the fall
of 2008. The support was discontinued. Then, we recently got a new
preview release but it is still lagging behind the 32-bit version.
The 64-bit plugin has two major drawbacks:
- it is not up-to-date and plagued by several security holes that are not planned to be corrected for the 64-bit version;
- it exhibits some bugs of its own, like some
sound artifacts that come from the use of
memcpy()
in place ofmemmove()
and only happen with recent GNU libc—wherememcpy()
has been optimized and is no longer equivalent tomemmove()
. Adobe has no plan to fix this. There are several ways documented in the bug report to circumvent this bug.
Even if you fix the second point, you have no way to fix the first one. What are the alternatives?
Update (2011-07)
Adobe released, on July 13, version 11 of its Flash Player. Whether or not this version will be maintained is a complete mystery. However, it supports Linux 64-bit.
Lightspark#
Lightspark is a modern, free, open-source Flash player implementation featuring JIT compilation (with the help of LLVM) and hardware acceleration using OpenGL. It only supports ActionScript 3 (introduced in Flash 9) but it now fallbacks to Gnash if an older version is required.
The main problem of Lightspark is that it is optimized for modern hardware and uses OpenGL textures to display video frames. This allows you to achieve video compositing with the help of the graphic card. Unfortunately, if you use a video card with poor OpenGL performance, like a NVIDIA card with Nouveau driver, Lightspark is slow as hell. It works well with an Intel card.
Currently, Lightspark is only available in experimental for
Debian. Install browser-plugin-lightspark
.
Gnash#
Gnash is a more mature project but does not support ActionScript 3. Youtube works well with Gnash, as well as most other applications unless they use too recent features. If your use of Flash is limited, it is a nice alternative. Unfortunately, more and more content are delivered with an application requiring ActionScript 3 support.
On Debian, you can get started by installing browser-plugin-gnash
.
32-bit Flash plugin on Debian#
Ubuntu provides Flash as a 32-bit plugin with the help of
nspluginwrapper
which is a special plugin that will enable the use
of a 32-bit plugin inside a 64-bit browser. This seems a sensible
choice since Adobe only really supports the 32-bit version. You can
also use nspluginwrapper
with Debian. You need to download 32-bit
version of Flash (not available anymore), uncompress it and put
libflashplayer.so
in ~/.mozilla/plugins
.
# aptitude purge flashplugin-nonfree # aptitude install nspluginwrapper lib32asound2-plugins $ cd ~/.mozilla/plugins $ nspluginwrapper -i $PWD/libflashplayer.so
Beware that you need to watch for updates yourself. Mozilla provides a website checking if plugins are up-to-date. It works with other browsers than Firefox.
This is a pity to still need this kind of hack in 2011 but it seems that this is currently the best solution.
Update (2011-06)
In a comment, Paul Rufous tells
debian-multimedia.org repository
provides flashplayer-mozilla
package which is the 32-bit plugin with
nspluginwrapper
.
HTML5#
Thanks to the <video>
tag available in HTML5, most videos should be
available without the need of a special plugin. Unfortunately, HTML5
does not define a list of video codecs and container formats that
should be supported by any browser. Therefore, some browsers support
Ogg Theora, some others H264 and some of them also support WebM, the
new royalty-free format from Google. You can find a
good summary of the problem from Mark Pilgrim.
With Chromium as found in Debian, you have Ogg Theora, WebM and H264. Youtube has an opt-in program to enable HTML5 video but most other video content are just unavailable without Flash. Web without Flash is not a reality yet.
Grab video with helper tools#
Update (2011-06)
Josh Triplett
pointed in a comment the existence of several command line tools that
could be used to download Flash video from popular websites. These
tools include: youtube-dl
, get-flash-videos
and clive
. They can
be useful even if you have installed a Flash plugin since they allow
the use of the video player of your choice (better performance,
working fullscreen mode).
Update (2011-06)
Another solution provided in a comment: Video DownloadHelper extension allows one to extract videos from the current web page.