The following is a suggested procedure for installing XO Wave. This should work on most systems, but you may have to customize it for your own system. Note that XO Wave is not officially supported on FreeBSD. Currently, XO Wave only works on x86 based FreeBSD systems and requires Linux-compatibility tools. For late breaking bug info including possible work-arounds, please see our wiki: http://wiki.xowave.com/. First a few caveats: *) Because of a bug in Java, error dialogs often appear under other windows. If XO Wave seems unresponsive, be sure to check for hidden error messages and dismiss them. *) The Linux and FreeBSD versions of XO Wave are not as actively tested as the Mac OS X version, so you may experience more trouble than Mac OS X users. However, we are eager to fix any bugs that are reported. See our website for more details: http://www.xowave.com/. Installation: Note: To streamline this procedure and use the root account as little as possible, these instructions use the sudo command. If desired, you can of course run these commands as root instead of using sudo. 1) Build a working Java 1.4 environment. Unfortunately, due to Sun's licensing policies, this is not as easy as it should be. Simply building the java/jdk14 port entails a few "error" messages, each of which is actually instructions for a manual procedure; once the manual step is completed, the build process can be resumed. For further information, see http://www.eyesbeyond.com/freebsddom/java/. Alternatively, you might be able to use a binary Java package built for Linux, with FreeBSD's Linux compatibility support. This should work, but is not a tested and supported configuration for XO Wave. a) Install jdk14: $ cd /usr/ports/java/jdk14 && sudo make all install Follow the detailed instructions, which will probably include putting files in /usr/ports/distfiles manually, and may include loading and mounting the Linux proc file system. b) Confirm a java 1.4 executable is in your PATH: $ java -version java version "1.4.2-p6" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-p6-root_19_jul_2004_12_20) Java HotSpot(TM) Client VM (build 1.4.2-p6-root_19_jul_2004_12_20, mixed mode) c) If java isn't found in your system PATH, you can add it with one of the following commands, depending on the shell you use: $ sudo sh -c "echo 'PATH=$PATH:/usr/local/jdk1.4.2/bin' >> /etc/profile" $ sudo sh -c "echo 'export PATH' >> /etc/profile" % sudo sh -c 'echo "setenv PATH $PATH\":/usr/jdk1.4.2/xowave/bin\"" >> /etc/csh.login' Then log out and back in, and confirm that "which java" succeeds. 2) Make sure that XO Wave users have access to the sound devices, by setting appropriate permissions on /dev/audio*. a) $ ls -l /dev/audio* b) To use XO Wave, each user must have read/write access to /dev/audio*. For multi-user systems, you may wish to create a new group "sound" which has read/write access to /dev/audio*, and add XO Wave users to it. For single-user systems, you can may just change ownership of the audio devices to your own account: $ sudo chown mylogin /dev/audio* c) If your system has sound hardware, but the audio* devices are missing, see the FreeBSD Handbook's Multimedia chapter for instructions. http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/sound-setup.html Under FreeBSD 5, "sudo kldload snd_driver" may get you going immediately, but isn't a permanent fix (see the Handbook for suggestions that will last past reboot). Under FreeBSD 4, the equivalent is "sudo kldload snd". 3) Unpack the archive: $ tar xzf xowave-FreeBSD-DATE.tgz 4) cd into the created directory: $ cd xowave-FreeBSD-DATE 5) Run the installer (as root): $ sudo ./install.sh 6) Follow the installer's instructions. 7) Run XO Wave: $ /usr/local/xowave/bin/xowave 8) To make this more convenient, you can add java and xowave to your system's default PATH. First, see if it's necessary: $ which xowave If which shows the path to xowave, you're all set. If not, you can add xowave to the system's default PATH for sh/bash with: $ sudo sh -c "echo 'PATH=$PATH:/usr/local/xowave/bin' >> /etc/profile" $ sudo sh -c "echo 'export PATH' >> /etc/profile" The equivalent for csh/tcsh would be: % sudo sh -c 'echo "setenv PATH $PATH\":/usr/local/xowave/bin\"" >> /etc/csh.login' 9) Note that some graphical environments, such as KDE and GNOME, may take exclusive control of the audio hardware, preventing access by other programs, such as XO Wave. Current versions of these environments are friendlier to external sound software (like XO Wave), however, so these steps may not be necessary. KDE: Current versions of KDE include an option to manage the daemon automatically in Control Center:Sound And Multimedia:Sound System:General -- check the Auto Suspend box. Also check under the hardware tab that Full Duplex is not enabled, or else suspension may not work. GNOME: Current versions of GNOME should automatically use esd's auto-suspend feature, which is invoked with the -as flag. If necessary, you can simply kill your sound daemon before starting XO Wave: $ sudo killall artsd # for KDE users $ sudo killall esd # for GNOME users 10) Drag and Drop requires support from the underlying OS and the desktop environment. Currently, Java on Linux handles D&D with GTK-based software (such as GNOME applications and Nautilus), but not QT-based software (including KDE).