Как устранить проблему с отсутствием звука на компьютерах MacBook под управлением Linux

Да, Linux можно установить и запустить на компьютерах MacBook, особенно на старых моделях с процессорами Intel, но, скорее всего, у вас не будет звука по умолчанию, а только виртуальный выход, поэтому вот как это исправить.
Недавно я получил старый компьютер MacBook Pro от человека, который хотел установить на него Linux, потому что Apple больше не поддерживает это устройство. Я говорю о 13-дюймовом MacBook Pro 2017 года с двумя портами Thunderbolt 3 и идентификатором модели MacBookPro14,1.
Я пробовал несколько дистрибутивов, в том числе Ubuntu 25.04 (Plucky Puffin), Ubuntu 24.04.2 (Noble Numbat), Fedora Linux 42 и openSUSE Tumbleweed. Ubuntu 25.04 вообще не работала, потому что не распознавала клавиатуру и тачпад, но всё остальное работало нормально.
Однако у всех них была одна и та же проблема: звуковая карта не работала. Я искал в интернете и пробовал всевозможные решения (большинство из них устарели на несколько лет — даже обзор Google AI неверен), но сработало только одно решение, поэтому я пишу это руководство для всех, кто ищет быстрое решение этой проблемы.
Забудьте о перезапуске демонов PipeWire или PulseAudio, изменении конфигурации ALSA, добавлении модулей ядра в чёрный список, установке другого ядра и т. д. Проблема с фиктивным выходом в Linux заключается в том, что отсутствует нужный драйвер, поэтому для её решения вам нужно сначала определить кодек, используемый звуковой картой вашего MacBook.
В случае с MacBookPro14,1 использовался кодек Cirrus Logic CS8409. Узнайте, какой звуковой кодек использует ваш компьютер, выполнив следующую команду в приложении «Терминал».
cat /proc/asound/card*/codec* | grep Codec
Вот результат выполнения вышеуказанной команды на 13-дюймовом MacBook Pro 2017 года выпуска.
По какой-то неизвестной причине в текущих версиях ядра Linux нет драйвера для аудиокодека Cirrus Logic CS8409, но хорошая новость в том, что кто-то его создал. Благодаря Александру Егоренкову вы можете включить звук на устройствах, использующих аудиокодек Cirrus Logic CS8409, клонировав репозиторий snd-hda-codec-cs8409 на GitHub.
В вашем домашнем каталоге откройте терминал и выполните следующие команды:
git clone https://github.com/egorenar/snd-hda-codec-cs8409.git
make
sudo make install
Теперь перезагрузите компьютер. Вот и всё! Через несколько секунд вы увидите, что звук на вашем компьютере включён с помощью аудиодрайвера Cirrus Logic CS8409. Как видно на скриншоте, даже внутренний микрофон распознаётся, вы можете настроить вывод звука, а также включить функцию затухания.
Я могу только надеяться, что этот звуковой драйвер будет включён в следующий выпуск ядра Linux, так как это сэкономит многим из нас много времени и сил на устранение этой проблемы, которой вообще не должно было быть. Конечно, вы можете использовать это руководство как шаблон для устранения проблемы с фиктивным выводом звука на других компьютерах с Linux, установив/включив нужный драйвер.
Редактор: Анастасия Богатырчук