For nest-cam v350 release Bug: 259322762
diff --git a/etc/asound.conf b/etc/asound.conf new file mode 100644 index 0000000..34fd695 --- /dev/null +++ b/etc/asound.conf
@@ -0,0 +1,36 @@ +# This PCM is used to test 6 channels via a stereo (2 channels) audio stream. +pcm.ch51dup { + type route + slave.pcm surround51 + slave.channels 6 + + ttable.0.0 1 + ttable.1.1 1 + ttable.0.2 1 + ttable.1.3 1 + ttable.0.4 1 + ttable.1.5 1 +} + +# This PCM is used to test 4 channels via a stereo (2 channels) audio stream. +pcm.ch40dup { + type route + slave.pcm surround40 + slave.channels 4 + + ttable.0.0 1 + ttable.1.1 1 + ttable.0.2 1 + ttable.1.3 1 +} + +# This PCM is used to swap a stereo (2 channels) audio stream +pcm.ch2swp { + type route + slave.pcm "hw:0,0" + slave.channels 2 + + ttable.0.1 1 + ttable.1.0 1 +} +
diff --git a/usr/bin/aserver b/usr/bin/aserver new file mode 100755 index 0000000..6c2e968 --- /dev/null +++ b/usr/bin/aserver Binary files differ
diff --git a/usr/lib/alsa-lib/smixer/smixer-ac97.so b/usr/lib/alsa-lib/smixer/smixer-ac97.so new file mode 100755 index 0000000..83504d0 --- /dev/null +++ b/usr/lib/alsa-lib/smixer/smixer-ac97.so Binary files differ
diff --git a/usr/lib/alsa-lib/smixer/smixer-hda.so b/usr/lib/alsa-lib/smixer/smixer-hda.so new file mode 100755 index 0000000..987624c --- /dev/null +++ b/usr/lib/alsa-lib/smixer/smixer-hda.so Binary files differ
diff --git a/usr/lib/alsa-lib/smixer/smixer-sbase.so b/usr/lib/alsa-lib/smixer/smixer-sbase.so new file mode 100755 index 0000000..ce2ceac --- /dev/null +++ b/usr/lib/alsa-lib/smixer/smixer-sbase.so Binary files differ
diff --git a/usr/lib/libasound.so b/usr/lib/libasound.so new file mode 120000 index 0000000..42dfc99 --- /dev/null +++ b/usr/lib/libasound.so
@@ -0,0 +1 @@ +libasound.so.2.0.0 \ No newline at end of file
diff --git a/usr/lib/libasound.so.2 b/usr/lib/libasound.so.2 new file mode 120000 index 0000000..42dfc99 --- /dev/null +++ b/usr/lib/libasound.so.2
@@ -0,0 +1 @@ +libasound.so.2.0.0 \ No newline at end of file
diff --git a/usr/lib/libasound.so.2.0.0 b/usr/lib/libasound.so.2.0.0 new file mode 100755 index 0000000..a397918 --- /dev/null +++ b/usr/lib/libasound.so.2.0.0 Binary files differ
diff --git a/usr/share/alsa/alsa.conf b/usr/share/alsa/alsa.conf new file mode 100644 index 0000000..bc91df3 --- /dev/null +++ b/usr/share/alsa/alsa.conf
@@ -0,0 +1,618 @@ +# +# ALSA library configuration file +# + +# pre-load the configuration files + +@hooks [ + { + func load + files [ + { + @func concat + strings [ + { @func datadir } + "/alsa.conf.d/" + ] + } + "/etc/asound.conf" + "~/.asoundrc" + ] + errors false + } +] + +# load card-specific configuration files (on request) + +cards.@hooks [ + { + func load + files [ + { + @func concat + strings [ + { @func datadir } + "/cards/aliases.conf" + ] + } + ] + } + { + func load_for_all_cards + files [ + { + @func concat + strings [ + { @func datadir } + "/cards/" + { @func private_string } + ".conf" + ] + } + ] + errors false + } +] + +# +# defaults +# + +# show all name hints also for definitions without hint {} section +defaults.namehint.showall off +# show just basic name hints +defaults.namehint.basic on +# show extended name hints +defaults.namehint.extended off +# +defaults.ctl.card 0 +defaults.pcm.card 0 +defaults.pcm.device 0 +defaults.pcm.subdevice -1 +defaults.pcm.nonblock 1 +defaults.pcm.compat 0 +defaults.pcm.minperiodtime 5000 # in us +defaults.pcm.ipc_key 5678293 +defaults.pcm.ipc_gid audio +defaults.pcm.ipc_perm 0660 +defaults.pcm.dmix.max_periods 0 +defaults.pcm.dmix.rate 48000 +defaults.pcm.dmix.format "unchanged" +defaults.pcm.dmix.card defaults.pcm.card +defaults.pcm.dmix.device defaults.pcm.device +defaults.pcm.dsnoop.card defaults.pcm.card +defaults.pcm.dsnoop.device defaults.pcm.device +defaults.pcm.front.card defaults.pcm.card +defaults.pcm.front.device defaults.pcm.device +defaults.pcm.rear.card defaults.pcm.card +defaults.pcm.rear.device defaults.pcm.device +defaults.pcm.center_lfe.card defaults.pcm.card +defaults.pcm.center_lfe.device defaults.pcm.device +defaults.pcm.side.card defaults.pcm.card +defaults.pcm.side.device defaults.pcm.device +defaults.pcm.surround40.card defaults.pcm.card +defaults.pcm.surround40.device defaults.pcm.device +defaults.pcm.surround41.card defaults.pcm.card +defaults.pcm.surround41.device defaults.pcm.device +defaults.pcm.surround50.card defaults.pcm.card +defaults.pcm.surround50.device defaults.pcm.device +defaults.pcm.surround51.card defaults.pcm.card +defaults.pcm.surround51.device defaults.pcm.device +defaults.pcm.surround71.card defaults.pcm.card +defaults.pcm.surround71.device defaults.pcm.device +defaults.pcm.iec958.card defaults.pcm.card +defaults.pcm.iec958.device defaults.pcm.device +defaults.pcm.modem.card defaults.pcm.card +defaults.pcm.modem.device defaults.pcm.device +# truncate files via file or tee PCM +defaults.pcm.file_format "raw" +defaults.pcm.file_truncate true +defaults.rawmidi.card 0 +defaults.rawmidi.device 0 +defaults.rawmidi.subdevice -1 +defaults.hwdep.card 0 +defaults.hwdep.device 0 +defaults.timer.class 2 +defaults.timer.sclass 0 +defaults.timer.card 0 +defaults.timer.device 0 +defaults.timer.subdevice 0 + +# +# PCM interface +# + +# redirect to load-on-demand extended pcm definitions +pcm.cards cards.pcm + +pcm.default cards.pcm.default +pcm.sysdefault cards.pcm.default +pcm.front cards.pcm.front +pcm.rear cards.pcm.rear +pcm.center_lfe cards.pcm.center_lfe +pcm.side cards.pcm.side +pcm.surround40 cards.pcm.surround40 +pcm.surround41 cards.pcm.surround41 +pcm.surround50 cards.pcm.surround50 +pcm.surround51 cards.pcm.surround51 +pcm.surround71 cards.pcm.surround71 +pcm.iec958 cards.pcm.iec958 +pcm.spdif iec958 +pcm.hdmi cards.pcm.hdmi +pcm.dmix cards.pcm.dmix +pcm.dsnoop cards.pcm.dsnoop +pcm.modem cards.pcm.modem +pcm.phoneline cards.pcm.phoneline + +pcm.hw { + @args [ CARD DEV SUBDEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_PCM_DEVICE + ] + default { + @func refer + name defaults.pcm.device + } + } + } + @args.SUBDEV { + type integer + default { + @func refer + name defaults.pcm.subdevice + } + } + type hw + card $CARD + device $DEV + subdevice $SUBDEV + hint { + show { + @func refer + name defaults.namehint.extended + } + description "Direct hardware device without any conversions" + } +} + +pcm.plughw { + @args [ CARD DEV SUBDEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_PCM_DEVICE + ] + default { + @func refer + name defaults.pcm.device + } + } + } + @args.SUBDEV { + type integer + default { + @func refer + name defaults.pcm.subdevice + } + } + type plug + slave.pcm { + type hw + card $CARD + device $DEV + subdevice $SUBDEV + } + hint { + show { + @func refer + name defaults.namehint.extended + } + description "Hardware device with all software conversions" + } +} + +pcm.plug { + @args [ SLAVE ] + @args.SLAVE { + type string + } + type plug + slave.pcm $SLAVE +} + +pcm.shm { + @args [ SOCKET PCM ] + @args.SOCKET { + type string + } + @args.PCM { + type string + } + type shm + server $SOCKET + pcm $PCM +} + +pcm.tee { + @args [ SLAVE FILE FORMAT ] + @args.SLAVE { + type string + } + @args.FILE { + type string + } + @args.FORMAT { + type string + default { + @func refer + name defaults.pcm.file_format + } + } + type file + slave.pcm $SLAVE + file $FILE + format $FORMAT + truncate { + @func refer + name defaults.pcm.file_truncate + } +} + +pcm.file { + @args [ FILE FORMAT ] + @args.FILE { + type string + } + @args.FORMAT { + type string + default { + @func refer + name defaults.pcm.file_format + } + } + type file + slave.pcm null + file $FILE + format $FORMAT + truncate { + @func refer + name defaults.pcm.file_truncate + } +} + +pcm.null { + type null + hint { + show { + @func refer + name defaults.namehint.basic + } + description "Discard all samples (playback) or generate zero samples (capture)" + } +} + +# +# Control interface +# + +ctl.sysdefault { + type hw + card { + @func getenv + vars [ + ALSA_CTL_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.ctl.card + } + } +} +ctl.default ctl.sysdefault + +ctl.hw { + @args [ CARD ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_CTL_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.ctl.card + } + } + } + type hw + card $CARD +} + +ctl.shm { + @args [ SOCKET CTL ] + @args.SOCKET { + type string + } + @args.CTL { + type string + } + type shm + server $SOCKET + ctl $CTL +} + +# +# RawMidi interface +# + +rawmidi.default { + type hw + card { + @func getenv + vars [ + ALSA_RAWMIDI_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.rawmidi.card + } + } + device { + @func igetenv + vars [ + ALSA_RAWMIDI_DEVICE + ] + default { + @func refer + name defaults.rawmidi.device + } + } +} + +rawmidi.hw { + @args [ CARD DEV SUBDEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_RAWMIDI_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.rawmidi.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_RAWMIDI_DEVICE + ] + default { + @func refer + name defaults.rawmidi.device + } + } + } + @args.SUBDEV { + type integer + default -1 + } + type hw + card $CARD + device $DEV + subdevice $SUBDEV + hint { + description "Direct rawmidi driver device" + device $DEV + } +} + +rawmidi.virtual { + @args [ MERGE ] + @args.MERGE { + type string + default 1 + } + type virtual + merge $MERGE +} + +# +# Sequencer interface +# + +seq.default { + type hw +} + +seq.hw { + type hw +} + +# +# HwDep interface +# + +hwdep.default { + type hw + card { + @func getenv + vars [ + ALSA_HWDEP_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.hwdep.card + } + } + device { + @func igetenv + vars [ + ALSA_HWDEP_DEVICE + ] + default { + @func refer + name defaults.hwdep.device + } + } +} + +hwdep.hw { + @args [ CARD DEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_HWDEP_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.hwdep.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_HWDEP_DEVICE + ] + default { + @func refer + name defaults.hwdep.device + } + } + } + type hw + card $CARD + device $DEV +} + +# +# Timer interface +# + +timer_query.default { + type hw +} + +timer_query.hw { + type hw +} + +timer.default { + type hw + class { + @func refer + name defaults.timer.class + } + sclass { + @func refer + name defaults.timer.sclass + } + card { + @func refer + name defaults.timer.card + } + device { + @func refer + name defaults.timer.device + } + subdevice { + @func refer + name defaults.timer.subdevice + } + hint.description "Default direct hardware timer device" +} + +timer.hw { + @args [ CLASS SCLASS CARD DEV SUBDEV ] + @args.CLASS { + type integer + default { + @func refer + name defaults.timer.class + } + } + @args.SCLASS { + type integer + default { + @func refer + name defaults.timer.sclass + } + } + @args.CARD { + type string + default { + @func refer + name defaults.timer.card + } + } + @args.DEV { + type integer + default { + @func refer + name defaults.timer.device + } + } + @args.SUBDEV { + type integer + default { + @func refer + name defaults.timer.subdevice + } + } + type hw + class $CLASS + sclass $SCLASS + card $CARD + device $DEV + subdevice $SUBDEV +}
diff --git a/usr/share/alsa/alsa.conf.d/README b/usr/share/alsa/alsa.conf.d/README new file mode 100644 index 0000000..9997884 --- /dev/null +++ b/usr/share/alsa/alsa.conf.d/README
@@ -0,0 +1,2 @@ +You can place files named *.conf in this folder and they will be processed +when initialising alsa-lib.
diff --git a/usr/share/alsa/cards/AACI.conf b/usr/share/alsa/cards/AACI.conf new file mode 100644 index 0000000..748586a --- /dev/null +++ b/usr/share/alsa/cards/AACI.conf
@@ -0,0 +1,47 @@ +# +# ALSA library configuration for ARM AACI Primecell PL-041 +# + +<confdir:pcm/front.conf> + +AACI.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +<confdir:pcm/surround40.conf> + +AACI.pcm.surround40.0 "cards.AACI.pcm.front.0" + +<confdir:pcm/surround51.conf> + +AACI.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.AACI.pcm.front.0:CARD=" $CARD + ] + } + channels 6 + } + ] + bindings [ + { slave 0 channel 0 } + { slave 0 channel 1 } + { slave 0 channel 3 } + { slave 0 channel 4 } + { slave 0 channel 2 } + { slave 0 channel 5 } + ] +}
diff --git a/usr/share/alsa/cards/ATIIXP-MODEM.conf b/usr/share/alsa/cards/ATIIXP-MODEM.conf new file mode 100644 index 0000000..6e52af0 --- /dev/null +++ b/usr/share/alsa/cards/ATIIXP-MODEM.conf
@@ -0,0 +1,22 @@ +# +# Configuration for the ATI IXP 150/200/250 modem controllers +# + +<confdir:pcm/modem.conf> + +ATIIXP-MODEM.pcm.modem.0 { + @args [ CARD ] + @args.CARD { + type string + } + type route + slave.pcm { + type hw + card $CARD + } + slave.channels 2 + slave.format S16_LE + ttable.0.1 1 + ttable.1.0 0 + hint.show off +}
diff --git a/usr/share/alsa/cards/ATIIXP-SPDMA.conf b/usr/share/alsa/cards/ATIIXP-SPDMA.conf new file mode 100644 index 0000000..5c80815 --- /dev/null +++ b/usr/share/alsa/cards/ATIIXP-SPDMA.conf
@@ -0,0 +1,165 @@ +# +# Configuration for the ATI IXP 150/200/250 chips +# + +<confdir:pcm/front.conf> + +ATIIXP-SPDMA.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# default with dmix/dsnoop +ATIIXP.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/surround40.conf> + +ATIIXP-SPDMA.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + channels 4 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Channel Mode" + preserve true + value "4ch" + lock true + optional true + } + # for old drivers + { + name "Line-In As Surround" + preserve true + value true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + ] + } +} + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +ATIIXP-SPDMA.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + channels 6 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Channel Mode" + preserve true + value "6ch" + lock true + optional true + } + # for old drivers + { + name "Line-In As Surround" + preserve true + value true + optional true + } + { + name "Mic As Center/LFE" + preserve true + value true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + { + name "Center/LFE Down Mix" + preserve true + value off + lock true + optional true + } + ] + } +} + +<confdir:pcm/iec958.conf> + +ATIIXP-SPDMA.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 iec958 + slave { + pcm { + type hw + card $CARD + device 1 + } + format IEC958_SUBFRAME_LE + } + status [ $AES0 $AES1 $AES2 $AES3 ] +}
diff --git a/usr/share/alsa/cards/ATIIXP.conf b/usr/share/alsa/cards/ATIIXP.conf new file mode 100644 index 0000000..38d8023 --- /dev/null +++ b/usr/share/alsa/cards/ATIIXP.conf
@@ -0,0 +1,184 @@ +# +# Configuration for the ATI IXP 150/200/250 chips +# + +<confdir:pcm/front.conf> + +ATIIXP.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# default with dmix/dsnoop +ATIIXP.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/surround40.conf> + +ATIIXP.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + channels 4 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Channel Mode" + preserve true + value "4ch" + lock true + optional true + } + # for old drivers + { + name "Line-In As Surround" + preserve true + value true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + ] + } +} + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +ATIIXP.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + channels 6 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Channel Mode" + preserve true + value "6ch" + lock true + optional true + } + # for old drivers + { + name "Line-In As Surround" + preserve true + value true + optional true + } + { + name "Mic As Center/LFE" + preserve true + value true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + { + name "Center/LFE Down Mix" + preserve true + value off + lock true + optional true + } + ] + } +} + +<confdir:pcm/iec958.conf> + +ATIIXP.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 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "IEC958 Playback AC97-SPSA" + lock true + preserve true + value 3 + } + { + name "IEC958 Playback Default" + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + name "IEC958 Playback Switch" + lock true + preserve true + value true + } + ] + } +}
diff --git a/usr/share/alsa/cards/AU8810.conf b/usr/share/alsa/cards/AU8810.conf new file mode 100644 index 0000000..24d46c3 --- /dev/null +++ b/usr/share/alsa/cards/AU8810.conf
@@ -0,0 +1,38 @@ +# +# Configuration for the AU8810 chip +# + +<confdir:pcm/front.conf> + +AU8810.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +<confdir:pcm/iec958.conf> + +AU8810.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 hw + card $CARD + device 1 +}
diff --git a/usr/share/alsa/cards/AU8820.conf b/usr/share/alsa/cards/AU8820.conf new file mode 100644 index 0000000..0789025 --- /dev/null +++ b/usr/share/alsa/cards/AU8820.conf
@@ -0,0 +1,14 @@ +# +# Configuration for the AU8820 chip +# + +<confdir:pcm/front.conf> + +AU8820.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +}
diff --git a/usr/share/alsa/cards/AU8830.conf b/usr/share/alsa/cards/AU8830.conf new file mode 100644 index 0000000..39e66d5 --- /dev/null +++ b/usr/share/alsa/cards/AU8830.conf
@@ -0,0 +1,42 @@ +# +# Configuration for the AU8830 chip +# + +<confdir:pcm/front.conf> + +AU8830.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +<confdir:pcm/surround40.conf> + +AU8830.pcm.surround40.0 "cards.AU8830.pcm.front.0" + +<confdir:pcm/iec958.conf> + +AU8830.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 hw + card $CARD + device 1 +}
diff --git a/usr/share/alsa/cards/Audigy.conf b/usr/share/alsa/cards/Audigy.conf new file mode 100644 index 0000000..ea1e53d --- /dev/null +++ b/usr/share/alsa/cards/Audigy.conf
@@ -0,0 +1,318 @@ +# +# Configuration for the Audigy chip +# + +<confdir:pcm/front.conf> + +Audigy.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] + } + { + interface PCM + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 ] + } + + ] + } +} + +<confdir:pcm/rear.conf> + +Audigy.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 0 0 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 0 0 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 ] + } + ] + } +} + +<confdir:pcm/center_lfe.conf> + +Audigy.pcm.center_lfe.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] + } + { + interface PCM + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 ] + } + ] + } +} + +<confdir:pcm/surround40.conf> +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> + +Audigy.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.Audigy.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Audigy.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/surround51.conf> + +Audigy.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.Audigy.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Audigy.pcm.rear.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Audigy.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> + +Audigy.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 + } + + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback Default" + lock true + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + # for compatibility with older drivers + name "IEC958 Playback Default" + lock true + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + name "IEC958 Optical Raw Playback Switch" + lock true + preserve true + value [ 1 1 ] + } + { + interface PCM + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] + } + { + interface PCM + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 ] + } + { + name "Audigy Analog/Digital Output Jack" + lock true + preserve true + value 1 + } + ] + } +}
diff --git a/usr/share/alsa/cards/Audigy2.conf b/usr/share/alsa/cards/Audigy2.conf new file mode 100644 index 0000000..0290f6f --- /dev/null +++ b/usr/share/alsa/cards/Audigy2.conf
@@ -0,0 +1,425 @@ +# +# Configuration for the Audigy2 chip +# + +<confdir:pcm/front.conf> + +Audigy2.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] + } + { + interface PCM + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 ] + } + + ] + } +} + +<confdir:pcm/rear.conf> + +Audigy2.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 0 0 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 0 0 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 ] + } + ] + } +} + +<confdir:pcm/center_lfe.conf> + +Audigy2.pcm.center_lfe.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] + } + { + interface PCM + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 ] + } + ] + } +} + +<confdir:pcm/side.conf> + +Audigy2.pcm.side.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] + } + { + interface PCM + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 14 15 0 0 0 0 0 0 14 15 0 0 0 0 0 0 14 15 0 0 0 0 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 14 15 0 0 0 0 0 0 14 15 0 0 0 0 0 0 14 15 0 0 0 0 0 0 ] + } + ] + } +} + +<confdir:pcm/surround40.conf> +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> + +Audigy2.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.Audigy2.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Audigy2.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/surround51.conf> + +Audigy2.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.Audigy2.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Audigy2.pcm.rear.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Audigy2.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/surround71.conf> + +Audigy2.pcm.surround71.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.Audigy2.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Audigy2.pcm.rear.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Audigy2.pcm.center_lfe.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Audigy2.pcm.side.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 } + { slave 3 channel 0 } + { slave 3 channel 1 } + ] +} + +<confdir:pcm/iec958.conf> + +Audigy2.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 + } + + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback Default" + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + # for compatibility with older drivers + name "IEC958 Playback Default" + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + name "IEC958 Optical Raw Playback Switch" + lock true + preserve true + value [ 1 1 ] + } + { + interface PCM + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ] + } + { + interface PCM + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + lock true + optional true + value [ 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 ] + } + { + name "Audigy Analog/Digital Output Jack" + lock true + preserve true + value 1 + } + ] + } +}
diff --git a/usr/share/alsa/cards/Aureon51.conf b/usr/share/alsa/cards/Aureon51.conf new file mode 100644 index 0000000..24b4d94 --- /dev/null +++ b/usr/share/alsa/cards/Aureon51.conf
@@ -0,0 +1,179 @@ +# +# Configuration for the Aureon51 (Envy24HT) chip +# + +# default with dmix & dsnoop +Aureon51.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ] + } + } +} + +<confdir:pcm/front.conf> + +Aureon51.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +<confdir:pcm/rear.conf> + +Aureon51.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 2 + subdevice 1 +} + +<confdir:pcm/center_lfe.conf> + +Aureon51.pcm.center_lfe.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 2 +} + +<confdir:pcm/side.conf> + +Aureon51.pcm.side.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 2 + subdevice 2 +} + +<confdir:pcm/surround40.conf> + +Aureon51.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + channels 4 +} + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +Aureon51.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + channels 6 +} + +<confdir:pcm/iec958.conf> + +Aureon51.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 asym + playback.pcm { + type linear + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface MIXER + name "IEC958 Output Switch" + lock true + preserve true + value true + } + { + interface PCM + name "IEC958 Playback Default" + device 1 + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } + } + slave.format S32_LE + } + capture.pcm { + type linear + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface MIXER + name "IEC958 Capture Switch" + lock true + preserve true + value true + } + ] + } + } + slave.format S32_LE + } +}
diff --git a/usr/share/alsa/cards/Aureon71.conf b/usr/share/alsa/cards/Aureon71.conf new file mode 100644 index 0000000..1479c25 --- /dev/null +++ b/usr/share/alsa/cards/Aureon71.conf
@@ -0,0 +1,190 @@ +# +# Configuration for the Aureon71 (Envy24HT) chip +# + +# default with dmix & dsnoop +Aureon71.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ] + } + } +} + +<confdir:pcm/front.conf> + +Aureon71.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +<confdir:pcm/rear.conf> + +Aureon71.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 2 +} + +<confdir:pcm/center_lfe.conf> + +Aureon71.pcm.center_lfe.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 2 + subdevice 1 +} + +<confdir:pcm/side.conf> + +Aureon71.pcm.side.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 2 + subdevice 2 +} + +<confdir:pcm/surround40.conf> + +Aureon71.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + channels 4 +} + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +Aureon71.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + channels 6 +} + +<confdir:pcm/surround71.conf> + +Aureon71.pcm.surround71.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +<confdir:pcm/iec958.conf> + +Aureon71.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 asym + playback.pcm { + type linear + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface MIXER + name "IEC958 Output Switch" + lock true + preserve true + value true + } + { + interface PCM + name "IEC958 Playback Default" + device 1 + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } + } + slave.format S32_LE + } + capture.pcm { + type linear + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface MIXER + name "IEC958 Capture Switch" + lock true + preserve true + value true + } + ] + } + } + slave.format S32_LE + } +}
diff --git a/usr/share/alsa/cards/CA0106.conf b/usr/share/alsa/cards/CA0106.conf new file mode 100644 index 0000000..9d21770 --- /dev/null +++ b/usr/share/alsa/cards/CA0106.conf
@@ -0,0 +1,280 @@ +# +# Configuration for the CA0106 chip +# + +# default with dmix & dsnoop +CA0106.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/front.conf> + +CA0106.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +<confdir:pcm/rear.conf> + +CA0106.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 1 +} + +<confdir:pcm/center_lfe.conf> + +CA0106.pcm.center_lfe.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 2 +} + +<confdir:pcm/side.conf> + +CA0106.pcm.side.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 3 +} + +<confdir:pcm/surround40.conf> + +CA0106.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.CA0106.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.CA0106.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> +<confdir:pcm/surround71.conf> + +CA0106.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.CA0106.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.CA0106.pcm.rear.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.CA0106.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 } + ] +} + +CA0106.pcm.surround71.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.CA0106.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.CA0106.pcm.rear.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.CA0106.pcm.center_lfe.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.CA0106.pcm.side.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 } + { slave 3 channel 0 } + { slave 3 channel 1 } + ] +} + + + + +<confdir:pcm/iec958.conf> + +CA0106.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 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "IEC958 Front Playback Volume" + index 0 + lock true + preserve true + value [ 207 207 ] # Puts 0x30303030 in the Volume register. 0xff - 0x30 = 0xcf = 207 + } + { + name "IEC958 Playback Switch" + lock true + preserve true + value 1 + } + { + interface PCM + name "IEC958 Playback Default" + index 1 + lock true + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + # for compatibility with older drivers + name "IEC958 Playback Default" + index 1 + lock true + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } +}
diff --git a/usr/share/alsa/cards/CMI8338-SWIEC.conf b/usr/share/alsa/cards/CMI8338-SWIEC.conf new file mode 100644 index 0000000..af3a579 --- /dev/null +++ b/usr/share/alsa/cards/CMI8338-SWIEC.conf
@@ -0,0 +1,129 @@ +# +# Configuration for the CMI8338/8738 chip (w/o multi-channel support) +# using software IEC958 subframe conversion +# + +<confdir:pcm/front.conf> + +CMI8338-SWIEC.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# default with dmix/dsnoop +CMI8338-SWIEC.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/rear.conf> + +# 2nd DAC +# FIXME: we need a volume attenuator for rear channel. +CMI8338-SWIEC.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 1 +} + +<confdir:pcm/surround40.conf> + +# for the old CM8738 with 2nd DAC for rear +CMI8338-SWIEC.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + master 1 + slaves [ + { + pcm { + @func concat + strings [ + "cards.CMI8338-SWIEC.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.CMI8338-SWIEC.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> + +CMI8338-SWIEC.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 asym + playback.pcm { + type iec958 + slave.pcm { + type hw + card $CARD + device 2 + } + status [ $AES0 $AES1 $AES2 $AES3 ] + preamble.z 3 + preamble.y 5 + preamble.x 9 + } + capture.pcm { + type hw + card $CARD + device 2 + } +}
diff --git a/usr/share/alsa/cards/CMI8338.conf b/usr/share/alsa/cards/CMI8338.conf new file mode 100644 index 0000000..144fc9b --- /dev/null +++ b/usr/share/alsa/cards/CMI8338.conf
@@ -0,0 +1,143 @@ +# +# Configuration for the CMI8338/8738 chip (w/o multi-channel support) +# + +<confdir:pcm/front.conf> + +CMI8338.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# default with dmix/dsnoop +CMI8338.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/rear.conf> + +# 2nd DAC +# FIXME: we need a volume attenuator for rear channel. +CMI8338.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 1 +} + +<confdir:pcm/surround40.conf> + +# for the old CM8738 with 2nd DAC for rear +CMI8338.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + master 1 + slaves [ + { + pcm { + @func concat + strings [ + "cards.CMI8338.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.CMI8338.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> + +CMI8338.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 asym + playback.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 2 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback PCM Stream" + device 2 + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + name "IEC958 Loop" + lock true + preserve true + value off + } + ] + } + } + capture.pcm { + type hw + card $CARD + device 2 + } +}
diff --git a/usr/share/alsa/cards/CMI8738-MC6.conf b/usr/share/alsa/cards/CMI8738-MC6.conf new file mode 100644 index 0000000..171c772 --- /dev/null +++ b/usr/share/alsa/cards/CMI8738-MC6.conf
@@ -0,0 +1,161 @@ +# +# Configuration for the CMI8738 chip with 4/6 multi-channel support +# + +<confdir:pcm/front.conf> + +CMI8738-MC6.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# default with dmix/dsnoop +CMI8738-MC6.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/rear.conf> + +# 2nd DAC +# FIXME: we need a volume attenuator for rear channel. +CMI8738-MC6.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 1 +} + +<confdir:pcm/surround40.conf> + +CMI8738-MC6.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + device 1 + channels 4 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Four Channel Mode" + lock true + preserve true + value false + } + ] + } +} + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +CMI8738-MC6.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + device 1 + channels 6 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Four Channel Mode" + lock true + preserve true + value false + } + ] + } +} + +<confdir:pcm/iec958.conf> + +CMI8738-MC6.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 asym + playback.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 2 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback PCM Stream" + device 2 + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + name "IEC958 Loop" + lock true + preserve true + value off + } + ] + } + } + capture.pcm { + type hw + card $CARD + device 2 + } +}
diff --git a/usr/share/alsa/cards/CMI8738-MC8.conf b/usr/share/alsa/cards/CMI8738-MC8.conf new file mode 100644 index 0000000..a5bf6cb --- /dev/null +++ b/usr/share/alsa/cards/CMI8738-MC8.conf
@@ -0,0 +1,230 @@ +# +# Configuration for the CMI8768 chip with 8 multi-channel support +# + +<confdir:pcm/front.conf> + +CMI8738-MC8.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type hw + card $CARD + } + control { + name "PCM Playback Volume" + card $CARD + } +} + +# default with dmix+softvol & dsnoop +CMI8738-MC8.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + type softvol + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + control { + name "PCM Playback Volume" + card $CARD + } + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/rear.conf> + +# 2nd DAC +CMI8738-MC8.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type hw + card $CARD + device 1 + } + control { + name "PCM Playback Volume" + card $CARD + } +} + +<confdir:pcm/surround40.conf> + +CMI8738-MC8.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 1 + channels 4 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Four Channel Mode" + lock true + preserve true + value false + } + ] + } + } + control { + name "PCM Playback Volume" + card $CARD + } +} + + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +CMI8738-MC8.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 1 + channels 6 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Four Channel Mode" + lock true + preserve true + value false + } + ] + } + } + control { + name "PCM Playback Volume" + card $CARD + } +} + +<confdir:pcm/surround71.conf> + +CMI8738-MC8.pcm.surround71.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 1 + channels 8 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Four Channel Mode" + lock true + preserve true + value false + } + ] + } + } + control { + name "PCM Playback Volume" + card $CARD + } +} + +<confdir:pcm/iec958.conf> + +CMI8738-MC8.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 asym + playback.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 2 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback PCM Stream" + device 2 + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + name "IEC958 Loop" + lock true + preserve true + value off + } + ] + } + } + capture.pcm { + type hw + card $CARD + device 2 + } +}
diff --git a/usr/share/alsa/cards/CMI8788.conf b/usr/share/alsa/cards/CMI8788.conf new file mode 100644 index 0000000..0ca71e9 --- /dev/null +++ b/usr/share/alsa/cards/CMI8788.conf
@@ -0,0 +1,126 @@ +# +# Configuration for the CMI8788 chip +# + +<confdir:pcm/front.conf> + +CMI8788.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# default with dmix & dsnoop +CMI8788.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ] + } + } +} + +<confdir:pcm/surround40.conf> + +CMI8788.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + channels 4 +} + + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +CMI8788.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + channels 6 +} + +<confdir:pcm/surround71.conf> + +CMI8788.pcm.surround71.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + channels 8 +} + +<confdir:pcm/iec958.conf> + +CMI8788.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 asym + playback.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + device 1 + name "IEC958 Playback PCM Stream" + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } + } + capture.pcm { + type hw + card $CARD + device 1 + } +} + +# vim: ft=alsaconf
diff --git a/usr/share/alsa/cards/CS46xx.conf b/usr/share/alsa/cards/CS46xx.conf new file mode 100644 index 0000000..1983142 --- /dev/null +++ b/usr/share/alsa/cards/CS46xx.conf
@@ -0,0 +1,218 @@ +# +# Configuration for the CS46xx chip +# + +<confdir:pcm/front.conf> + +CS46xx.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# default with plughw +# CS46xx supports multi-playback +CS46xx.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "hw:" $CARD ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "hw:" $CARD ] + } + } +} + +<confdir:pcm/rear.conf> + +CS46xx.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + device 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Duplicate Front" + lock true + preserve true + value 0 + optional true + } + ] + } +} + +<confdir:pcm/center_lfe.conf> + +CS46xx.pcm.center_lfe.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 3 +} + +<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/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +CS46xx.pcm.surround51.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 + } + { + pcm { + @func concat + strings [ + "cards.CS46xx.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> + +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 2 + lock true + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + # for compatibility with older drivers + interface PCM + name "IEC958 Playback PCM Stream" + lock true + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } +}
diff --git a/usr/share/alsa/cards/EMU10K1.conf b/usr/share/alsa/cards/EMU10K1.conf new file mode 100644 index 0000000..706da0a --- /dev/null +++ b/usr/share/alsa/cards/EMU10K1.conf
@@ -0,0 +1,325 @@ +# +# Configuration for the EMU10K1 chip +# + +<confdir:pcm/front.conf> + +EMU10K1.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type hooks + slave.pcm { + type hw + card $CARD + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] + } + { + interface PCM + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 8 9 0 0 8 9 0 0 8 9 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 8 9 0 0 8 9 0 0 8 9 0 0 ] + } + ] + } + } + capture.pcm { + type hw + card $CARD + } +} + +<confdir:pcm/rear.conf> + +EMU10K1.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type hooks + slave.pcm { + type hw + card $CARD + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 0 0 255 255 0 0 255 0 0 0 0 255 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 0 0 255 255 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 asym + playback.pcm { + type hooks + slave.pcm { + type hw + card $CARD + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Headphone Center Playback Switch" + index 1 + preserve true + # lock true + optional true + value true + } + { + name "Headphone LFE Playback Switch" + index 1 + preserve true + # lock true + optional true + value true + } +# if you have a creative's digital receiver, you can get surround/center/lfe +# output through the digital jack. so, the following is commented out. +# pay attention in case of analog output from the shared center/digital +# jack! +# { +# name "SB Live Analog/Digital Output Jack" +# preserve true +# lock true +# value 0 +# } + { + interface PCM + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] + } + { + interface PCM + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 6 7 0 0 6 7 0 0 6 7 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 6 7 0 0 6 7 0 0 6 7 0 0 ] + } + ] + } + } +} + +<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 2 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback Default" + device 2 + lock true + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + # for compatibility with older drivers + name "IEC958 Playback Default" + lock true + preserve true + optional 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 + } + ] + } +}
diff --git a/usr/share/alsa/cards/EMU10K1X.conf b/usr/share/alsa/cards/EMU10K1X.conf new file mode 100644 index 0000000..b5fc708 --- /dev/null +++ b/usr/share/alsa/cards/EMU10K1X.conf
@@ -0,0 +1,201 @@ +# +# Configuration for the EMU10K1X chip +# + +# default with dmix & dsnoop +EMU10K1X.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/front.conf> + +EMU10K1X.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +<confdir:pcm/rear.conf> + +EMU10K1X.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 1 +} + +<confdir:pcm/center_lfe.conf> + +EMU10K1X.pcm.center_lfe.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 2 +} + +<confdir:pcm/surround40.conf> + +EMU10K1X.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.EMU10K1X.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.EMU10K1X.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> + +EMU10K1X.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.EMU10K1X.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.EMU10K1X.pcm.rear.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.EMU10K1X.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> + +EMU10K1X.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 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Analog/Digital Output Jack" + lock true + preserve true + value 0 + } + { + interface PCM + name "IEC958 Playback Default" + index 0 + lock true + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + # for compatibility with older drivers + name "IEC958 Playback Default" + index 0 + lock true + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } +}
diff --git a/usr/share/alsa/cards/ENS1370.conf b/usr/share/alsa/cards/ENS1370.conf new file mode 100644 index 0000000..32e4782 --- /dev/null +++ b/usr/share/alsa/cards/ENS1370.conf
@@ -0,0 +1,107 @@ +# +# Configuration for the ENS1370 chip +# + +<confdir:pcm/front.conf> + +ENS1370.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 1 +} + +# default with dmix/dsnoop +ENS1370.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/rear.conf> + +ENS1370.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface CARD + name "PCM 0 Output also on Line-In Jack" + preserve true + lock true + value true + } + { + name "PCM Switch" + preserve true + lock true + value [ false false ] + } + ] + } +} + +<confdir:pcm/surround40.conf> + +ENS1370.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + master 1 + slaves [ + { + pcm { + @func concat + strings [ + "cards.ENS1370.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.ENS1370.pcm.rear.0:CARD=" $CARD + ] + } + channels 2 + } + ] + bindings [ + { slave 0 channel 0 } + { slave 0 channel 1 } + { slave 1 channel 0 } + { slave 1 channel 1 } + ] +}
diff --git a/usr/share/alsa/cards/ENS1371.conf b/usr/share/alsa/cards/ENS1371.conf new file mode 100644 index 0000000..a6df425 --- /dev/null +++ b/usr/share/alsa/cards/ENS1371.conf
@@ -0,0 +1,134 @@ +# +# Configuration for the ENS1370 chip +# + +<confdir:pcm/front.conf> + +ENS1371.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# default with dmix/dsnoop +ENS1371.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/rear.conf> + +ENS1371.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + device 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface MIXER + name "AC97 2ch->4ch Copy Switch" + lock true + preserve true + value 0 + } + ] + } +} + +<confdir:pcm/surround40.conf> + +ENS1371.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ "cards.ENS1371.pcm.front.0:CARD=" $CARD ] + } + channels 2 + } + { + pcm { + @func concat + strings [ "cards.ENS1371.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> + +ENS1371.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 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback PCM Stream" + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } +}
diff --git a/usr/share/alsa/cards/ES1968.conf b/usr/share/alsa/cards/ES1968.conf new file mode 100644 index 0000000..a6ee119 --- /dev/null +++ b/usr/share/alsa/cards/ES1968.conf
@@ -0,0 +1,12 @@ +# configuration for ESS Maestro2 + +<confdir:pcm/front.conf> + +ES1968.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +}
diff --git a/usr/share/alsa/cards/FM801.conf b/usr/share/alsa/cards/FM801.conf new file mode 100644 index 0000000..997b218 --- /dev/null +++ b/usr/share/alsa/cards/FM801.conf
@@ -0,0 +1,87 @@ +# +# Configuration for the FM801 chip +# + +<confdir:pcm/front.conf> + +FM801.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# default with dmix/dsnoop +FM801.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/surround40.conf> + +FM801.pcm.surround40.0 "cards.FM801.pcm.front.0" + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +FM801.pcm.surround51.0 "cards.FM801.pcm.front.0" + +<confdir:pcm/iec958.conf> + +FM801.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 + } + hooks.0 { + type ctl_elems + hook_args [ + # { + # name "IEC958 Playback Default" + # value [ $AES0 $AES1 $AES2 $AES3 ] + # } + { + name "IEC958 Raw Data Playback Switch" + preserve true + value true + } + ] + } +}
diff --git a/usr/share/alsa/cards/FWSpeakers.conf b/usr/share/alsa/cards/FWSpeakers.conf new file mode 100644 index 0000000..cd6fa60 --- /dev/null +++ b/usr/share/alsa/cards/FWSpeakers.conf
@@ -0,0 +1,26 @@ +# +# Configuration for the LaCie Firewire speakers +# + +FWSpeakers.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ",FORMAT=S32" ] + } +} + +<confdir:pcm/front.conf> + +FWSpeakers.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +}
diff --git a/usr/share/alsa/cards/FireWave.conf b/usr/share/alsa/cards/FireWave.conf new file mode 100644 index 0000000..63fb23d --- /dev/null +++ b/usr/share/alsa/cards/FireWave.conf
@@ -0,0 +1,50 @@ +# +# Configuration for the Griffin FireWave Surround +# + +FireWave.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ",FORMAT=S32" ] + } +} + +<confdir:pcm/front.conf> + +FireWave.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +FireWave.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type route + ttable [ + [ 1 0 0 0 0 0 ] + [ 0 1 0 0 0 0 ] + [ 0 0 0 0 1 0 ] + [ 0 0 0 0 0 1 ] + [ 0 0 1 0 0 0 ] + [ 0 0 0 1 0 0 ] + ] + slave.pcm { + type hw + card $CARD + } +}
diff --git a/usr/share/alsa/cards/GUS.conf b/usr/share/alsa/cards/GUS.conf new file mode 100644 index 0000000..d744c54 --- /dev/null +++ b/usr/share/alsa/cards/GUS.conf
@@ -0,0 +1,19 @@ +# +# Configuration for the GUS soundcards +# + +<confdir:pcm/front.conf> + +GUS.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type route + ttable.0.0 1 + ttable.1.1 1 + slave.pcm { + type hw + card $CARD + } +}
diff --git a/usr/share/alsa/cards/HDA-Intel.conf b/usr/share/alsa/cards/HDA-Intel.conf new file mode 100644 index 0000000..d4f2667 --- /dev/null +++ b/usr/share/alsa/cards/HDA-Intel.conf
@@ -0,0 +1,303 @@ +# +# Configuration for the Intel HD audio (ICH6/ICH7) +# + +<confdir:pcm/front.conf> + +HDA-Intel.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type softvol + slave.pcm { + type hw + card $CARD + subdevice 0 + } + control { + name "PCM Playback Volume" + card $CARD + } + } + capture.pcm { + type hw + card $CARD + } +} + +# default with dmix+softvol & dsnoop +HDA-Intel.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + type softvol + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + control { + name "PCM Playback Volume" + card $CARD + } + } + } + capture.pcm { + type plug + slave.pcm { + type softvol + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + control { + name "Digital Capture Volume" + card $CARD + } + min_dB -30.0 + max_dB 30.0 + resolution 121 + } + # to avoid possible phase inversions with digital mics + route_policy copy + } + hint.device 0 +} + +<confdir:pcm/surround40.conf> +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> +<confdir:pcm/surround71.conf> + +HDA-Intel.pcm.surround40.0 cards.HDA-Intel.pcm.front.0 +HDA-Intel.pcm.surround51.0 cards.HDA-Intel.pcm.front.0 +HDA-Intel.pcm.surround71.0 cards.HDA-Intel.pcm.front.0 + +<confdir:pcm/iec958.conf> + +HDA-Intel.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 asym + playback.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "IEC958 Playback Default" + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + name "IEC958 Playback Switch" + value true + } + ] + } + } + capture.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "IEC958 Capture Switch" + lock true + preserve true + value true + } + ] + } + } + hint.device 1 +} + +<confdir:pcm/hdmi.conf> + +HDA-Intel.pcm.hdmi.common { + @args [ CARD DEVICE CTLINDEX AES0 AES1 AES2 AES3 ] + @args.CARD { + type string + } + @args.DEVICE { + type integer + } + @args.CTLINDEX { + type integer + } + @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 $DEVICE + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "IEC958 Playback Default" + index $CTLINDEX + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + name "IEC958 Playback Switch" + index $CTLINDEX + value true + } + ] + } + hint.device $DEVICE +} + +HDA-Intel.pcm.hdmi.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 } + @func refer + name { + @func concat + strings [ + "cards.HDA-Intel.pcm.hdmi.common:" + "CARD=" $CARD "," + "DEVICE=3," + "CTLINDEX=0," + "AES0=" $AES0 "," + "AES1=" $AES1 "," + "AES2=" $AES2 "," + "AES3=" $AES3 + ] + } +} + +HDA-Intel.pcm.hdmi.1 { + @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 } + @func refer + name { + @func concat + strings [ + "cards.HDA-Intel.pcm.hdmi.common:" + "CARD=" $CARD "," + "DEVICE=7," + "CTLINDEX=1," + "AES0=" $AES0 "," + "AES1=" $AES1 "," + "AES2=" $AES2 "," + "AES3=" $AES3 + ] + } +} + +HDA-Intel.pcm.hdmi.2 { + @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 } + @func refer + name { + @func concat + strings [ + "cards.HDA-Intel.pcm.hdmi.common:" + "CARD=" $CARD "," + "DEVICE=8," + "CTLINDEX=2," + "AES0=" $AES0 "," + "AES1=" $AES1 "," + "AES2=" $AES2 "," + "AES3=" $AES3 + ] + } +} + +HDA-Intel.pcm.hdmi.3 { + @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 } + @func refer + name { + @func concat + strings [ + "cards.HDA-Intel.pcm.hdmi.common:" + "CARD=" $CARD "," + "DEVICE=9," + "CTLINDEX=3," + "AES0=" $AES0 "," + "AES1=" $AES1 "," + "AES2=" $AES2 "," + "AES3=" $AES3 + ] + } +} + +<confdir:pcm/modem.conf> + +HDA-Intel.pcm.modem.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 6 + hint.show off +}
diff --git a/usr/share/alsa/cards/ICE1712.conf b/usr/share/alsa/cards/ICE1712.conf new file mode 100644 index 0000000..f5b8add --- /dev/null +++ b/usr/share/alsa/cards/ICE1712.conf
@@ -0,0 +1,157 @@ +# +# Configuration for the ICE1712 (Envy24) chip +# + +# default with dmix & dsnoop +ICE1712.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ] + } + } +} + +<confdir:pcm/front.conf> + +ICE1712.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type route + ttable.0.0 1 + ttable.1.1 1 + slave.pcm { + type hw + card $CARD + } + slave.channels 10 + } + capture.pcm { + type route + ttable.0.0 1 + ttable.1.1 1 + slave.pcm { + type hw + card $CARD + } + slave.channels 12 + } +} + +<confdir:pcm/surround40.conf> + +ICE1712.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type route + ttable.0.0 1 + ttable.1.1 1 + ttable.2.2 1 + ttable.3.3 1 + slave.pcm { + type hw + card $CARD + } + slave.channels 10 +} + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +ICE1712.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type route + ttable.0.0 1 + ttable.1.1 1 + ttable.2.2 1 + ttable.3.3 1 + ttable.4.4 1 + ttable.5.5 1 + slave.pcm { + type hw + card $CARD + } + slave.channels 10 +} + +<confdir:pcm/iec958.conf> + +ICE1712.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 asym + playback.pcm { + type hooks + slave.pcm { + type route + ttable.0.8 1 + ttable.1.9 1 + slave.pcm { + type hw + card $CARD + } + slave.format S32_LE + slave.channels 10 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback PCM Stream" + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } + } + capture.pcm { + type route + ttable.0.8 1 + ttable.1.9 1 + slave.pcm { + type hw + card $CARD + } + slave.format S32_LE + slave.channels 12 + } +}
diff --git a/usr/share/alsa/cards/ICE1724.conf b/usr/share/alsa/cards/ICE1724.conf new file mode 100644 index 0000000..e806b36 --- /dev/null +++ b/usr/share/alsa/cards/ICE1724.conf
@@ -0,0 +1,224 @@ +# +# Configuration for the ICE1724 (Envy24HT) chip +# + +# default with dmix & dsnoop +ICE1724.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ",FORMAT=S32_LE" ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ] + } + } +} + +<confdir:pcm/front.conf> + +ICE1724.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +<confdir:pcm/rear.conf> + +ICE1724.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 2 + subdevice 1 +} + +<confdir:pcm/center_lfe.conf> + +ICE1724.pcm.center_lfe.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 2 +} + +<confdir:pcm/side.conf> + +ICE1724.pcm.side.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 2 + subdevice 2 +} + +<confdir:pcm/surround40.conf> + +ICE1724.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type route + ttable.0.0 1 + ttable.1.1 1 + ttable.2.4 1 + ttable.3.5 1 + slave { + channels 6 + pcm { + type hw + card $CARD + } + } +} + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +ICE1724.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type route + ttable.0.0 1 + ttable.1.1 1 + ttable.2.4 1 + ttable.3.5 1 + ttable.4.2 1 + ttable.5.3 1 + slave { + channels 6 + pcm { + type hw + card $CARD + } + } +} + +<confdir:pcm/surround71.conf> + +ICE1724.pcm.surround71.0 { + @args [ CARD ] + @args.CARD { + type string + } + type route + ttable.0.0 1 + ttable.1.1 1 + ttable.2.4 1 + ttable.3.5 1 + ttable.4.2 1 + ttable.5.3 1 + ttable.6.6 1 + ttable.7.7 1 + slave { + channels 8 + pcm { + type hw + card $CARD + } + } +} + +<confdir:pcm/iec958.conf> + +ICE1724.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 asym + playback.pcm { + type linear + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface MIXER + name "IEC958 Output Switch" + lock true + preserve true + value true + } + { + interface PCM + name "IEC958 Playback Default" + device 1 + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } + } + slave.format S32_LE + } + capture.pcm { + type linear + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface MIXER + name "IEC958 Capture Switch" + lock true + preserve true + value true + } + ] + } + } + slave.format S32_LE + } +}
diff --git a/usr/share/alsa/cards/ICH-MODEM.conf b/usr/share/alsa/cards/ICH-MODEM.conf new file mode 100644 index 0000000..b96b5aa --- /dev/null +++ b/usr/share/alsa/cards/ICH-MODEM.conf
@@ -0,0 +1,15 @@ +# +# Configuration for the Intel/AMD modem controllers +# + +<confdir:pcm/modem.conf> + +ICH-MODEM.pcm.modem.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + hint.show off +}
diff --git a/usr/share/alsa/cards/ICH.conf b/usr/share/alsa/cards/ICH.conf new file mode 100644 index 0000000..47ffef9 --- /dev/null +++ b/usr/share/alsa/cards/ICH.conf
@@ -0,0 +1,222 @@ +# +# Configuration for the Intel ICH/ICH2/ICH3 chips +# + +<confdir:pcm/front.conf> + +ICH.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type hw + card $CARD + } + control { + name "PCM Playback Volume" + card $CARD + } +} + +# default with dmix+softvol & dsnoop +ICH.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + type softvol + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + control { + name "PCM Playback Volume" + card $CARD + } + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/surround40.conf> + +ICH.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + channels 4 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Channel Mode" + preserve true + value "4ch" + lock true + optional true + } + # for old drivers + { + name "Line-In As Surround" + preserve true + value true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + ] + } + } + control { + name "PCM Playback Volume" + card $CARD + } +} + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +ICH.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type route + ttable.0.0 1 + ttable.1.1 1 + ttable.2.4 1 + ttable.3.5 1 + ttable.4.2 1 + ttable.5.3 1 + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + channels 6 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Channel Mode" + preserve true + value "6ch" + lock true + optional true + } + # for old drivers + { + name "Line-In As Surround" + preserve true + value true + optional true + } + { + name "Mic As Center/LFE" + preserve true + value true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + { + name "Center/LFE Down Mix" + preserve true + value off + lock true + optional true + } + ] + } + } + slave.channels 6 + } + control { + name "PCM Playback Volume" + card $CARD + } +} + +<confdir:pcm/iec958.conf> + +ICH.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 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "IEC958 Playback AC97-SPSA" + lock true + preserve true + value 0 + optional true + } + { + name "IEC958 Playback Default" + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + name "IEC958 Playback Switch" + lock true + preserve true + value true + } + ] + } +}
diff --git a/usr/share/alsa/cards/ICH4.conf b/usr/share/alsa/cards/ICH4.conf new file mode 100644 index 0000000..1bf5605 --- /dev/null +++ b/usr/share/alsa/cards/ICH4.conf
@@ -0,0 +1,213 @@ +# +# Configuration for the Intel ICH4/ICH5/ICH6 chips +# + +<confdir:pcm/front.conf> + +ICH4.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type hw + card $CARD + } + control { + name "PCM Playback Volume" + card $CARD + } +} + +# default with dmix+softvol & dsnoop +ICH4.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + type softvol + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + control { + name "PCM Playback Volume" + card $CARD + } + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/surround40.conf> + +ICH4.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + channels 4 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Channel Mode" + preserve true + value "4ch" + lock true + optional true + } + # for old drivers + { + name "Line-In As Surround" + preserve true + value true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + ] + } + } + control { + name "PCM Playback Volume" + card $CARD + } +} + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +ICH4.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + channels 6 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Channel Mode" + preserve true + value "6ch" + lock true + optional true + } + # for old drivers + { + name "Line-In As Surround" + preserve true + value true + optional true + } + { + name "Mic As Center/LFE" + preserve true + value true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + { + name "Center/LFE Down Mix" + preserve true + value off + lock true + optional true + } + ] + } + } + control { + name "PCM Playback Volume" + card $CARD + } +} + +<confdir:pcm/iec958.conf> + +ICH4.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 4 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "IEC958 Playback AC97-SPSA" + lock true + preserve true + value 3 + optional true + } + { + name "IEC958 Playback Default" + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + name "IEC958 Playback Switch" + lock true + preserve true + value true + } + ] + } +}
diff --git a/usr/share/alsa/cards/Maestro3.conf b/usr/share/alsa/cards/Maestro3.conf new file mode 100644 index 0000000..9432322 --- /dev/null +++ b/usr/share/alsa/cards/Maestro3.conf
@@ -0,0 +1,38 @@ +# configuration for ESS Maestro3 + +<confdir:pcm/front.conf> + +Maestro3.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# default with dmix/dsnoop +Maestro3.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + # we need to specify device and subdevice numbers + # for a device with multiple substreams + @func concat + strings [ "dmix:" $CARD ",0,0" ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} +
diff --git a/usr/share/alsa/cards/NFORCE.conf b/usr/share/alsa/cards/NFORCE.conf new file mode 100644 index 0000000..6ebefe3 --- /dev/null +++ b/usr/share/alsa/cards/NFORCE.conf
@@ -0,0 +1,295 @@ +# +# Configuration for the nVIDIA nForce/2/3 +# + +<confdir:pcm/front.conf> + +NFORCE.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type hw + card $CARD + } + control { + name "PCM Playback Volume" + card $CARD + } +} + +# default with dmix+softvol & dsnoop +NFORCE.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + type softvol + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + control { + name "PCM Playback Volume" + card $CARD + } + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/surround40.conf> + +NFORCE.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + channels 4 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Channel Mode" + preserve true + value "4ch" + lock true + optional true + } + # for old drivers + { + name "Line-In As Surround" + preserve true + value true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + ] + } + } + control { + name "PCM Playback Volume" + card $CARD + } +} + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +NFORCE.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type route + ttable.0.0 1 + ttable.1.1 1 + ttable.2.4 1 + ttable.3.5 1 + ttable.4.2 1 + ttable.5.3 1 + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + channels 6 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Channel Mode" + preserve true + value "6ch" + lock true + optional true + } + # for old drivers + { + name "Line-In As Surround" + preserve true + value true + optional true + } + { + name "Mic As Center/LFE" + preserve true + value true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + { + name "Center/LFE Down Mix" + preserve true + value off + lock true + optional true + } + ] + } + } + slave.channels 6 + } + control { + name "PCM Playback Volume" + card $CARD + } +} + +<confdir:pcm/surround71.conf> + +NFORCE.pcm.surround71.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type route + ttable.0.0 1 + ttable.1.1 1 + ttable.2.4 1 + ttable.3.5 1 + ttable.4.2 1 + ttable.5.3 1 + ttable.6.6 1 + ttable.7.7 1 + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 0 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Channel Mode" + preserve true + value "8ch" + lock true + optional true + } + # for old drivers + { + name "Line-In As Surround" + preserve true + value true + optional true + } + { + name "Mic As Center/LFE" + preserve true + value true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + { + name "Center/LFE Down Mix" + preserve true + value off + lock true + optional true + } + ] + } + } + slave.channels 8 + } + control { + name "PCM Playback Volume" + card $CARD + } +} + +<confdir:pcm/iec958.conf> + +NFORCE.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 Playback AC97-SPSA" + lock true + preserve true + value 0 + } + { + name "IEC958 Playback Default" + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + name "IEC958 Playback Switch" + lock true + preserve true + value true + } + ] + } +}
diff --git a/usr/share/alsa/cards/PC-Speaker.conf b/usr/share/alsa/cards/PC-Speaker.conf new file mode 100644 index 0000000..c82654d --- /dev/null +++ b/usr/share/alsa/cards/PC-Speaker.conf
@@ -0,0 +1,52 @@ +# +# Configuration for PC-Speaker driver +# + +<confdir:pcm/front.conf> + +PC-Speaker.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type hw + card $CARD + } + control { + name "Master Playback Volume" + card $CARD + } + min_dB -10.0 + max_dB 20.0 +} + +# default with dmix & null +PC-Speaker.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + type softvol + control { + name "Master Playback Volume" + card $CARD + } + min_dB -10.0 + max_dB 20.0 + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + } + } + capture.pcm { + type null + } +} +
diff --git a/usr/share/alsa/cards/PMac.conf b/usr/share/alsa/cards/PMac.conf new file mode 100644 index 0000000..d1fdb17 --- /dev/null +++ b/usr/share/alsa/cards/PMac.conf
@@ -0,0 +1,37 @@ +# +# Configuration for PMac +# + +<confdir:pcm/front.conf> + +PMac.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# default with dmix/dsnoop +PMac.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:CARD=" $CARD ",FORMAT=S16_BE" ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:CARD=" $CARD ",FORMAT=S16_BE" ] + } + } +}
diff --git a/usr/share/alsa/cards/PMacToonie.conf b/usr/share/alsa/cards/PMacToonie.conf new file mode 100644 index 0000000..1e0eb59 --- /dev/null +++ b/usr/share/alsa/cards/PMacToonie.conf
@@ -0,0 +1,51 @@ +# +# Configuration for PMac Toonie +# + +<confdir:pcm/front.conf> + +PMacToonie.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type hw + card $CARD + } + control { + name "PCM Playback Volume" + card $CARD + } +} + +# default with dmix+softvol & dsnoop +PMacToonie.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + type softvol + slave.pcm { + @func concat + strings [ "dmix:CARD=" $CARD ",FORMAT=S16_BE" ] + } + control { + name "PCM Playback Volume" + card $CARD + } + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:CARD=" $CARD ",FORMAT=S16_BE" ] + } + } +}
diff --git a/usr/share/alsa/cards/PS3.conf b/usr/share/alsa/cards/PS3.conf new file mode 100644 index 0000000..b642f0d --- /dev/null +++ b/usr/share/alsa/cards/PS3.conf
@@ -0,0 +1,85 @@ +# +# Configuration for PS3 +# + +<confdir:pcm/front.conf> + +PS3.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type softvol + slave.pcm { + type hw + card $CARD + device 0 + } + control { + name "PCM Playback Volume" + card $CARD + } +} + +# default with dmix+softvol +PS3.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + type softvol + slave.pcm { + @func concat + #strings [ "dmix:CARD=" $CARD ] + strings [ "dmix:CARD=" $CARD ",FORMAT=S16" ] + } + control { + name "PCM Playback Volume" + card $CARD + } + } + } +} + +<confdir:pcm/iec958.conf> + +PS3.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 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback Default" + lock true + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } +}
diff --git a/usr/share/alsa/cards/RME9636.conf b/usr/share/alsa/cards/RME9636.conf new file mode 100644 index 0000000..e8dc5fa --- /dev/null +++ b/usr/share/alsa/cards/RME9636.conf
@@ -0,0 +1,61 @@ +# +# Configuration for the RME9636 +# + +<confdir:pcm/front.conf> + +RME9636.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# FIXME: This configuration is not valid for double-speed rates. + +<confdir:pcm/iec958.conf> + +RME9636.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 route + slave { + pcm { + type hw + card $CARD + } + channels 18 + } + ttable.0.16 1 + ttable.1.17 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback PCM Stream" + lock true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } +}
diff --git a/usr/share/alsa/cards/RME9652.conf b/usr/share/alsa/cards/RME9652.conf new file mode 100644 index 0000000..1147d81 --- /dev/null +++ b/usr/share/alsa/cards/RME9652.conf
@@ -0,0 +1,61 @@ +# +# Configuration for the RME9652 +# + +<confdir:pcm/front.conf> + +RME9652.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# FIXME: This configuration is not valid for double-speed rates. + +<confdir:pcm/iec958.conf> + +RME9652.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 route + slave { + pcm { + type hw + card $CARD + } + channels 26 + } + ttable.0.24 1 + ttable.1.25 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback PCM Stream" + lock true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } +}
diff --git a/usr/share/alsa/cards/SB-XFi.conf b/usr/share/alsa/cards/SB-XFi.conf new file mode 100644 index 0000000..38d0027 --- /dev/null +++ b/usr/share/alsa/cards/SB-XFi.conf
@@ -0,0 +1,108 @@ +# +# Configuration for the SB X-Fi driver +# + +<confdir:pcm/front.conf> + +SB-XFi.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 0 +} + +<confdir:pcm/rear.conf> + +SB-XFi.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 1 + hint.device 1 +} + +<confdir:pcm/center_lfe.conf> + +SB-XFi.pcm.center_lfe.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 2 + hint.device 2 +} + +<confdir:pcm/side.conf> + +SB-XFi.pcm.side.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 3 + hint.device 3 +} + +<confdir:pcm/surround40.conf> +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> +<confdir:pcm/surround71.conf> + +SB-XFi.pcm.surround40.0 cards.SB-XFi.pcm.front.0 +SB-XFi.pcm.surround51.0 cards.SB-XFi.pcm.front.0 +SB-XFi.pcm.surround71.0 cards.SB-XFi.pcm.front.0 + +<confdir:pcm/iec958.conf> + +SB-XFi.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 asym + playback.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 4 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback PCM Stream" + device 4 + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } + } + hint.device 4 +}
diff --git a/usr/share/alsa/cards/SI7018.conf b/usr/share/alsa/cards/SI7018.conf new file mode 100644 index 0000000..15972a4 --- /dev/null +++ b/usr/share/alsa/cards/SI7018.conf
@@ -0,0 +1,166 @@ +# +# Configuration for the SI7018 chip +# +# This configuration does not reflect hardware. +# + +<confdir:pcm/front.conf> + +SI7018.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +<confdir:pcm/rear.conf> + +SI7018.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "PCM Playback Volume" + preserve true + lock true + value [ 24 24 ] + } + ] + } +} + +<confdir:pcm/surround40.conf> + +SI7018.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.SI7018.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.SI7018.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> + +SI7018.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.SI7018.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.SI7018.pcm.rear.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.SI7018.pcm.front.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> + +SI7018.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 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback PCM Stream" + value [ $AES0 $AES1 $AES2 $AES3 ] + device 1 + lock true + preserve true + } + ] + } +}
diff --git a/usr/share/alsa/cards/TRID4DWAVENX.conf b/usr/share/alsa/cards/TRID4DWAVENX.conf new file mode 100644 index 0000000..bbf6b7c --- /dev/null +++ b/usr/share/alsa/cards/TRID4DWAVENX.conf
@@ -0,0 +1,129 @@ +# +# Configuration for the Trident 4D-Wave NX chip +# + +<confdir:pcm/front.conf> + +TRID4DWAVENX.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +<confdir:pcm/rear.conf> + +TRID4DWAVENX.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Rear Path" + lock true + preserve true + value true + } + { + name "PCM Front Playback Volume" + index { @func private_pcm_subdevice } + lock true + preserve true + value 0 + } + { + name "PCM Reverb Playback Volume" + index { @func private_pcm_subdevice } + lock true + preserve true + value 127 + } + ] + } +} + +<confdir:pcm/surround40.conf> + +TRID4DWAVENX.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.TRID4DWAVENX.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.TRID4DWAVENX.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> + +TRID4DWAVENX.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 [ + { + interface PCM + name "IEC958 Playback PCM Stream" + value [ $AES0 $AES1 $AES2 $AES3 ] + device 2 + lock true + preserve true + } + ] + } +}
diff --git a/usr/share/alsa/cards/USB-Audio.conf b/usr/share/alsa/cards/USB-Audio.conf new file mode 100644 index 0000000..0726c34 --- /dev/null +++ b/usr/share/alsa/cards/USB-Audio.conf
@@ -0,0 +1,375 @@ +# +# USB-Audio.conf - configuration for USB Audio devices +# +# +# DO NO EDIT; this is an internal ALSA file. +# If you want to add your own definitions, put them into /etc/asound.conf or +# ~/.asoundrc, with "cards." before the "USB-Audio", e.g.: +# +# cards.USB-Audio.pcm.use_dmix."NoiseBlaster 3000" no +# +# If your device requires such a definition to work correctly, please report it +# to <alsa-devel@alsa-project.org>. + + +# If a device has sample formats not supported by dmix, dmix can be disabled +# here. +USB-Audio.pcm.use_dmix { + "AudioPhile" no # uses big-endian 24-bit samples + "Audiophile USB (tm)" no +} + +# If a device does not have a four-channel mode for the front/rear outputs, +# other modes can be selected here. +# six_channels - for devices that route the last two of the four channels +# to the center/LFE outputs +# two_stereo_devices - for devices that have two stereo audio interfaces +USB-Audio.pcm.surround40_type { + "AudioPhile" two_stereo_devices + "Audiophile USB (tm)" two_stereo_devices + "OmniStudio" two_stereo_devices + "Quattro" two_stereo_devices + "SB Audigy 2 NX" six_channels +} + +# If a device does not use the first PCM device for digital data, the device +# number for the iec958 device can be changed here. +USB-Audio.pcm.iec958_device { + # "NoiseBlaster 3000" 42 +} + + +# If a device requires non-standard definitions for front, surround40, +# surround51, surround71 or iec958, they can be defined here. + +# M-Audio AudioPhile USB: +# device 0: analog output, digital input +# device 1: digital output, analog input +USB-Audio."AudioPhile".pcm.default "cards.USB-Audio.Audiophile USB (tm).pcm.default" +USB-Audio."Audiophile USB (tm)".pcm.default { + @args [ CARD ] + @args.CARD { type string } + type asym + playback.pcm { + type plug + slave.pcm { + type hw + card $CARD + device 0 + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:DEVICE=1,CARD=" $CARD ] + } + } +} +USB-Audio."AudioPhile".pcm.iec958 "cards.USB-Audio.Audiophile USB (tm).pcm.iec958" +USB-Audio."Audiophile USB (tm)".pcm.iec958 { + @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 asym + playback.pcm { + type hw + card $CARD + device 1 + } + capture.pcm { + type hw + card $CARD + device 0 + } +} + + +################################################################################ + +<confdir:pcm/front.conf> + +USB-Audio.pcm.front.0 { + @args [ CARD ] + @args.CARD { type string } + @func refer + name { + @func concat + strings [ + "cards.USB-Audio." + { @func card_name card $CARD } + ".pcm.front:CARD=" $CARD + ] + } + default { + # We could use softvol, but the driver might have guessed a + # wrong name for the real volume control. + type hw + card $CARD + device 0 + } +} + +USB-Audio.pcm.default { + @args [ CARD ] + @args.CARD { type string } + type asym + playback.pcm { + type plug + slave.pcm { + @func refer + name { + @func concat + strings [ + "cards.USB-Audio.pcm.default_playback_dmix_" + { + @func refer + name { + @func concat + strings [ + "cards.USB-Audio.pcm.use_dmix." + { @func card_name card $CARD } + ] + } + default yes + } + ":CARD=" $CARD + ] + } + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +USB-Audio.pcm.default_playback_dmix_yes { + @args [ CARD ] + @args.CARD { type string } + @func concat + strings [ "dmix:" $CARD ] +} + +USB-Audio.pcm.default_playback_dmix_no { + @args [ CARD ] + @args.CARD { type string } + type hw + card $CARD + device 0 +} + +<confdir:pcm/surround40.conf> + +USB-Audio.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { type string } + @func refer + name { + @func concat + strings [ + "cards.USB-Audio." + { @func card_name card $CARD } + ".pcm.surround40:CARD=" $CARD + ] + } + default { + @func refer + name { + @func concat + strings [ + "cards.USB-Audio.pcm.surround40_" + { + @func refer + name { + @func concat + strings [ + "cards.USB-Audio.pcm.surround40_type." + { @func card_name card $CARD } + ] + } + default default + } + ":CARD=" $CARD + ] + } + } +} + +USB-Audio.pcm.surround40_default { + @args [ CARD ] + @args.CARD { type string } + type hw + card $CARD + device 0 +} + +USB-Audio.pcm.surround40_six_channels { + @args [ CARD ] + @args.CARD { type string } + type route + ttable.0.0 1 + ttable.1.1 1 + ttable.2.4 1 + ttable.3.5 1 + slave { + pcm { + type hw + card $CARD + device 0 + } + channels 6 + } +} + +USB-Audio.pcm.surround40_two_stereo_devices { + @args [ CARD ] + @args.CARD { type string } + type route + ttable.0.0 1 + ttable.1.1 1 + ttable.2.2 1 + ttable.3.3 1 + slave.pcm { + type multi + slaves { + a { + pcm { + type hw + card $CARD + device 0 + } + channels 2 + } + b { + pcm { + type hw + card $CARD + device 1 + } + channels 2 + } + } + bindings [ + { slave a channel 0 } + { slave a channel 1 } + { slave b channel 0 } + { slave b channel 1 } + ] + } +} + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +USB-Audio.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { type string } + @func refer + name { + @func concat + strings [ + "cards.USB-Audio." + { @func card_name card $CARD } + ".pcm.surround51:CARD=" $CARD + ] + } + default { + type route + ttable.0.0 1 + ttable.1.1 1 + ttable.2.4 1 + ttable.3.5 1 + ttable.4.2 1 + ttable.5.3 1 + slave { + pcm { + type hw + card $CARD + device 0 + } + channels 6 + } + } +} + +<confdir:pcm/surround71.conf> + +USB-Audio.pcm.surround71.0 { + @args [ CARD ] + @args.CARD { type string } + @func refer + name { + @func concat + strings [ + "cards.USB-Audio." + { @func card_name card $CARD } + ".pcm.surround71:CARD=" $CARD + ] + } + default { + type route + ttable.0.0 1 + ttable.1.1 1 + ttable.2.4 1 + ttable.3.5 1 + ttable.4.2 1 + ttable.5.3 1 + ttable.6.6 1 + ttable.7.7 1 + slave { + pcm { + type hw + card $CARD + device 0 + } + channels 8 + } + } +} + +<confdir:pcm/iec958.conf> + +USB-Audio.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 } + @func refer + name { + @func concat + strings [ + "cards.USB-Audio." + { @func card_name card $CARD } + ".pcm.iec958:CARD=" $CARD + ",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3 + ] + } + default { + # FIXME: we cannot set the AES parameters + type hw + card $CARD + device { + @func refer + name { + @func concat + strings [ + "cards.USB-Audio.pcm.iec958_device." + { @func card_name card $CARD } + ] + } + default 0 + } + } +} + +# vim: ft=alsaconf
diff --git a/usr/share/alsa/cards/VIA686A.conf b/usr/share/alsa/cards/VIA686A.conf new file mode 100644 index 0000000..e4a06f2 --- /dev/null +++ b/usr/share/alsa/cards/VIA686A.conf
@@ -0,0 +1,89 @@ +# +# Configuration for the VIA686A chip +# +# SPDIF support is not complete - it might not work, especially with AC3 +# passthru mode... +# + +<confdir:pcm/front.conf> + +VIA686A.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# default with dmix/dsnoop +VIA686A.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/iec958.conf> + +VIA686A.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 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "IEC958 Playback AC97-SPSA" + lock true + preserve true + value 0 + } + { + name "IEC958 Playback Default" + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + name "IEC958 Playback Switch" + lock true + preserve true + value true + } + ] + } +}
diff --git a/usr/share/alsa/cards/VIA8233.conf b/usr/share/alsa/cards/VIA8233.conf new file mode 100644 index 0000000..668bfd9 --- /dev/null +++ b/usr/share/alsa/cards/VIA8233.conf
@@ -0,0 +1,200 @@ +# +# Configuration for the VIA8233/VIA8233C/VIA8235 chip with 4/6 multi-channel support +# + +<confdir:pcm/front.conf> + +VIA8233.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# default with softvol/dsnoop +# VIA8233 supports multi-playback +VIA8233.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + type softvol + slave.pcm { + type hw + card $CARD + } + control { + name "PCM Playback Volume" + card $CARD + } + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/surround40.conf> + +VIA8233.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + device 1 + channels 4 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Channel Mode" + preserve true + value "4ch" + lock true + optional true + } + # for old drivers + { + name "Line-In As Surround" + preserve true + value true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + ] + } +} + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +VIA8233.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + device 1 + channels 6 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Channel Mode" + preserve true + value "6ch" + lock true + optional true + } + # for old drivers + { + name "Line-In As Surround" + preserve true + value true + optional true + } + { + name "Mic As Center/LFE" + preserve true + value true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + { + name "Center/LFE Down Mix" + preserve true + value off + lock true + optional true + } + ] + } +} + +<confdir:pcm/iec958.conf> + +VIA8233.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 + subdevice 3 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "IEC958 Playback AC97-SPSA" + lock true + preserve true + value 3 + } + { + name "IEC958 Playback Default" + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + name "IEC958 Playback Switch" + lock true + preserve true + value true + } + { + name "IEC958 Output Switch" + lock true + preserve true + value true + } + ] + } +}
diff --git a/usr/share/alsa/cards/VIA8233A.conf b/usr/share/alsa/cards/VIA8233A.conf new file mode 100644 index 0000000..97d2a7d --- /dev/null +++ b/usr/share/alsa/cards/VIA8233A.conf
@@ -0,0 +1,204 @@ +# +# Configuration for the VIA8233A chip with 4/6 multi-channel support +# + +<confdir:pcm/front.conf> + +VIA8233A.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# default with dmix/dsnoop +VIA8233A.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + @func concat + strings [ "dmix:" $CARD ] + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/surround40.conf> + +VIA8233A.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + channels 4 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Swap Surround Slot" + lock true + preserve true + value false + optional true + } + { + name "Channel Mode" + preserve true + value "4ch" + lock true + optional true + } + # for old drivers + { + name "Line-In As Surround" + preserve true + value true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + ] + } +} + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +VIA8233A.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + channels 6 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Swap Surround Slot" + lock true + preserve true + value true + optional true + } + { + name "Channel Mode" + preserve true + value "6ch" + lock true + optional true + } + # for old drivers + { + name "Line-In As Surround" + preserve true + value true + optional true + } + { + name "Mic As Center/LFE" + preserve true + value true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + { + name "Center/LFE Down Mix" + preserve true + value off + lock true + optional true + } + ] + } +} + +<confdir:pcm/iec958.conf> + +VIA8233A.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 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "IEC958 Playback AC97-SPSA" + lock true + preserve true + value 3 + } + { + name "IEC958 Playback Default" + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + name "IEC958 Playback Switch" + lock true + preserve true + value true + } + { + name "IEC958 Output Switch" + lock true + preserve true + value true + } + ] + } +}
diff --git a/usr/share/alsa/cards/VIA8237.conf b/usr/share/alsa/cards/VIA8237.conf new file mode 100644 index 0000000..404e190 --- /dev/null +++ b/usr/share/alsa/cards/VIA8237.conf
@@ -0,0 +1,190 @@ +# +# Configuration for the VIA8237 chip with 4/6 multi-channel support +# + +<confdir:pcm/front.conf> + +VIA8237.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +# default with softvol/dsnoop +# VIA8237 supports multi-playback +VIA8237.pcm.default { + @args [ CARD ] + @args.CARD { + type string + } + type asym + playback.pcm { + type plug + slave.pcm { + type softvol + slave.pcm { + type hw + card $CARD + } + control { + name "PCM Playback Volume" + card $CARD + } + } + } + capture.pcm { + type plug + slave.pcm { + @func concat + strings [ "dsnoop:" $CARD ] + } + } +} + +<confdir:pcm/surround40.conf> + +VIA8237.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hooks + slave.pcm { + type hw + card $CARD + device 1 + channels 4 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Channel Mode" + preserve true + value "4ch" + lock true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + ] + } +} + +<confdir:pcm/surround41.conf> +<confdir:pcm/surround50.conf> +<confdir:pcm/surround51.conf> + +VIA8237.pcm.surround51.0 { + @args [ CARD ] + @args.CARD { + type string + } + type route + ttable.0.0 1 + ttable.1.1 1 + ttable.2.4 1 + ttable.3.5 1 + ttable.4.2 1 + ttable.5.3 1 + slave.pcm { + type hooks + slave.pcm { + type hw + card $CARD + device 1 + channels 6 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Channel Mode" + preserve true + value "6ch" + lock true + optional true + } + { + name "Surround Down Mix" + preserve true + value off + lock true + optional true + } + { + name "Center/LFE Down Mix" + preserve true + value off + lock true + optional true + } + ] + } + } + slave.channels 6 +} + +<confdir:pcm/iec958.conf> + +VIA8237.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 + subdevice 3 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "IEC958 Playback AC97-SPSA" + lock true + preserve true + value 3 + } + { + name "IEC958 Playback Default" + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + name "IEC958 Playback Switch" + lock true + preserve true + value true + } + { + name "IEC958 Output Switch" + lock true + preserve true + value true + } + ] + } +}
diff --git a/usr/share/alsa/cards/VX222.conf b/usr/share/alsa/cards/VX222.conf new file mode 100644 index 0000000..3385f25 --- /dev/null +++ b/usr/share/alsa/cards/VX222.conf
@@ -0,0 +1,61 @@ +# +# Configuration for Digigram VX222 +# + +<confdir:pcm/front.conf> + +VX222.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +<confdir:pcm/iec958.conf> + +VX222.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 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback Default" + lock true + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + # for compatibility with older drivers + name "IEC958 Playback Default" + lock true + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } +}
diff --git a/usr/share/alsa/cards/VXPocket.conf b/usr/share/alsa/cards/VXPocket.conf new file mode 100644 index 0000000..fe44ff5 --- /dev/null +++ b/usr/share/alsa/cards/VXPocket.conf
@@ -0,0 +1,61 @@ +# +# Configuration for Digigram VXpocket +# + +<confdir:pcm/front.conf> + +VXPocket.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +<confdir:pcm/iec958.conf> + +VXPocket.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 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback Default" + lock true + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + # for compatibility with older drivers + name "IEC958 Playback Default" + lock true + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } +}
diff --git a/usr/share/alsa/cards/VXPocket440.conf b/usr/share/alsa/cards/VXPocket440.conf new file mode 100644 index 0000000..197c2d6 --- /dev/null +++ b/usr/share/alsa/cards/VXPocket440.conf
@@ -0,0 +1,110 @@ +# +# Configuration for Digigram VXpocket440 +# + +<confdir:pcm/front.conf> + +VXPocket440.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +<confdir:pcm/rear.conf> + +VXPocket440.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 1 +} + +<confdir:pcm/surround40.conf> + +VXPocket440.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + master 1 + slaves [ + { + pcm { + @func concat + strings [ + "cards.VXPocket440.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.VXPocket440.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> + +VXPocket440.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 + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "IEC958 Playback Default" + lock true + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + # for compatibility with older drivers + name "IEC958 Playback Default" + lock true + preserve true + optional true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } +}
diff --git a/usr/share/alsa/cards/YMF744.conf b/usr/share/alsa/cards/YMF744.conf new file mode 100644 index 0000000..84dbcbe --- /dev/null +++ b/usr/share/alsa/cards/YMF744.conf
@@ -0,0 +1,108 @@ +# +# Configuration for the YMF744 chip +# + +<confdir:pcm/front.conf> + +YMF744.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD +} + +<confdir:pcm/rear.conf> + +YMF744.pcm.rear.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 2 +} + +<confdir:pcm/surround40.conf> + +YMF744.pcm.surround40.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.YMF744.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.YMF744.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> + +YMF744.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 1 + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "IEC958 Playback Switch" + lock true + preserve true + value 1 + } + { + interface PCM + name "IEC958 Playback PCM Stream" + device 1 + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + ] + } +}
diff --git a/usr/share/alsa/cards/aliases.conf b/usr/share/alsa/cards/aliases.conf new file mode 100644 index 0000000..4a92fb2 --- /dev/null +++ b/usr/share/alsa/cards/aliases.conf
@@ -0,0 +1,61 @@ +# +# Define aliases for various drivers +# + +YMF724 cards.YMF744 +YMF724F cards.YMF744 +YMF740 cards.YMF744 +YMF740C cards.YMF744 +YMF754 cards.YMF744 +CMIPCI cards.CMI8338 +CMI8738 cards.CMI8338 +CMI8738-SWIEC cards.CMI8338-SWIEC +CMI8738-MC4 cards.CMI8738-MC6 +'E-mu APS' cards.EMU10K1 +'GUS MAX' cards.GUS +'GUS ACE' cards.GUS +'GUS Extreme' cards.GUS +'AMD InterWave' cards.GUS +'Dynasonic 3-D' cards.GUS +'InterWave STB' cards.GUS +au8810 cards.AU8810 +au8820 cards.AU8820 +au8830 cards.AU8830 +Prodigy71 cards.Aureon71 +Prodigy71LT cards.Aureon71 +Prodigy71HIFI cards.Aureon71 +Aureon71Univ cards.Aureon71 +VIA82XX-MODEM cards.ICH-MODEM +'MPU-401 UART' cards.MPU-401 +'VX222/Old' cards.VX222 +'VX222/v2' cards.VX222 +'VX222/Mic' cards.VX222 +'CMI8330/C3D' cards.CMI8330 +'SB AWE' cards.SBAWE +'SB Pro' cards.SBPro +'PMac Burgundy' cards.PMac +'PMac DACA' cards.PMac +'PMac Tumbler' cards.PMac +'PMac Snapper' cards.PMac +'PMac Screamer' cards.PMac +'PMac AWACS' cards.PMac +'PMac Toonie' cards.PMacToonie +AppleOnbdAudio cards.PMacToonie +'USB US-X2Y' cards.US-X2Y +'Serial MIDI' cards.SerialMIDI +'Prodif Plus' cards.ProdifPlus +ESM1 cards.ES1968 +ES1978 cards.ES1968 +Allegro cards.Maestro3 +Canyon3D-2 cards.Maestro3 +Azalia cards.HDA-Intel +aaci-pl041 cards.AACI +AV66 cards.CMI8788 +AV100 cards.CMI8788 +AV200 cards.CMI8788 +CMI8786 cards.CMI8788 +CMI8787 cards.CMI8788 + +<confdir:pcm/default.conf> +<confdir:pcm/dmix.conf> +<confdir:pcm/dsnoop.conf>
diff --git a/usr/share/alsa/pcm/center_lfe.conf b/usr/share/alsa/pcm/center_lfe.conf new file mode 100644 index 0000000..4ef6f49 --- /dev/null +++ b/usr/share/alsa/pcm/center_lfe.conf
@@ -0,0 +1,58 @@ +# +# Hardware output from center & lfe speakers +# + +pcm.!center_lfe { + @args [ CARD DEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_CENTER_LFE_CARD + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.center_lfe.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_CENTER_LFE_DEVICE + ] + default { + @func refer + name defaults.pcm.center_lfe.device + } + } + } + type empty + slave.pcm { + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.center_lfe." $DEV ":CARD=" $CARD + ] + } + } + hint { + show { + @func refer + name defaults.namehint.basic + } + description "Center and Subwoofer speakers" + device $DEV + } +}
diff --git a/usr/share/alsa/pcm/default.conf b/usr/share/alsa/pcm/default.conf new file mode 100644 index 0000000..864a903 --- /dev/null +++ b/usr/share/alsa/pcm/default.conf
@@ -0,0 +1,57 @@ +# +# Default output +# + +pcm.!default { + @args [ CARD ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.card + } + } + } + type empty + slave.pcm { + # use card-specific definition if exists + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.default:CARD=" $CARD + ] + } + default { + # use plughw as default + type plug + slave.pcm { + type hw + card $CARD + } + hint.device 0 + } + } + hint { + description "Default Audio Device" + device_output { + @func refer + name defaults.pcm.dmix.device + } + device_input { + @func refer + name defaults.pcm.dsnoop.device + } + } +}
diff --git a/usr/share/alsa/pcm/dmix.conf b/usr/share/alsa/pcm/dmix.conf new file mode 100644 index 0000000..e62cb29 --- /dev/null +++ b/usr/share/alsa/pcm/dmix.conf
@@ -0,0 +1,115 @@ +# +# dmix output +# + +pcm.!dmix { + @args [ CARD DEV SUBDEV FORMAT RATE ] + @args.CARD { + type string + default { + @func refer + name defaults.pcm.dmix.card + } + } + @args.DEV { + type integer + default { + @func refer + name defaults.pcm.dmix.device + } + } + @args.SUBDEV { + type integer + default 0 + } + @args.FORMAT { + type string + default { + @func refer + name defaults.pcm.dmix.format + } + } + @args.RATE { + type integer + default { + @func refer + name defaults.pcm.dmix.rate + } + } + type dmix + ipc_key { + @func refer + name defaults.pcm.ipc_key + } + ipc_gid { + @func refer + name defaults.pcm.ipc_gid + } + ipc_perm { + @func refer + name defaults.pcm.ipc_perm + } + slave { + pcm { + type hw + card $CARD + device $DEV + subdevice $SUBDEV + } + format $FORMAT + rate $RATE + period_size { + @func refer + name { + @func concat + strings [ + "defaults.dmix." + { + @func card_driver + card $CARD + } + ".period_size" + ] + } + default 1024 + } + period_time { + @func refer + name { + @func concat + strings [ + "defaults.dmix." + { + @func card_driver + card $CARD + } + ".period_time" + ] + } + default -1 + } + periods { + @func refer + name { + @func concat + strings [ + "defaults.dmix." + { + @func card_driver + card $CARD + } + ".periods" + ] + } + default 16 + } + } + hint { + show { + @func refer + name defaults.namehint.extended + } + description "Direct sample mixing device" + device $DEV + } +}
diff --git a/usr/share/alsa/pcm/dpl.conf b/usr/share/alsa/pcm/dpl.conf new file mode 100644 index 0000000..1009bb3 --- /dev/null +++ b/usr/share/alsa/pcm/dpl.conf
@@ -0,0 +1,43 @@ +pcm.!dpl { + @args [ SLAVE ] + @args.SLAVE { + type string + } + type route + slave.pcm $SLAVE + slave.channels 2 + # input: FL/FR/SL/SR/C/LFE + # S=SL+SR, LFE not used + ttable.0.0 1 + ttable.1.1 1 + ttable.2.0 0.707 + ttable.2.1 -0.707 + ttable.3.0 0.707 + ttable.3.1 -0.707 + ttable.4.0 0.707 + ttable.4.1 0.707 + ttable.5.0 0 + ttable.5.1 0 +} + +pcm.!dpl2 { + @args [SLAVE] + @args.SLAVE { + type string + } + type route + slave.pcm $SLAVE + slave.channels 2 + # input: FL/FR/SL/SR/C/LFE + # LFE not used + ttable.0.0 1 + ttable.1.1 1 + ttable.2.0 0.866 + ttable.2.1 -0.5 + ttable.3.0 0.5 + ttable.3.1 -0.866 + ttable.4.0 0.707 + ttable.4.1 0.707 + ttable.5.0 0 + ttable.5.1 0 +}
diff --git a/usr/share/alsa/pcm/dsnoop.conf b/usr/share/alsa/pcm/dsnoop.conf new file mode 100644 index 0000000..49cfca9 --- /dev/null +++ b/usr/share/alsa/pcm/dsnoop.conf
@@ -0,0 +1,115 @@ +# +# dsnoop +# + +pcm.!dsnoop { + @args [ CARD DEV SUBDEV FORMAT RATE ] + @args.CARD { + type string + default { + @func refer + name defaults.pcm.dsnoop.card + } + } + @args.DEV { + type integer + default { + @func refer + name defaults.pcm.dsnoop.device + } + } + @args.SUBDEV { + type integer + default 0 + } + @args.FORMAT { + type string + default { + @func refer + name defaults.pcm.dmix.format + } + } + @args.RATE { + type integer + default { + @func refer + name defaults.pcm.dmix.rate + } + } + type dsnoop + ipc_key { + @func refer + name defaults.pcm.ipc_key + } + ipc_gid { + @func refer + name defaults.pcm.ipc_gid + } + ipc_perm { + @func refer + name defaults.pcm.ipc_perm + } + slave { + pcm { + type hw + card $CARD + device $DEV + subdevice $SUBDEV + } + format $FORMAT + rate $RATE + period_size { + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.dsnoop.period_size" + ] + } + default 1024 + } + period_time { + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.dsnoop.period_time" + ] + } + default -1 + } + periods { + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.dsnoop.periods" + ] + } + default 16 + } + } + hint { + show { + @func refer + name defaults.namehint.extended + } + description "Direct sample snooping device" + device $DEV + } +}
diff --git a/usr/share/alsa/pcm/front.conf b/usr/share/alsa/pcm/front.conf new file mode 100644 index 0000000..7aff0cb --- /dev/null +++ b/usr/share/alsa/pcm/front.conf
@@ -0,0 +1,58 @@ +# +# Hardware output from front speakers +# + +pcm.!front { + @args [ CARD DEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_FRONT_CARD + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.front.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_FRONT_DEVICE + ] + default { + @func refer + name defaults.pcm.front.device + } + } + } + type empty + slave.pcm { + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.front." $DEV ":CARD=" $CARD + ] + } + } + hint { + show { + @func refer + name defaults.namehint.basic + } + description "Front speakers" + device $DEV + } +}
diff --git a/usr/share/alsa/pcm/hdmi.conf b/usr/share/alsa/pcm/hdmi.conf new file mode 100644 index 0000000..aad7065 --- /dev/null +++ b/usr/share/alsa/pcm/hdmi.conf
@@ -0,0 +1,83 @@ +# +# Hardware output from HDMI +# + +pcm.!hdmi { + @args [ CARD DEV AES0 AES1 AES2 AES3 ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_IEC958_CARD + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.iec958.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_IEC958_DEVICE + ] + default { + @func refer + name defaults.pcm.iec958.device + } + } + } + @args.AES0 { + type integer + # consumer, not-copyright, emphasis-none, mode=0 + default 0x04 + } + @args.AES1 { + type integer + # original, PCM coder + default 0x82 + } + @args.AES2 { + type integer + # source and channel + default 0x00 + } + @args.AES3 { + type integer + # fs=48000Hz, clock accuracy=1000ppm + default 0x02 + } + type empty + slave.pcm { + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.hdmi." $DEV ":" + "CARD=" $CARD "," + "AES0=" $AES0 "," + "AES1=" $AES1 "," + "AES2=" $AES2 "," + "AES3=" $AES3 + ] + } + } + hint { + show { + @func refer + name defaults.namehint.basic + } + description "HDMI Audio Output" + device $DEV + } +}
diff --git a/usr/share/alsa/pcm/iec958.conf b/usr/share/alsa/pcm/iec958.conf new file mode 100644 index 0000000..ac139b5 --- /dev/null +++ b/usr/share/alsa/pcm/iec958.conf
@@ -0,0 +1,83 @@ +# +# Hardware output from iec958 +# + +pcm.!iec958 { + @args [ CARD DEV AES0 AES1 AES2 AES3 ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_IEC958_CARD + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.iec958.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_IEC958_DEVICE + ] + default { + @func refer + name defaults.pcm.iec958.device + } + } + } + @args.AES0 { + type integer + # consumer, not-copyright, emphasis-none, mode=0 + default 0x04 + } + @args.AES1 { + type integer + # original, PCM coder + default 0x82 + } + @args.AES2 { + type integer + # source and channel + default 0x00 + } + @args.AES3 { + type integer + # fs=48000Hz, clock accuracy=1000ppm + default 0x02 + } + type empty + slave.pcm { + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.iec958." $DEV ":" + "CARD=" $CARD "," + "AES0=" $AES0 "," + "AES1=" $AES1 "," + "AES2=" $AES2 "," + "AES3=" $AES3 + ] + } + } + hint { + show { + @func refer + name defaults.namehint.basic + } + description "IEC958 (S/PDIF) Digital Audio Output" + device $DEV + } +}
diff --git a/usr/share/alsa/pcm/modem.conf b/usr/share/alsa/pcm/modem.conf new file mode 100644 index 0000000..0af0e72 --- /dev/null +++ b/usr/share/alsa/pcm/modem.conf
@@ -0,0 +1,106 @@ +# +# "raw" modem - phoneline +# + +pcm.!phoneline { + @args [ CARD DEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_MODEM_CARD + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.modem.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_MODEM_DEVICE + ] + default { + @func refer + name defaults.pcm.modem.device + } + } + } + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.modem." $DEV ":CARD=" $CARD + ] + } + hint.show off +} + +# +# "autohooked" modem +# + +pcm.!modem { + @args [ CARD DEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_MODEM_CARD + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.modem.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_MODEM_DEVICE + ] + default { + @func refer + name defaults.pcm.modem.device + } + } + } + type hooks + slave { + pcm { + @func concat + strings [ + "cards.pcm.phoneline:CARD=" $CARD ",DEV=" $DEV + ] + } + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Off-hook Switch" + preserve true + value "on" + lock false + optional true + } + ] + } + hint.show off +}
diff --git a/usr/share/alsa/pcm/rear.conf b/usr/share/alsa/pcm/rear.conf new file mode 100644 index 0000000..85c70aa --- /dev/null +++ b/usr/share/alsa/pcm/rear.conf
@@ -0,0 +1,58 @@ +# +# Hardware output from rear speakers +# + +pcm.!rear { + @args [ CARD DEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_REAR_CARD + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.rear.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_REAR_DEVICE + ] + default { + @func refer + name defaults.pcm.rear.device + } + } + } + type empty + slave.pcm { + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.rear." $DEV ":CARD=" $CARD + ] + } + } + hint { + show { + @func refer + name defaults.namehint.basic + } + description "Rear speakers" + device $DEV + } +}
diff --git a/usr/share/alsa/pcm/side.conf b/usr/share/alsa/pcm/side.conf new file mode 100644 index 0000000..4a81af0 --- /dev/null +++ b/usr/share/alsa/pcm/side.conf
@@ -0,0 +1,58 @@ +# +# Hardware output from side speakers +# + +pcm.!side { + @args [ CARD DEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_SIDE_CARD + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.side.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_SIDE_DEVICE + ] + default { + @func refer + name defaults.pcm.side.device + } + } + } + type empty + slave.pcm { + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.side." $DEV ":CARD=" $CARD + ] + } + } + hint { + show { + @func refer + name defaults.namehint.basic + } + description "Side speakers" + device $DEV + } +}
diff --git a/usr/share/alsa/pcm/surround40.conf b/usr/share/alsa/pcm/surround40.conf new file mode 100644 index 0000000..361ccaa --- /dev/null +++ b/usr/share/alsa/pcm/surround40.conf
@@ -0,0 +1,59 @@ +# +# Hardware output from 4.0 speakers. +# Samples must be positioned: +# chn0 - front left +# chn1 - front right +# chn2 - rear left +# chn3 - rear right +# + +pcm.!surround40 { + @args [ CARD DEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_SURROUND40_CARD + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.surround40.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_SURROUND40_DEVICE + ] + default { + @func refer + name defaults.pcm.surround40.device + } + } + } + type empty + slave.pcm { + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.surround40." $DEV ":CARD=" $CARD + ] + } + } + hint { + description "4.0 Surround output to Front and Rear speakers" + device $DEV + } +}
diff --git a/usr/share/alsa/pcm/surround41.conf b/usr/share/alsa/pcm/surround41.conf new file mode 100644 index 0000000..10e486e --- /dev/null +++ b/usr/share/alsa/pcm/surround41.conf
@@ -0,0 +1,66 @@ +# +# Hardware output from 4.1 speakers. +# Samples must be positioned: +# chn0 - front left +# chn1 - front right +# chn2 - rear left +# chn3 - rear right +# chn4 - LFE +# + +pcm.!surround41 { + @args [ CARD DEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_SURROUND41_CARD + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.surround41.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_SURROUND41_DEVICE + ] + default { + @func refer + name defaults.pcm.surround41.device + } + } + } + type route + slave.pcm { + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.surround51." $DEV ":CARD=" $CARD + ] + } + } + slave.channels 6 + ttable.0.0 1 + ttable.1.1 1 + ttable.2.2 1 + ttable.3.3 1 + ttable.4.5 1 + hint { + description "4.1 Surround output to Front, Rear and Subwoofer speakers" + device $DEV + } +}
diff --git a/usr/share/alsa/pcm/surround50.conf b/usr/share/alsa/pcm/surround50.conf new file mode 100644 index 0000000..7b7b17e --- /dev/null +++ b/usr/share/alsa/pcm/surround50.conf
@@ -0,0 +1,66 @@ +# +# Hardware output from 5.0 speakers. +# Samples must be positioned: +# chn0 - front left +# chn1 - front right +# chn2 - rear left +# chn3 - rear right +# chn4 - center +# + +pcm.!surround50 { + @args [ CARD DEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_SURROUND50_CARD + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.surround50.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_SURROUND50_DEVICE + ] + default { + @func refer + name defaults.pcm.surround50.device + } + } + } + type route + slave.pcm { + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.surround51." $DEV ":CARD=" $CARD + ] + } + } + slave.channels 6 + ttable.0.0 1 + ttable.1.1 1 + ttable.2.2 1 + ttable.3.3 1 + ttable.4.4 1 + hint { + description "5.0 Surround output to Front, Center and Rear speakers" + device $DEV + } +}
diff --git a/usr/share/alsa/pcm/surround51.conf b/usr/share/alsa/pcm/surround51.conf new file mode 100644 index 0000000..3a7543f --- /dev/null +++ b/usr/share/alsa/pcm/surround51.conf
@@ -0,0 +1,61 @@ +# +# Hardware output from 5.1 speakers +# Samples must be positioned: +# chn0 - front left +# chn1 - front right +# chn2 - rear left +# chn3 - rear right +# chn4 - center +# chn5 - lfe +# + +pcm.!surround51 { + @args [ CARD DEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_SURROUND51_CARD + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.surround51.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_SURROUND51_DEVICE + ] + default { + @func refer + name defaults.pcm.surround51.device + } + } + } + type empty + slave.pcm { + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.surround51." $DEV ":CARD=" $CARD + ] + } + } + hint { + description "5.1 Surround output to Front, Center, Rear and Subwoofer speakers" + device $DEV + } +}
diff --git a/usr/share/alsa/pcm/surround71.conf b/usr/share/alsa/pcm/surround71.conf new file mode 100644 index 0000000..076a97d --- /dev/null +++ b/usr/share/alsa/pcm/surround71.conf
@@ -0,0 +1,63 @@ +# +# Hardware output from 7.1 speakers +# Samples must be positioned: +# chn0 - front left +# chn1 - front right +# chn2 - rear left +# chn3 - rear right +# chn4 - center +# chn5 - lfe +# chn6 - side left +# chn7 - side right +# + +pcm.!surround71 { + @args [ CARD DEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_SURROUND71_CARD + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.surround71.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_SURROUND71_DEVICE + ] + default { + @func refer + name defaults.pcm.surround71.device + } + } + } + type empty + slave.pcm { + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.surround71." $DEV ":CARD=" $CARD + ] + } + } + hint { + description "7.1 Surround output to Front, Center, Side, Rear and Woofer speakers" + device $DEV + } +}
diff --git a/usr/share/alsa/smixer.conf b/usr/share/alsa/smixer.conf new file mode 100644 index 0000000..f215661 --- /dev/null +++ b/usr/share/alsa/smixer.conf
@@ -0,0 +1,13 @@ +_full smixer-python.so +usb { + searchl "USB" + lib smixer-usb.so +} +ac97 { + searchl "AC97a:" + lib smixer-ac97.so +} +hda { + searchl "HDA:" + lib smixer-hda.so +}
diff --git a/var/lib/alsa/asound.state b/var/lib/alsa/asound.state new file mode 100644 index 0000000..87b3a3c --- /dev/null +++ b/var/lib/alsa/asound.state
@@ -0,0 +1,17 @@ +#Sound Card State +state.A5SEVK { + control.25 { + iface MIXER + name 'Input Mux' + value 'Both Mic' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Line-in + item.1 'Both Mic' + item.2 Unknown + } + } +} +