Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I want to run Linux program that require a soundcard, on a server, which has no soundcard. Is it possible to create a dummy soundcard? I am totally unaware of Linux sound system internals. Please point me in right direction.

I have followed this example: http://alsa.opensrc.org/.asoundrc but it didn't work out.

PS: There is similar question: How to create a virtual sound device in Linux?. But this is totally different in the context that the user is creating an alias to already available soundcard.


Edit:
I want a dummy device to be created in /dev/.. so that any application that needs a sound device will find it.
I am completely unware, how alsa works. So I simply followed the example. I created /etc/asound.conf with:

pcm.card0 {
    type hw
    card 0
}
ctl.card0 {
    type hw
    card 0
}

And aplay -L gives me:

null
    Discard all samples (playback) or generate zero samples (capture)
share|improve this question
    
Yes, there is such a thing as "dummy" sound device in Alsa. But you need to elaborate about what exactly "didn't work out" for you. Error message, not detected by the software, etc. Also, does the target "linux program" use ALSA at all? Because if it doesn't, messing with ALSA config files won't give you much. –  haimg Oct 10 '11 at 4:52
    
I want a virtual sound device to be created in /dev/... –  ssapkota Oct 10 '11 at 5:57
    
See the edit for more. –  ssapkota Oct 10 '11 at 6:08
add comment

2 Answers

up vote 7 down vote accepted

You need to load a dummy sound driver. Please see the Alsa Wiki for detailed info, but here are the basics:

  1. Load the driver:

    modprobe snd-dummy ; modprobe snd-pcm-oss ; modprobe snd-mixer-oss ; modprobe snd-seq-oss

  2. Have proper .asoundrc file (you have it covered)

  3. Configure autoloading of the drivers. Add this to /etc/modules.conf:

    # OSS/Free portion - card #1
    alias sound-slot-0 snd-card-0
    alias sound-service-0-0 snd-mixer-oss
    alias sound-service-0-1 snd-seq-oss
    alias sound-service-0-3 snd-pcm-oss
    alias sound-service-0-8 snd-seq-oss
    alias sound-service-0-12 snd-pcm-oss

There are actually quite a few things involved, I suggest you visit the Wiki page above for more detailed explanation.

share|improve this answer
add comment

I too had issues with this when trying to get a Dummy Sound device working on the Raspberry Pi running Raspian (derivative of Debian). The Pi on has an audio output but no input, and I want to use an application that looks for both, even though I only need an output (PJSIP).

However, the info above did not work for me and neither did the WiKi page. After speaking with a user form the ALSA mailing list, they suggested that the info on the WikI page is out of date, however, they gave me pointers as to how to solve this.

Firstly, I only need to load the 'snd-dummy' module using:

sudo modprobe snd-dummy

However, the device does not stay present after a reboot. On the Pi, this module can be loaded via the '/etc/modules' file, editing this file to load the driver produced the desired results:

sudo nano /etc/modules

My /etc/modules file simply looks like this:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

snd-bcm2835
snd-dummy

So, the default driver loads first, then the Dummy driver load second. Job done!

Good Luck

Chris

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.