Flash7 with native FreeBSD browsers

Finally the linux-flash7 plugin works with native firefox. If it's not working for you this may help.


With the nspluginwrapper port this
may be more usefull. The if you still have problems you may try the tips below.

Step By Step HOWTO

  1. Use cvsup or portsnap to update your ports tree
  2. install www/linuxpluginwrapper
  3. copy libflashplayer.so and flashplayer.xpt from distfiles/flashplugin/7.0r68/installflashplayer7linux.tar.gz to /usr/local/lib/browser_plugins
  4. Fireup firefox or opera and test

If in the future the dependency on the linux emulation layer is removed from linux-flash7 port it will be ok to install the port as you would normally do, but until then i prefer to manually unpack the two files instead of installing the hole linux-base port(s) witch is not needed anyway for the plugin to work.

If it works congratulations, if firefox crashes and opera displays just an empty box ... read on.

Fixing Plugin Crash

Here there are two things to try. (the first one is recommended)

  1. edit /etc/X11/xorg.conf and disable the Composite extension and set the ColorDepth to 24
  2. edit /usr/local/bin/firefox and add export XLIB_SKIP_ARGB_VISUALS=1 in the beginning of the file

I've noticed that opera still has some trouble working with the plugin and as a fix I've done a small change to the linuxpluginwrapper port. In compat_linux/linux_ioctl.c I've changed the default switch branch from:

1 default:
2     errno = ENOSYS;
3     ret   = -1;
4     dprintf("ioctl(fd=%d, request=%08X(on Linux), ...) = %d / ERRNO = %d", d, l_request, ret, errno);
5     break;


1 default:
2      ret= _ioctl(d,l_request,va_arg(ap,int*)); 
3      break;

After this change the plugin works fine but sometimes you need to reload the page for opera to display the flash content.


Information on fixing the crash was gathered from:

To be continued

Now that I've learned this i really have a good feeling about linux-flash9 and native browsers. I haven't tested yet but i guess the fix for the crashes works also for linux-flash9 with linu-firefox and linux-opera.