DiamondX XEmbed Example Plugin

Updated: April 16, 2007


DiamondX is a simple NPAPI plugin built to run on Unix platforms and exercise the XEmbed browser extension. If your browser can run the DiamondX browser plugin then it ought to be able to run the upgraded, XEmbed-supporting future version of Adobe Flash Player for Unix (on particular platforms and CPU architectures).



diamondx-0.1.tar.bz2 (260 KB)



  tar jxvf diamondx-0.1.tar.bz2
  cd diamondx-0.1

Configure and build:


At this point, the customary step is to perform 'make install'. However, that will not do anything useful for this plugin. Execute:

  make install-plugin

This will install the plugin into ~/.mozilla/plugins which is one of the standard destinations for browser plugins in a Unix environment.


In Mozilla/Firefox browsers, check the "about:plugins" page. The DiamondX plugin should be registered.

DiamondX Plugin Info

The same applies for other NPAPI-compatible Unix browsers, using whatever facilities that register the existence of plugins. If the plugin fails to register, if may be necessary to ask the browser to re-register the plugins. If this still doesn't work, run the 'ld' command against the plugin binary to make sure there are no missing symbols:

  $ ld ~/.mozilla/plugins/libdiamondx.so
  ld: warning: cannot find entry symbol _start; not setting start address

The warning about the missing _start symbol is normal. Any other warnings may indicate a problem.

To test the actual plugin functionality, load the file "test/index.htm" from the main source distribution directory. This should show a page with a 400x300 DiamondX plugin against a non-white background:

DiamondX plugin in 
In order to best test the plugin, run the browser from the command line. The DiamondX plugin prints a lot of information to the standard output, particularly concerning which events it is receiving. These are items to verify:

Future Development

NPAPI plugins on Unix do not have a well-defined method for supporting windowless plugins (a.k.a. wmode) that are popular in the world of Flash (and not just for advertisements). This plugin will hopefully serve as a testbench for wmode support in various browsers. There is already some code in place for supporting wmode but it needs more browser buy-in. The reason that the plugin is plotted against a non-white background is that it should eventually be a transparent windowless plugin where the background takes over the white portions of the plugin. That's the goal.


For feedback regarding this plugin, and only this plugin, send email to diamondx at multimedia.cx.