Linux – How to create a dumthe sound card device in Linux server


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: 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.

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:

    Discard all samples (playback) or generate zero samples (capture)

Best Answer

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.

Related Question