PipeWire без звука: пошаговая диагностика в Linux
Если с PipeWire нет звука, сначала проверьте службы командой systemctl --user status pipewire pipewire-pulse wireplumber, а затем выбранный выход в wpctl status: в большинстве случаев виноват упавший WirePlumber или звук уходит не на то устройство. Дальше разобраны проверки ядра и прошивки, профили HDMI, Bluetooth, отдельные программы и треск.

Содержание
Три проверки за минуту и карта симптомов
Большинство случаев пропавшего звука в Linux решаются без терминала. Прежде чем перезапускать службы, проверьте три вещи:
- Не выключен ли звук значком в трее и не стоит ли громкость на нуле. Звучит смешно, но после обновления громкость иногда сбрасывается в ноль.
- Какое устройство выбрано для вывода. Ноутбук с подключённым монитором по HDMI может отправлять звук в монитор без динамиков.
- Нет ли звука везде или только в одной программе. Включите ролик в браузере и звук в Параметрах, раздел Звук, кнопка проверки динамиков.
Если это не помогло, дальше по таблице: по симптому видно, с какого раздела начать.
| Симптом | Вероятная причина | Где искать |
|---|---|---|
| В настройках только Dummy Output | не запущен WirePlumber или ядро не видит карту | службы, затем ALSA и прошивка |
| wpctl пишет Could not connect to PipeWire | служба PipeWire не работает в сеансе пользователя | службы |
| Устройство есть, звука нет | не тот вывод, неверный профиль, mute в ALSA | устройство по умолчанию и alsamixer |
| Нет звука по HDMI | выбран аналоговый профиль | профили |
| Блютус-наушники хрипят или тихие | включён гарнитурный профиль HFP | Bluetooth |
| Нет звука в одной программе | права Flatpak или выбранный в программе вывод | отдельные приложения |
| Треск, заикания | маленький буфер, нагрузка, энергосбережение | треск |
Работают ли PipeWire, pipewire-pulse и WirePlumber
Звуковой стек в современных Fedora, Ubuntu, Debian 13 и Arch состоит из трёх частей. PipeWire гоняет аудиопотоки, pipewire-pulse притворяется PulseAudio для старых программ, WirePlumber управляет сеансом: выбирает устройства, профили, запоминает громкость. Без WirePlumber PipeWire запущен, но устройств не видит, отсюда тот самый Dummy Output.
Все три работают как пользовательские службы systemd, поэтому проверяем их с ключом --user и без sudo:
systemctl --user status pipewire pipewire-pulse wireplumberУ каждой должно быть active (running). Если что-то упало, перезапускаем всё разом:
systemctl --user restart pipewire pipewire-pulse wireplumberЕсли служба не найдена или стоит disabled, включите её:
systemctl --user enable --now pipewire pipewire-pulse wireplumberЧастая ошибка: запуск этих команд через sudo или под root. Пользовательские службы работают в вашем сеансе, root про них ничего не знает. Общий порядок работы с unit-файлами и журналом описан в статье про systemctl, а разбор причин падения служб в материале про упавшую службу.
Убедиться, что программы общаются именно с PipeWire, можно командой:
pactl info | grep 'Server Name'В ответе должно быть что-то вроде PulseAudio (on PipeWire 1.4.x). Если там просто PulseAudio, в системе работает старый звуковой сервер, об этом раздел ниже.
Видит ли ядро звуковую карту: ALSA и прошивки
PipeWire не может вывести звук на устройство, которого нет на уровне ядра. Список карт, которые видит ALSA (пакет alsa-utils):
aplay -lПустой список или сообщение no soundcards found означает, что проблема ниже PipeWire: драйвер не загрузился. Смотрим сообщения ядра:
sudo dmesg | grep -iE 'snd|sof|firmware'На многих ноутбуках последних лет звук работает через Intel SOF (Sound Open Firmware) с цифровыми микрофонами. Ему нужны отдельные файлы прошивки, и если их нет, в dmesg появится ошибка загрузки firmware. Пакет называется по-разному:
# Debian, Ubuntu
sudo apt install firmware-sof-signed
# Fedora
sudo dnf install alsa-sof-firmware
# Arch
sudo pacman -S sof-firmwareПосле установки перезагрузитесь. Если SOF так и не заработал, временно можно заставить ядро использовать старый драйвер HDA, добавив параметр snd_intel_dspcfg.dsp_driver=1 в строку загрузки ядра. Встроенные цифровые микрофоны в этом режиме обычно перестают работать, поэтому это обходной путь, а не решение.
Если карта в aplay -l есть, проверьте, не заглушены ли каналы на уровне ALSA. Запустите alsamixer, клавишей F6 выберите карту, найдите Master, Speaker и Headphone. Буквы MM внизу столбца означают mute, снимается клавишей M.
Устройство по умолчанию, громкость и профили
Главная команда диагностики PipeWire - wpctl status. Она показывает дерево устройств: Sinks (выходы), Sources (входы) и Streams (программы, которые сейчас играют). Звёздочкой отмечено устройство по умолчанию.
wpctl statusЕсли звёздочка не у того выхода, назначьте нужный по его номеру из списка:
wpctl set-default 52Громкость и mute текущего выхода:
wpctl get-volume @DEFAULT_AUDIO_SINK@
wpctl set-mute @DEFAULT_AUDIO_SINK@ 0
wpctl set-volume @DEFAULT_AUDIO_SINK@ 60%Проверочный сигнал по каналам, чтобы исключить программу и браузер:
speaker-test -c 2 -t wav -l 1Профили и HDMI
Одна звуковая карта может работать в нескольких профилях: аналоговый стерео выход, HDMI, цифровой S/PDIF. Если нужен звук через монитор или телевизор, переключите профиль. Нагляднее всего это сделать в pavucontrol (в Plasma аналог встроен в Параметры, раздел Звук), вкладка Конфигурация. Из терминала номер устройства берётся из wpctl status (раздел Devices), а список профилей из wpctl inspect:
wpctl inspect 45
wpctl set-profile 45 3Если профили HDMI вообще не предлагаются, проверьте, что монитор подключён до входа в систему, и переподключите кабель: HDMI-звук появляется только при активном выходе на экран.
Остатки PulseAudio и неполная установка
После перехода со старой системы бывает, что работают оба звуковых сервера и мешают друг другу, или PipeWire стоит без половины компонентов. Проверить, нет ли настоящего PulseAudio:
systemctl --user status pulseaudio.service pulseaudio.socketЕсли он активен, поставьте полный набор PipeWire. Нужные пакеты по дистрибутивам:
# Debian 13, Ubuntu: метапакет тянет pipewire-pulse, pipewire-alsa и WirePlumber
sudo apt install pipewire-audio
# Arch: pipewire-pulse при установке предложит удалить pulseaudio
sudo pacman -S pipewire pipewire-pulse pipewire-alsa wireplumber
# Fedora: всё стоит по умолчанию, при необходимости переустановите
sudo dnf reinstall pipewire pipewire-pulseaudio wireplumberЗатем отключите службы PulseAudio и перезайдите в сеанс:
systemctl --user mask pulseaudio.service pulseaudio.socketЕщё одна старая ловушка - файл ~/.asoundrc или /etc/asound.conf, оставшийся от ручной настройки ALSA. Он может направлять звук мимо PipeWire в конкретную карту. Переименуйте его и проверьте снова.
Bluetooth-наушники: тихо, хрипит или не подключается
У беспроводных наушников два режима. A2DP даёт качественный стерео звук, но без микрофона. HSP и HFP включают микрофон, а звук становится моно и глухим, как в телефоне. Если наушники вдруг зазвучали как рация, система переключилась в гарнитурный профиль, обычно потому что какая-то программа открыла микрофон.
Вернуть A2DP можно в настройках звука, выбрав профиль высокого качества. Чтобы WirePlumber перестал переключаться сам, отключите автопереход в гарнитуру:
wpctl settings --save bluetooth.autoswitch-to-headset-profile falseКоманда wpctl settings есть в WirePlumber 0.5 и новее. Если наушники подключаются, но в списке выходов не появляются, в Debian и Ubuntu проверьте пакет libspa-0.2-bluetooth и перезапустите службы. Иногда помогает просто удалить устройство из списка Bluetooth и спарить его заново.
Звук есть везде, кроме одной программы
Посмотрите в wpctl status раздел Streams, пока программа должна играть. Если её там нет, она вообще не обращается к звуковому серверу.
- Flatpak-приложения. Программе нужен доступ к сокету PulseAudio. Проверьте разрешения командой
flatpak info --show-permissionsс идентификатором приложения, в списке sockets должно быть pulseaudio. Как безопасно добавлять права, рассказано в статье про разрешения Flatpak. - Программа с собственным выбором устройства. Плееры, OBS, Discord и браузеры умеют выводить не туда, куда система. Проверьте настройки звука внутри программы.
- Игры через Proton. Старые игры иногда требуют 32-битных библиотек звука. Подробнее о типичных проблемах в материале про Proton и Steam.
- Программы на чистом ALSA. Без пакета pipewire-alsa они пытаются захватить карту напрямую и не могут. Установите его.
Треск, щелчки и заикания
Если звук прерывается под нагрузкой, PipeWire не успевает заполнить буфер. Для проверки временно увеличьте размер кванта:
pw-metadata -n settings 0 clock.force-quantum 1024Если треск пропал, причина найдена. Вернуть значение по умолчанию можно той же командой с нулём вместо 1024. Посмотреть в реальном времени, какие потоки опаздывают, поможет pw-top: столбец ERR показывает пропуски.
Щелчок при начале воспроизведения на ноутбуке обычно связан с энергосбережением звуковой карты: она засыпает и просыпается. Этот режим настраивается параметром модуля snd_hda_intel power_save, его меняют некоторые утилиты экономии батареи.
Сброс настроек WirePlumber и сбор логов
WirePlumber запоминает выбранные устройства, профили и громкость. Если в этом состоянии поселилась ошибка, проще его сбросить:
systemctl --user stop wireplumber
rm -r ~/.local/state/wireplumber
systemctl --user start wireplumberВыбор устройств по умолчанию и громкость вернутся к заводским, это ожидаемо.
Перед вопросом на форуме соберите четыре вывода в один файл: wpctl status, aplay -l, pactl info и journalctl --user -u pipewire -u wireplumber -b. По ним сразу видно, на каком уровне проблема: ядро, сервер или сеанс. Без этих данных первый ответ почти всегда будет просьбой их прислать.
Подробное описание конфигурации, переменных и редких случаев собрано на странице PipeWire в ArchWiki, она полезна и для пользователей других дистрибутивов.
Частые вопросы
Почему в настройках звука только Dummy Output?
PipeWire не видит устройств. Чаще всего не запущен WirePlumber или ядро не загрузило драйвер звуковой карты. Проверьте systemctl --user status wireplumber и aplay -l.
Как перезапустить PipeWire без перезагрузки?
Выполните systemctl --user restart pipewire pipewire-pulse wireplumber от обычного пользователя, без sudo.
Как выбрать устройство вывода звука в терминале?
Найдите номер выхода в wpctl status и назначьте его командой wpctl set-default с этим номером.
Нет звука по HDMI в Linux, что делать?
Переключите профиль звуковой карты на HDMI в pavucontrol или настройках звука, либо командой wpctl set-profile. Монитор должен быть подключён и активен.
Почему Bluetooth-наушники звучат глухо?
Включился гарнитурный профиль HSP или HFP. Выберите A2DP в настройках звука и отключите автопереключение: wpctl settings --save bluetooth.autoswitch-to-headset-profile false.
Документация и источники
Читайте также
Команды проверены на актуальных версиях дистрибутивов на момент обновления. Перед изменением системных настроек сделайте резервную копию.