Date: Thu, 25 Sep 2003 12:52:40 +0300 (EEST) From: Serge Ryabchun <sr osdn org ua> To: Sisyphus altlinux ru Subject: /etc/rc.d/init.d/sound, aumix, alsa, oss Не совсем понятна наша политика со звуком: Если есть ALSA, грузим ALSA, иначе грузим OSS. IMHO, очень жесткая завязка. У меня 3 источника звука - es1371, на ней висят колонки, в зависимости от задачи грузятся alsa или oss; via8235, воткнут в телевизор вместе с tvout, грузится alsa; и tvtuner, но этим за последний год я не пользовался, хотя он таки есть. Те меня совершенно не устраивает имеющийся стартовый скрипт, пришлось заменить своим: cat /adm/sound >>>>>>>>>>>>--- #!/bin/bash function rm_sound_modules() { [ -f /etc/sysconfig/sound-0.alsa -o -f /etc/sysconfig/sound-0.oss ] && modprobe -r sound-slot-0 [ -f /etc/sysconfig/sound-1.alsa -o -f /etc/sysconfig/sound-1.oss ] && modprobe -r sound-slot-1 [ -f /etc/sysconfig/sound-2.alsa -o -f /etc/sysconfig/sound-2.oss ] && modprobe -r sound-slot-2 } function probe_sound_modules() { [ -f /etc/sysconfig/sound-0.alsa -o -f /etc/sysconfig/sound-0.oss ] && modprobe sound-slot-0 [ -f /etc/sysconfig/sound-1.alsa -o -f /etc/sysconfig/sound-1.oss ] && modprobe sound-slot-1 [ -f /etc/sysconfig/sound-2.alsa -o -f /etc/sysconfig/sound-2.oss ] && modprobe sound-slot-2 } case "$1" in start|restart|reload) rm_sound_modules probe_sound_modules ;; stop) rm_sound_modules ;; set) case "$2" in 0|1|2) case "$3" in alsa|oss) rm_sound_modules rm -f /etc/sysconfig/sound-$2.* 2> /dev/null touch /etc/sysconfig/sound-$2.$3 probe_sound_modules ;; esac ;; *) ;; esac ;; *) ;; esac exit 0 <<<<<<<<<<<<--- в quake3 зовется "sudo /adm/sound set 0 oss", а в winex "sudo /adm/sound set 0 alsa" В modules.conf прописано: alias char-major-116 snd post-install sound-slot-0 /usr/bin/aumix -d /dev/mixer -f /etc/.aumixrc -L >/dev/null 2>&1 || : pre-remove sound-slot-0 /usr/bin/aumix -d /dev/mixer -f /etc/.aumixrc -S >/dev/null 2>&1 || : post-install sound-slot-1 /usr/bin/aumix -d /dev/mixer1 -f /etc/.aumixrc1 -L >/dev/null 2>&1 || : pre-remove sound-slot-1 /usr/bin/aumix -d /dev/mixer1 -f /etc/.aumixrc1 -S >/dev/null 2>&1 || : if -f /etc/sysconfig/sound-0.oss alias sound-slot-0 es1371 alias sound-service-0-0 es1371 elseif -f /etc/sysconfig/sound-0.alsa alias snd-card-0 snd-ens1371 below snd-card-0 snd-pcm-oss alias sound-slot-0 snd-card-0 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss endif if -f /etc/sysconfig/sound-1.oss alias sound-slot-1 via82cxxx_audio alias sound-service-1-0 via82cxxx_audio elseif -f /etc/sysconfig/sound-1.alsa alias snd-card-1 snd-via82xx below snd-card-1 snd-pcm-oss alias sound-slot-1 snd-card-1 alias sound-service-1-0 snd-mixer-oss alias sound-service-1-1 snd-seq-oss alias sound-service-1-3 snd-pcm-oss alias sound-service-1-8 snd-seq-oss alias sound-service-1-12 snd-pcm-oss endif
From: Serge Ryabchun <sr osdn org ua> --- Btw, у меня есть initsripts.bin: $ ./rc.service Usage: rc.service --rc.sysinit [--log] rc.service --rc {0|1|2|3|4|5|6} rc.service {--clock|--random|--numlock|--setfont|--setsysfont} [parameter] rc.service {--network|--netfs} [parameter] rc.service {--ifup|--ifdown} <device> rc.service {--idetune} специально делался для маломощных тачек, критичных к времени загрузки, их есть у меня, полностью совместим с Альтовым initscripts по /etc/sysconfig/*, собирается с dietlibc, не использует malloc()/*printf(), ip вместо ifconfig, минимум форков, кое-какие скрипты форкаются в background, но это пока не кофигурится, то, что после -- может быть именем типа clock, S??clock, K??clock эквивалентно "rc.service --clock". Кое-что из этого пока в отключенном состоянии.
changed maintainer
Не совсем сюда, но по поводу двух+ звукокарт: http://www.dzhi.sp.ru/drivers/four_sndcard.html
требуется пересмотр по текущим обстоятельствам
re
Боюсь, в рамках sound-scripts это не будет исправлено никогда. 2 sr: мож как-нить подумаем, что с этой бодягой теперь делать? ;-)