Hi,

I finally got my emu10k1 soundcard working with full 5.1 surround :-)

It took me 2 days, getting alsa to know and sound working properly. I
finally found out that /usr/share/alsa/cards/EMU10K1.conf was b0rked and
modified it so everything now works properly. Things which prevented it
from working properly were:

 - Rear/Center&&LFE Volume Controls in the config file were set to 0 and
locked!..

 - surround51 was statically bound to the non-digital output and locked
(to the analogue output), so there was no way to get surround sound on
my digital-out.

 - other volume controls were locked too, I had a look at Audigy.conf
and reduced the locked controls to the minimum required.


The patch attached for /usr/share/alsa/cards/EMU10K1.conf is actually
very trivial and a cleanup of the old file, it would be cool if you'd
apply the patch to the ALSA config file in CVS, I'm sure it would help a
lot of people which have no rear sound with the emu10k1.


/me now leans back and enjoys alsa and Lord Of The Rings II Extended
Version in _FULL_ Digital Dolby 5.1 :))))

best wishes,
dominik.
-- 
Dominik 'Aeneas' Schnitzer <[EMAIL PROTECTED]>
http://www.schnitzer.at/dominik/ - Update 03/08/31: Birthday Party

PGP Fingerprint: E839 B9EA F518 899D AA35  BB67 0DBF 7AB2 5FE6 525A
PGP Public Key: http://www.schnitzer.at/dominik/public.key
#
# Configuration for the EMU10K1 chip
#

<confdir:pcm/front.conf>

EMU10K1.pcm.front.0 {
        @args [ CARD ]
        @args.CARD {
                type string
        }
        type hw
        card $CARD
        device 0
}

<confdir:pcm/rear.conf>

EMU10K1.pcm.rear.0 {
        @args [ CARD ]
        @args.CARD {
                type string
        }
        type hooks
        slave.pcm {
                type hw
                card $CARD
                device 0
        }
        hooks.0 {
                type ctl_elems
                hook_args [
                        {
                                name "EMU10K1 PCM Send Volume"
                                index { @func private_pcm_subdevice }
                                lock true
                                value [ 0 0 0 0 0 0 255 0 0 0 0 255 ]
                        }
                ]
        }
}       

<confdir:pcm/center_lfe.conf>

EMU10K1.pcm.center_lfe.0 {
        @args [ CARD ]
        @args.CARD {
                type string
        }
        type hooks
        slave.pcm {
                type hw
                card $CARD
                device 0
        }
        hooks.0 {
                type ctl_elems
                hook_args [
                        {
                                name "EMU10K1 PCM Send Volume"
                                index { @func private_pcm_subdevice }
                                lock true
                                value [ 0 0 0 0 255 0 0 0 0 255 0 0 ]
                        }
                        {
                                name "EMU10K1 PCM Send Routing"
                                index { @func private_pcm_subdevice }
                                lock true
                                value [ 0 1 2 3 6 7 0 1 6 7 0 1 ]
                        }
                ]
        }
}       

<confdir:pcm/surround40.conf>

EMU10K1.pcm.surround40.0 {
        @args [ CARD ]
        @args.CARD {
                type string
        }
        type multi
        slaves [
                {
                        pcm {
                                @func concat
                                strings [
                                        "cards.EMU10K1.pcm.front.0:CARD=" $CARD
                                ]
                        }
                        channels 2
                }
                {
                        pcm {
                                @func concat
                                strings [
                                        "cards.EMU10K1.pcm.rear.0:CARD=" $CARD
                                ]
                        }
                        channels 2
                }
        ]
        bindings [
                { slave 0 channel 0 }
                { slave 0 channel 1 }
                { slave 1 channel 0 }
                { slave 1 channel 1 }
        ]
}

<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
<confdir:pcm/surround51.conf>

EMU10K1.pcm.surround51.0 {
        @args [ CARD ]
        @args.CARD {
                type string
        }
        type multi
        slaves [
                {
                        pcm {
                                @func concat
                                strings [
                                        "cards.EMU10K1.pcm.front.0:CARD=" $CARD
                                ]
                        }
                        channels 2
                }
                {
                        pcm {
                                @func concat
                                strings [
                                        "cards.EMU10K1.pcm.rear.0:CARD=" $CARD
                                ]
                        }
                        channels 2
                }
                {
                        pcm {
                                @func concat
                                strings [
                                        "cards.EMU10K1.pcm.center_lfe.0:CARD=" $CARD
                                ]
                        }
                        channels 2
                }
        ]
        bindings [
                { slave 0 channel 0 }
                { slave 0 channel 1 }
                { slave 1 channel 0 }
                { slave 1 channel 1 }
                { slave 2 channel 0 }
                { slave 2 channel 1 }
        ]
}

<confdir:pcm/iec958.conf>

EMU10K1.pcm.iec958.0 {
        @args [ CARD AES0 AES1 AES2 AES3 ]
        @args.CARD {
                type string
        }
        @args.AES0 {
                type integer
        }
        @args.AES1 {
                type integer
        }
        @args.AES2 {
                type integer
        }
        @args.AES3 {
                type integer
        }
        type hooks
        slave.pcm {
                type hw
                card $CARD
                device 3
        }
        hooks.0 {
                type ctl_elems
                hook_args [
                        {
                                name "IEC958 Playback Default"
                                lock true
                                preserve true
                                value [ $AES0 $AES1 $AES2 $AES3 ]
                        }
                        {
                                name "IEC958 Optical Raw Playback Switch"
                                lock true
                                preserve true
                                value [ 1 1 ]
                        }
                        {
                                name "SB Live Analog/Digital Output Jack"
                                lock true
                                preserve true
                                value 1
                        }
                ]
        }
}
--- EMU10K1.conf.orig	2003-12-25 23:57:56.000000000 +0100
+++ EMU10K1.conf	2003-12-27 01:02:00.000000000 +0100
@@ -12,7 +12,7 @@
 	type hw
 	card $CARD
 	device 0
-}	
+}
 
 <confdir:pcm/rear.conf>
 
@@ -31,12 +31,6 @@
 		type ctl_elems
 		hook_args [
 			{
-				name "Wave Surround Playback Volume"
-				preserve true
-				lock true
-				value [ 0 0 ]
-			}
-			{
 				name "EMU10K1 PCM Send Volume"
 				index { @func private_pcm_subdevice }
 				lock true
@@ -63,38 +57,6 @@
 		type ctl_elems
 		hook_args [
 			{
-				name "Wave Center Playback Volume"
-				preserve true
-				lock true
-				value 0
-			}
-			{
-				name "Wave LFE Playback Volume"
-				preserve true
-				lock true
-				value 0
-			}
-			{
-				name "Headphone Center Playback Switch"
-				index 1
-				preserve true
-				lock true
-				value true
-			}
-			{
-				name "Headphone LFE Playback Switch"
-				index 1
-				preserve true
-				lock true
-				value true
-			}
-			{
-				name "SB Live Analog/Digital Output Jack"
-				preserve true
-				lock true
-				value 0
-			}
-			{
 				name "EMU10K1 PCM Send Volume"
 				index { @func private_pcm_subdevice }
 				lock true

Reply via email to