If you want to live at the bleeding edge then checkout latest ALSA CVS sources, read instructions at http://sourceforge.net/cvs/?group_id=27464
I'd like to be able to use the surround40 with my cs46xx card. Where can
I get the latest Alsa libs?
Maybe just copying the CS46xx.conf file to /usr/share/alsa/cards (or /usr/local/share/alsa/cards depending on your installation) could make surround40 work.
/Benny
# # Configuration for the CS46xx chip # <confdir:pcm/front.conf>
CS46xx.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 0 } <confdir:pcm/rear.conf> CS46xx.pcm.rear.0 { @args [ CARD ] @args.CARD { type string } type hw card $CARD device 1 } <confdir:pcm/surround40.conf> CS46xx.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type multi slaves [ { pcm { @func concat strings [ "cards.CS46xx.pcm.front.0:CARD=" $CARD ] } channels 2 } { pcm { @func concat strings [ "cards.CS46xx.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/iec958.conf> CS46xx.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 2 } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Output Switch" lock true preserve true value 1 } { interface PCM name "IEC958 Playback PCM Stream" device 0 lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } ] } }