[sisyphus] Поясните, как у нас грузится звук?
Alexei V. Mezin
=?iso-8859-1?q?alex=5Fat=5Fibh_=CE=C1_mail=2Eru?=
Вт Дек 18 12:16:25 MSK 2007
Продолжаю борьбу с невосстановлением настроек микшера. Возник вопрос:
как вообще у нас происходит загрузка звука?
Верно ли я понял, что:
- при старте системы сначала загружается udevd, у которого в /lib/udev
есть скрипты, выполняющие действия при появлении устройств.
- далее, при старте системы загружается hotplug, который смотрит в
PCI/USB/прочие места, находит девайсы, загружает для них модули, при
этом udev как-то это обнаруживает, создает устройства в /dev и выполняет
скрипты из /lib/udev
Просто наблюдается очень странное поведение:
при загрузке системы, в момент появления надписи populating dev оживает
звуковуха (в колонки начинает транслироваться звук с линейного входа),
причем громкость (установки микшера) сразу выставлена на некоторый
уровень. Далее идет нормальная загрузка, но уровень звука уже не
меняется. При просмотре логов с предварительно добавленными
debug-сообщениями в /lib/udev/spund... видно, что скрипт отрабатывает
три раза для трех звуковых устройств (Sb Live основная, набортная и
тв-тюнер), никаких ошибок не происходит, попытки выполнить процедуру
установки дефолтных значение не наблюдается. Но и уровни микшера не
меняется! При этом дословное выполнение команды из скрипта вручную
работает нормально, настройки меняются.
И второй вопрос: поиск в /etc и /lib/udev показывает, что сохранение
микшера происходит в ТРЕХ местах (сервис sound, скрипт от hotplug и
скрипт от udev), восстановление в двух (hotplug, udev). При этом
работает вроде только udev и sound, если он включен (а зачем он нужен,
не ясно). Почему тройное дублирование одного кода?
P.S. Разобраться в скриптах загрузки АЛЬТ (современного линукса?)
сложнее, чем в винде. Ибо в винде хоть все закрыто, и поэтому непонятно.
А тут все открыто, и все равно непонятно.
Подробная информация о списке рассылки Sisyphus