Installing the GNU Gnash Flash Player


Original article with screenshots

Installing the GNU Gnash Flash Player
by Chris Bergeron

FireFox Running Gnash

GNU Gnash is GNU's response to closed source Flash media players from Macromedia. The goal of the project is to provide a free and open source flash player for everyone to use that's more reliable than it's closed source counterpart.

RPM's are available currently for the standalone player, but none exist for the plugins. Check PBone or check your distribution's pre-packaged repository if you only want the standalone player.

If you need the mozilla plugins of GNU's Gnash they're unfortunately not included with binary packages. Grab the CVS checkout of Gnash (providing you have CVS installed) with the following commands:

export CVS_RSH="ssh"
cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/sources/gnash co gnash

You'll also need firefox-devel (or mozilla-devel if you're on Mozilla) and all of your GNU compiling tools to be able to compile the plugin. If you're using Mandrake and urpmi is set up with a contrib sources, the firefox bits can be had by the command "urpmi firefox-devel". On other distributions based on RPM check out PBone for devel packages. Debian users can use the apt-get repository here. I leave installing gcc and such as an exercise for the reader.

Gnash
Standalone

Under Mandriva, type "ln -s /usr/bin/mozilla-firefox-config /usr/bin/firefox-config". Mandriva insists on re-naming all the firefox related binaries, jacking up where other programs expect to find them.

Once all of that is installed, go into the gnash directory and execute (in my case) "autogen.sh" which creates configure. Then execute "configure" to build the make file.

You should see "Firefox plugin enabled (default)" towards the end of that mess of configs. If so, you've got the setup right. Now we just need to compile and install.

One part that tripped up my system config was the location of OpenGL libraries. "libGL.so" is installed in /usr/lib on my system and GNU gnash package expects it in /usr/X11R6/lib. Create a symlink with "ln -s /usr/lib/libGL.so /usr/X11R6/lib/libGL.so" if this is a problem. You may have to adjust the directories to match your distribution.

Run "make" in the gnash/ source directory to compile the Gnash software. Once that finishes, run "make install" to install. If the plugins don't go to the right directory, you should be able to copy them out of the plugins subdirectory in gnash/plugin to wherever they should be.
To sum all of that up, under Mandriva:

urpmi firefox-devel
./autogen.sh
./configure
ln -s /usr/lib/libGL.so /usr/X11R6/lib/libGL.so
make
make install

for other distributions install the appropriate devel package for firefox with your binary installer and ignore the symlinks unless needed.
Running Gnu Gnash

Unfortunately, running the GPL flash player is a mixed bag at best. Much of the reason for their reticence in putting out easy to install packages might be the current lack of support in the player.

Under FireFox 1.5 any flash animation that Gnash is capable of playing crashed the browser. Most complex Flash .swf files simply failed to render.

FireFox Failed to Read

The stand alone Gnash player faired somewhat better. While it still couldn't interact with complex files it was able to display Flash advertisements and static content. On dynamic content such as games a single mouseclick on a specific object would work, but no other keystroke or mouseclick would be accepted.
GPL Flash: The Future?

GNU's GPL Flash player looks extremely promising, even in its infancy. The browser crashes might be the result of changes in newer versions of FireFox rather than a lack of capability on Gnash's part. Even if they're not, the bugs should be sorted out as Gnash becomes more mature.

While it still has some hurtles to overcome the Gnash project certainly seems on track to produce a free and stable Flash player. That will be a far cry from the questionable player Macromedia foisted on us.