Червоноокий блог - alsa і pulseaudio

Pulseaudio хороший, мені все в ньому подобається. Одна біда - деякі додатки постарше не завжди коректно з ним працюють. Сьогодні я захотів раптом згадати старі часи і пограти в neverwinter nights. Знайшов у себе дистрибутив, запустив, все було б добре, якби не переривчастий звук. Я точно пам'ятав, що на alsa він працював. Оскільки відмовлятися від pulseaudio через одну іграшки мені не хотілося, я прийшов до нижческазаного рішенням.

Основна ідея така - потрібна можливість задавати пристрій за умовчанням через змінні оточення. Рішення виявилося простим до неподобства. Всього-на-всього треба вставити простеньку подпрограмку в asound.conf, яка буде звертатися до змінної оточення.

Отже, лістинг /etc/asound.conf

Відповідно щоб звук потрібної програми не направлявся на pulseaudio, досить встановити змінну оточення:

Якщо ця змінна оточення не задана, то будь-яка програма, написана з використанням alsalib буде працювати через pulseaudio.

Щоб запускати якісь конкретні програми, найпростіше написати shell-скрипти, наприклад:

І запускати за допомогою nwn-alsa.

Як відомо, змінні оточення зберігаються тільки всередині поточної і дочірніх сесій оболонки, тому при використанні такого скрипта бачити нашу змінну буде тільки ./nwn

P.S. Так, є мінус, який виявився лише згодом. ALSA блокує звуковуху, так що в процесі роботи програми через ALSA, звук через інші звукові сервери виводитися не буде, на жаль. Придумаю як обійти - розповім

Мої проекти

Схожі статті