# Dmix

## null_

Tag wohl liebes Forum und einen guten Rutsch!

Ich habe auch im neuen Jahr immer noch Probleme mit meinem Sound:

```
0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)

        Subsystem: Dell: Unknown device 0191

        Flags: bus master, medium devsel, latency 0, IRQ 7

        I/O ports at b800

        I/O ports at bc40 [size=64]

        Memory at f4fff800 (32-bit, non-prefetchable) [size=512]

        Memory at f4fff400 (32-bit, non-prefetchable) [size=256]

        Capabilities: [50] Power Management version 2
```

Der Sound funktioniert zwar, aber ich kann nicht mehrere Streams gleichzeitig durch die Karte schicken, was wohl definitiv am fehlenden Hardwaremixing liegt.

Das ganze soll sich ja mit dmix bewerkstelligen lassen. Ich dachte eigentlich das sei nicht so ein grosses Ding, da dieser Soundchip wohl doch etwas weit verbreitet sein dürfte (Centrino Chipsets etc.)

Meine /etc/asound.conf:

```
pcm.ossmix {

    type dmix

    ipc_key 1024

    slave {

        pcm "hw:0,0"

        period_time 0

        period_size 1024

        buffer_size 8192        # buffer size < 6653, but pow(x, 2)

        rate 48000              # we want to play CDs only

    }

    bindings {

        0 0

        1 1

    }

}

# Everything shall be dmixed, so redefine "default":

pcm.!default {

    type plug

    slave.pcm "ossmix"

}

# OSS via aoss should d(mix)stroyed:

pcm.dsp0 {

    type plug

    slave.pcm "ossmix"

}

ctl.mixer0 {

    type hw

    card 0

}
```

Höre ich mit Rhythmbox eine MP3, kann ich kein Skype benutzen usw...

Das _muss_ doch irgendwie gehen, aber ich möchte eigentlich keinen Soundserver benutzen, da es dmix gibt. 

Hat denn niemand eine absolut funktionierende /etc/asound.conf bzw. ~/.asoundrc für diesen Soundchip?

Vielen Dank  :Wink: 

----------

## Neo_0815

Ich habe die Erfahrung gemacht, das dmix mehr schlecht als Recht funktioniert, zumindest habe ich es noch nie zufriedenstellend ( bis gar nicht ) zum Laufen bekommen und schon viel Zeit darin investiert ... hab da seit Monaten einen Thread am Laufen für, auch nochn paar andere Probleme.

Am einfachsten und bequemsten ist es da echt, nimm nen esd, sag dem artsd er soll esd nehmen und dann hast du sogut wie in allen Anwendungen gleichzeitig Sound.

Die wenigen die kein esd/arts beherrschen sind bestimmt rar, für den Alltagsgebrauch ist mir aber nix untergekommen bisher was Probleme macht.

MfG

----------

## genstef

Mit Skype habe ich das auch nciht hinbekommen(vor allem, da skype kein alsaa nutzt), aber mit dem neuen gnomemeeting geht das perfekt. Das neue gnomemeeting ist leider ncoh nicht in portage.

Man braucht auch eine etwas andere /etc/asound.conf, wenn man input und output mixen will, zum Beispiel so eine:

```
pcm.dmixed {

    type dmix

    ipc_key 1024

    slave {

        pcm "hw:0,0"

        period_time 0

        period_size 1024

        buffer_size 16384 # BUffer size doubled to avoid sound stutters

        rate 44100

    }

    bindings {

        0 0

        1 1

    }

}

pcm.dsnooped {

        ipc_key 1027

        type dsnoop

        slave.pcm "hw:0,0"

}

pcm.dmixer {

        type asym

        playback.pcm "dmixed"

        capture.pcm "dsnooped"

}

pcm.dsp0 {

    type plug

    slave.pcm "dmixer"

}

pcm.!default {

        type plug

        slave.pcm "dmixer"

}

pcm.default {

   type plug

   slave.pcm "dmixer"

}

ctl.mixer0 {

    type hw

    card 0

}

```

----------

## zinion

/etc/asound.conf?

Ich dachte ~/asoundrc?

Mein Gott ich hab da ja schon nich durchgeblickt mit dem File aber jetzt wirds noch schlimmer.

Ich würde mir nämlich gerne ne virtuelle Soundkarte haben, die mein USB-Mic statt das der Soundkarte nutzt. Kann mir da mal jemand nen Tipp geben?

----------

## LunX

mal so eine frage waere es auch moeglich wenn ich zwei Soundkarten habe das z.B durch verschiedene .aosundrc Dateien in den Homeverzeichnissen jeder Benutzer eine andere Soundkarte nutzt?

Gruß

Lunx

----------

## genstef

ja, /etc/asound.conf ist die globale Datei für alle benutzer und .asoundrc ist jeweils benutzer-spezifisch also kannst du 2 soundkarten nutzen .. pro benutzer eine, allerdings nur mit der .asoundrc.

----------

## zinion

Und ich kann auch mehrere Devices zu einer Karte zusammenfassen?

Ich habe mir die Doku auf der ALSA-HP angesehen aber die ist recht allgemein. Dann stand da noch was von dsnoop was man für Eingabegeräte nutzen muss. Mich verwirrt das alles etwas.

----------

## genstef

Schau doch mal in meiner config da oben ich nutze dsnoop für mein mikrofon (ein device nur leider)

----------

## zinion

Ah und wenn ich jetzt mein USB-Device nutzen möchte, gebe ich im dsnooop-Abschnit die hw-Adresse des Devices an und dann sollte es klappen? Oder muss da noch etwas geschehen? Und woher weiss ich, was ich bei hw angeben muss für das USB-Mic?

Und wofür sind diese Bindings?

----------

## genstef

pcm.dsnooped {

        ipc_key 1027

        type dsnoop

        slave.pcm "hw:0,0"

} 

Da einfach mal durchtesten das hw. zu ändern .. ich glaube hw:1,0 ist das zweite device, ber ich hab keien 2 Karten, also nicht sicher.

----------

## Neo_0815

Guck einfach im Alsamixer nach - per F2 stehen dort die hwx,x Device Nummern.

MfG

----------

## null_

Mir geht es insbesondere darum Cedega und Rhythmbox gleichzeitig laufen zu lassen können und aber beide Sounds zu hören. Das funktioniert auch mit der neuen Config nicht...

----------

## zinion

Also ich bedanke mich erstmal für die Hinweise und werde heut Abend ne ausführliche Testorgie veranstalten  :Smile: 

----------

## LinuxDoc

Hich habe eine SB live und nach lagem herumpronieren mit der ALSA-dmix geschichte bin ich zu keinem Erfolg gekommen um gleichzeitig wine (CS) und Teamspeak laufen zu lassen.

Ich habe es aber nun letztendlich doch geschafft... indem ich ALSA rausgeworfen habe und das mit OSS realisiert habe , dort habe ich wenigstens einen /dev/dsp0 und /dev/dsp1 und kann glücklich 2 getrennte devices auf einer Karte ansprechen, damit geht auch TeamSpeak und wine - CounterStrike spielen auch problemlos.

Ich habe echt alles probiert, aber mit ALSA gehts einfach nicht.....

----------

