Виправлення Dummy Output на MacBook з Linux

Як виправити проблему відсутності аудіо на MacBook з Linux: рішення для Dummy Output

Linux можна встановити та запустити на комп’ютерах MacBook, особливо на старіших моделях з процесорами Intel. Але ймовірно, що звук працювати не буде, і ви побачите лише Dummy Output. Розглянемо, як виправити проблему відсутності аудіо.

Нещодавно я отримав старий MacBook Pro від користувача, який хотів встановити Linux, оскільки пристрій більше не підтримується Apple. Це MacBook Pro 13-дюймів 2017 року з двома портами Thunderbolt 3 та ідентифікатором моделі MacBookPro14,1.

Я спробував кілька дистрибутивів, включаючи Ubuntu 25.04 (Plucky Puffin), Ubuntu 24.04.2 (Noble Numbat), Fedora Linux 42 та openSUSE Tumbleweed. Ubuntu 25.04 взагалі не працював, оскільки не розпізнав клавіатуру та тачпад, але решта працювали нормально.

Проблема відсутності аудіо на MacBook з Linux

Однак у всіх була однакова проблема: звукова карта не працювала. Я шукав в інтернеті і випробував безліч рішень, але лише одне спрацювало. Тому я пишу цей посібник для всіх, хто шукає швидке рішення цієї проблеми.

Забудьте про перезапуск демонів PipeWire або PulseAudio, модифікацію конфігурації ALSA, блокування модулів ядра, встановлення іншого ядра тощо. Проблема з Dummy Output у Linux полягає в тому, що відсутній правильний драйвер, тому для її вирішення вам потрібно спочатку визначити кодек, який використовується у звуковій карті вашого MacBook.

Визначення звукового кодека та встановлення драйвера

У випадку моделі MacBookPro14,1 кодеком був Cirrus Logic CS8409. Дізнайтеся, який звуковий кодек використовує ваш комп’ютер, виконавши таку команду в Терміналі:

cat /proc/asound/card*/codec* | grep Codec

Ось результат виконання вищенаведеної команди на MacBook Pro 13-дюймів 2017 року:

З якоїсь причини поточні випуски ядра Linux не включають драйвер для аудіокодека Cirrus Logic CS8409, але хороша новина в тому, що хтось його створив. Завдяки Alexander Egorenkov, ви можете увімкнути аудіо на пристроях, що використовують аудіокодек Cirrus Logic CS8409, клонувавши репозиторій snd-hda-codec-cs8409 на GitHub.

Встановлення драйвера для вирішення проблеми Dummy Output

У вашому домашньому каталозі відкрийте Термінал і виконайте наступні команди:

git clone https://github.com/egorenar/snd-hda-codec-cs8409.git
make
sudo make install

Тепер перезавантажте комп’ютер. Це все! Через кілька секунд ви побачите, що аудіо ввімкнено на вашому комп’ютері з використанням драйвера Cirrus Logic CS8409. Як видно з головного скріншота, навіть внутрішній мікрофон розпізнається, ви можете налаштувати вихід, і опція Fade увімкнена.

Я сподіваюся, що цей звуковий драйвер буде включено в наступний випуск ядра Linux, оскільки це заощадить багатьом з нас час і зусилля на виправлення цієї проблеми, якої не повинно бути в першу чергу. Звичайно, ви можете використовувати цей посібник як схему для виправлення проблеми Dummy Output на інших комп’ютерах з Linux, встановивши/увімкнувши правильний драйвер.

Більше інформації про драйвер можна знайти на офіційній сторінці проекту.