Some notes on computer stuff code tags rss about

rexima: couldn't open mixer device

July 6, 2014
[issue] [gnu/linux] [slackware]

After installing Slackware 14.1 on a new machine, I got unexpected output when tried to run rexima interactive mixer (by the way, it's in extra section of Slackware packages, so search might silently skip it, just do slackpkg install rexima to install it). The output was:

$ rexima
rexima: couldn't open mixer device.

Examining with strace gave such results:

$ strace -e trace=open rexima
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib64/libncurses.so.5", O_RDONLY|O_CLOEXEC) = 3
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/dev/mixer", O_RDWR)              = -1 ENOENT (No such file or directory)
rexima: couldn't open mixer device.
+++ exited with 1 +++

And:

$ ls /dev/mixer
/bin/ls: cannot access /dev/mixer: No such file or directory

No wonder it couldn't open mixer device...

Searching for possible solution revealed this forum post (excerpt):

/dev/mixer and /dev/dsp are legacies from the OSS days, as I understand it..
You'll only be able to use them if you've got those emulation modules
loaded and working.

Don't know enough about sound subsystem, but those modules were definitely absent on my machine:

# lsmod | grep oss

So I installed snd_mixer_oss (got its name from that forum post):

# modprobe snd_mixer_oss
# ls /dev/mixer
/dev/mixer

Running rexima works well now. Well, until reboot. For persistance I created /etc/modprobe.d/sound-oss.conf file:

$ cat /etc/modprobe.d/sound-oss.conf
# enable /dev/mixer device to be able to use rexima
install snd_mixer_oss