После очередного обновления операционной системы на своих персональных компьютерах перестал работать звук в firefox.
В целях сокращения количества граблей, на которые можно наступить при обновлении, обновление своих FreeBSD систем я произвожу в следующем порядке:
- Обновление специально обученной виртуальной машины и пересборка на ней всех пакетов, используемых на своих рабочих местах
- Обновление системы на своих рабочих местах и ноутбуке и установка на них пакетов, собранных на виртуальной машине
- Обновление некритичных систем, таких как система мониторинга
- Обновление критичных систем
Такая последовательность позволяет выявить особенности процедуры обновления до того, как сломаешь что-то важное, обновить параметры используемых пакетов и так далее.
И вот, прочитав в release notes к FreeBSD 14.1:
The snd_clone framework has been removed from the sound subsystem, including related sysctls, simplifying the system. The per-channel nodes (/dev/dspX.Y) are no longer created, just the primary device (/dev/dspX). e6c51f6db8d7 (Sponsored by The FreeBSD Foundation)
Обновляю рабочий компьютер до 14.1, устанавливаю свежесобранные пакеты, запускаю www/firefox, и... выясняю, что в нём теперь не работает звук. И, если на youtube ролик идёт просто без звука, то при попытке послушать музыку на music.yandex.ru получаю сообщение:
Произошла ошибка при попытке воспроизведения трека. Проверьте ваше подключение к сети и повторите попытку. Если ошибка повторится, обратитесь в службу поддержки
А multimedia/mpv при проигрывании файлов выводит:
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM oss
[ao/alsa] Playback open error: No such file or directory
При этом проблема воспроизводится после обновления на обоих рабочих компьютерах и ноутбуке.
Сопоставив информацию из release notes и поведение приложений возникает очевидное предположение, что это изменение поведения ОС может каким-то образом ломать работу ALSA.
В попытках продиагностировать проблему устанавливаю пакет audio/alsa-utils, запускаю входящий в него штатный "проигрыватель" aplay и выясняю, что через него то звук работает. Но... после установки пакета, также и mpv перестаёт ругаться на ALSA, а firefox начинает воспроизводить звук.
Выяснилось, что у пакета alsa-utils в зависимостях указан пакет audio/alsa-plugins, который и требуется ALSA для корректного воспроизведения звука. Раньше пакет audio/alsa-plugins был также указан в списке зависимостей пакета www/chromium. Т.е. раньше у меня звук в firefox работал потому, что также был установлен chromium. По какой-то причине из зависимостей chromium убрали alsa-plugins, что и сломало звук в firefox.
Что ж, логично...