From f043441788b819f8e919d9c9453deed1d9b44c54 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Sat, 24 May 2014 13:23:23 +0300 Subject: [PATCH] alsa-utils: try improve soundconfig pass card num via udev. no need to loop thru all. needs testing --- .../audio/alsa/alsa-utils/scripts/soundconfig | 144 +++++++++--------- .../alsa/alsa-utils/udev.d/40-alsa.rules | 2 +- 2 files changed, 74 insertions(+), 72 deletions(-) diff --git a/packages/audio/alsa/alsa-utils/scripts/soundconfig b/packages/audio/alsa/alsa-utils/scripts/soundconfig index 11a398859b..6cc611f645 100755 --- a/packages/audio/alsa/alsa-utils/scripts/soundconfig +++ b/packages/audio/alsa/alsa-utils/scripts/soundconfig @@ -36,94 +36,96 @@ if [ -f $HOME/.config/sound.conf ]; then alsactl restore -f $HOME/.config/sound.conf else - for i in `seq 0 9` ; do - # set common mixer params - mixer $i Master 100% - mixer $i Front 100% - mixer $i PCM 100% - mixer $i Synth 100% - # mute CD, since using digital audio instead - mixer $i CD 0% mute +# get card num + card=`echo $1 | sed 's/[^0-9]*//g'` - # Only unmute Line and Aux if they are possibly used. - # mixer $i Line 100% - # mixer $i Aux 100% +# set common mixer params + mixer $card Master 100% + mixer $card Front 100% + mixer $card PCM 100% + mixer $card Synth 100% - # mute mic - mixer $i Mic 0% mute +# mute CD, since using digital audio instead + mixer $card CD 0% mute - # ESS 1969 chipset has 2 PCM channels - mixer $i PCM,1 100% +# Only unmute Line and Aux if they are possibly used. +# mixer $card Line 100% +# mixer $card Aux 100% - # Trident/YMFPCI/emu10k1 - mixer $i Wave 100% - mixer $i Music 100% - mixer $i AC97 100% - mixer $i Surround 90% - mixer $i 'Surround Digital' 90% - mixer $i 'Wave Surround' 90% - mixer $i 'Duplicate Front' 90% - mixer $i 'Sigmatel 4-Speaker Stereo' 90% +# mute mic + mixer $card Mic 0% mute - # CS4237B chipset: - mixer $i 'Master Digital' 100% +# ESS 1969 chipset has 2 PCM channels + mixer $card PCM,1 100% - # DRC - mixer $i 'Dynamic Range Compression' 90% +# Trident/YMFPCI/emu10k1 + mixer $card Wave 100% + mixer $card Music 100% + mixer $card AC97 100% + mixer $card Surround 90% + mixer $card 'Surround Digital' 90% + mixer $card 'Wave Surround' 90% + mixer $card 'Duplicate Front' 90% + mixer $card 'Sigmatel 4-Speaker Stereo' 90% - # Envy24 chips with analog outs - mixer $i DAC 100% - mixer $i DAC,0 100% - mixer $i DAC,1 100% +# CS4237B chipset: + mixer $card 'Master Digital' 100% - # some notebooks use headphone instead of master - mixer $i Headphone 100% - mixer $i Speaker 100% - mixer $i 'Internal Speaker' 0% mute - mixer $i Playback 100% - mixer $i Headphone 100% - mixer $i Speaker 100% - mixer $i Center 100% - mixer $i LFE 100% - mixer $i Center/LFE 100% +# DRC + mixer $card 'Dynamic Range Compression' 90% - # Intel P4P800-MX (Ubuntu bug #5813) - mixer $i 'Master Playback Switch' on +# Envy24 chips with analog outs + mixer $card DAC 100% + mixer $card DAC,0 100% + mixer $card DAC,1 100% - # set digital output mixer params - mixer $i 'IEC958' 100% on - mixer $i 'IEC958 Output' 100% - mixer $i 'IEC958 Coaxial' 100% - mixer $i 'IEC958 LiveDrive' 100% - mixer $i 'IEC958 Optical Raw' 100% - mixer $i 'SPDIF Out' 100% - mixer $i 'SPDIF Front' 100% - mixer $i 'SPDIF Rear' 100% - mixer $i 'SPDIF Center/LFE' 100% - mixer $i 'Master Digital' 100% +# some notebooks use headphone instead of master + mixer $card Headphone 100% + mixer $card Speaker 100% + mixer $card 'Internal Speaker' 0% mute + mixer $card Playback 100% + mixer $card Headphone 100% + mixer $card Speaker 100% + mixer $card Center 100% + mixer $card LFE 100% + mixer $card Center/LFE 100% - mixer $i 'Analog Front' 100% - mixer $i 'Analog Rear' 100% - mixer $i 'Analog Center/LFE' 100% +# Intel P4P800-MX (Ubuntu bug #5813) + mixer $card 'Master Playback Switch' on - # ASRock ION 330 (and perhaps others) has 2 IEC958 channels - mixer $i IEC958,0 on - mixer $i IEC958,1 on +# set digital output mixer params + mixer $card 'IEC958' 100% on + mixer $card 'IEC958 Output' 100% + mixer $card 'IEC958 Coaxial' 100% + mixer $card 'IEC958 LiveDrive' 100% + mixer $card 'IEC958 Optical Raw' 100% + mixer $card 'SPDIF Out' 100% + mixer $card 'SPDIF Front' 100% + mixer $card 'SPDIF Rear' 100% + mixer $card 'SPDIF Center/LFE' 100% + mixer $card 'Master Digital' 100% - # some ION2 has much more IEC958 channels ... - mixer $i IEC958,2 on - mixer $i IEC958,3 on + mixer $card 'Analog Front' 100% + mixer $card 'Analog Rear' 100% + mixer $card 'Analog Center/LFE' 100% - # ASRock ION 330 has Master Front set to 0 - mixer $i 'Master Front' 100% +# ASRock ION 330 (and perhaps others) has 2 IEC958 channels + mixer $card IEC958,0 on + mixer $card IEC958,1 on - # Shuttle XS35GT needs this too - mixer $i 'Master',0 100% on +# some ION2 has much more IEC958 channels ... + mixer $card IEC958,2 on + mixer $card IEC958,3 on - # and this for various Fusion devices like Zotac ZBOX - mixer $i 'Front',0 100% on - done &>/dev/null +# ASRock ION 330 has Master Front set to 0 + mixer $card 'Master Front' 100% + +# Shuttle XS35GT needs this too + mixer $card 'Master',0 100% on + +# and this for various Fusion devices like Zotac ZBOX + mixer $card 'Front',0 100% on fi exit 0 diff --git a/packages/audio/alsa/alsa-utils/udev.d/40-alsa.rules b/packages/audio/alsa/alsa-utils/udev.d/40-alsa.rules index 25d3d673a6..fb381d00ba 100644 --- a/packages/audio/alsa/alsa-utils/udev.d/40-alsa.rules +++ b/packages/audio/alsa/alsa-utils/udev.d/40-alsa.rules @@ -17,4 +17,4 @@ ################################################################################ # When a sound device is detected, restore the volume settings - KERNEL=="controlC[0-9]*", NAME="snd/%k", ACTION=="add", RUN+="soundconfig" + KERNEL=="controlC[0-9]*", NAME="snd/%k", ACTION=="add", RUN+="soundconfig %k"