sessiond provides a way to have some system wide device name (ie /dev/dsp) points on different devices, depending on environnment variable (ie DISPLAY) It is a simple filesystem for fuse. You need to have the fuse library and kernel module installed (see http://freshmeat.net/redir/fuse/54432/url_homepage/fuse.sourceforge.net). Provided files are ready for Fedora core 3. By default, process using display :0 will use dsp1,mixer1, ... and display :1 will use dsp0,mixer0 (weird ? it's my setup ...) For other distribution, you need to : * make & copy sessiond from the src directory in /usr/local/sessiond/ * In /dev, you must create symbolic links to /var/sessions/currents/current/[dsp|adsp|...] Make sure that udev will not create /dev/dsp by itself, or erase it at next boot. (see provided /etc/udev/... for hints) * In /var/sessions/currents/:0 and /var/sessions/currents/:1, you must create the session specific symbolic link (ie /var/sessions/currents/:0/dsp will link to /dev/dsp0, ...) * have sessiond.d run at boot time (it is a sysinit script). You can adjust it to create new sessions (other than :0 & :1) Then, /dev/dsp will link to /dev/dsp0 or /dev/dsp1, depending on the DISPLAY environnment variable of the caller process. Contact: pludov@nnx.com