Saturday, April 10, 2010

Buggy Flash in 64-bit Linux Solved!

I was having trouble with flash player in 64-bit Linux, especially with Youtube. What I did to solve this was remove the 32-bit flash plugin that's being used with emulation through nspluginwrapper and install the 64-bit flash player.

First,

Remove any packages installed that provided the file 32-bit libflashplayer.so. You can see where those files are by typing in a terminal:

locate libflashplayer.so

Optional: If you'd like to see which packages have installed a file, take one of the lines from the above command and type:

dpkg -S /location/to/libflashplayer.so

Be sure to replace /location/to/libflashplayer.so with your path to the file. dpkg -S can be used with any file that's been installed by a package and you want to see what package it belongs to.

In Ubuntu to remove these:

sudo apt-get purge flashplugin-*

Second,

Now to check that they are all gone:

sudo updatedb
locate libflashplayer.so

If the libflashplayer.so files are not all gone, use the rm command to remove any that are still there. Otherwise, skip to the next step.

Example:

rm ~/.mozilla/plugins/libflashplayer.so

Third,

Now go to Adobe's website to get the latest 64-bit flash player plugin and place it in the directory Firefox looks for plugins. The link for download is near the bottom of the page.

http://labs.adobe.com/downloads/flashplayer10_64bit.html

Create a directory to put the plugin in.

mkdir -p ~/.mozilla/plugins

Move the file you downloaded to ~/.mozilla/plugins in your user's home directory. If you are using the file browser to do this, hit control + h to see hidden folders (those ones that begin with dots, in this case the .mozilla directory, are hidden folders).

Next, extract libflashplayer.so from the tar.gz file you downloaded.

cd ~/.mozilla/plugins
tar -xf libflashplayer-10*linux-x86_64.so.tar.gz

I am using * (a wildcard) because the version you download when reading this may be newer than at the time of me writing this guide. You can substitute libflashplayer-10*linux-x86_64.so.tar.gz for the full filename. After extracting the file libflashplayer.so, you may delete the .tar.gz file you downloaded.

Fourth,

Test that the it is working. Restart Firefox for it to use the new 64-bit flash plugin. Now you should have a 64-bit libflashplayer.so file in ~/.mozilla/plugins. To verify that it is 64-bit, use the file command.

$ file libflashplayer.so 
libflashplayer.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

In Firefox, open a new tab (control + t) and type in the address bar "about:plugins" without quotes. You should see this.


As well as in Tools->Add-ons->Plugins, you should see this.



If you have all this, great! If not, leave a comment on this blog, and I will help you.

Now navigate to a web page with flash content that was giving you problems/bugs in the past and see if you are still experiencing those problems. For me, I am no longer having issues with Youtube.

Please leave a comment if this or any other blog posts has helped or been useful to you. I don't receive donations. At least a thank you would be nice.

Troubleshooting,

Thanks to OgreArtist and naomi for providing this information.

If you are still experiencing problems, try backing up your bookmarks and passwords. Then rename the ~/.mozilla directory to something such as ~/.mozilla_backup. Be sure to recreate the ~/.mozilla/plugins directory and copy the libflashplayer.so back to it. For backing up passwords, I like to use the Password Exporter Firefox extension. On some systems, you may have additional files to uninstall/remove such as npwrapper.libflashplayer.so. I had not needed to do either, but if you are still experiencing problems, you can try these.