Вопрос или проблема
Я на Debian Pulseaudio 2.0-6.1. До сих пор не было никаких проблем со звуком.
Я провел несколько экспериментов с удаленными выходами, и теперь, похоже, Pulse полностью сбился с толку.
У меня только один выход. Когда я перезапускаю pulseaudio, pactl показывает выход как IDLE. Как только приложение пытается воспроизвести звук, состояние меняется на SUSPENDED и остается таким. “pactl suspend-sink 0 0” не меняет состояние. Я могу вернуть его в IDLE только перезапуском Pulse, и цикл начинается снова.
После перезагрузки проблема сохраняется.
Вы пробовали отключить suspend-on-idle в /etc/pulse/default.pa
? Я изменил это:
### Автоматически приостановить выходы/источники, которые становятся неактивными слишком долго
load-module module-suspend-on-idle
на это:
### Автоматически приостановить выходы/источники, которые становятся неактивными слишком долго
#load-module module-suspend-on-idle
и затем перезапустил его. Существует довольно много вариаций того, как люди это делают, но killall pulseaudio
всегда работал для меня (он автоматически перезапускается).
РЕШЕНИЕ: Когда я установил pipewire-pulse
, и он заменил pulseaudio
, все проблемы исчезли.
ПОЧЕМУ: В моем случае pulseaudio
не работал, потому что у меня были установлены и работали как pulseaudio
, так и pipewire
с wireplumber
.
Я установил pulseaudio
вручную. Однако я также установил GSConnect, и после обновления системы он, вероятно, установил pipewire
и wireplumber
как его зависимости.
Спасибо @aurelia, я понял, что цель состоит в том, чтобы отказаться от pulseaudio и заменить его на pipewire-pulse.
Я испортил свою систему, пытаясь установить из официального репозитория (ЭТО БЫЛ ПЛОХОЙ ВЫБОР!!)PulseAudio Equalizer
Выполнение systemctl --user status pulseaudio.service
показало активный сервис с некоторыми ошибками, такими как
Не удалось создать вход для выхода: выход приостановлен.
Загружено: не найдено (Причина: единица pulseaudio.service не найдена.)
Попробуйте найти любое программное обеспечение, связанное с pulseaudio, и удалить его, а если это невозможно (как в моем случае), сначала удалите зависимости, а затем удалите само программное обеспечение.
И затем мы останавливаем и отключаем pulseaudio.service
systemctl --user disable pulseaudio.service
systemctl --user stop pulseaudio.service
Я выполнил это, чтобы переустановить pipewire-pulse
sudo pacman -S pipewire-pulse
И выполнение этого показало отключенный сервис
systemctl --user status pipewire-pulse.service
Так что я включил его и запустил:
systemctl --user enable pipewire-pulse.service
systemctl --user --now pipewire-pulse.service
И звук в моей системе начал работать и не дал сбоя после перезагрузки!!!!
Ответ или решение
Проблема с приостановкой выхода PulseAudio и решение в переходе на PipeWire
Ситуация, когда выход (sink) PulseAudio постоянно приостановлен, может быть вызвана конфликтами в системе, особенно после установки новых компонентов, таких как PipeWire. Недавний опыт, описанный пользователем, подтверждает, что эта проблема может появиться после экспериментов с удалёнными выходами и может быть вызвана конфликтами между PulseAudio и PipeWire.
Понимание проблемы
Ваша проблема заключается в том, что звук не воспроизводится, так как PulseAudio постоянно показывает состояние выхода как приостановленное (SUSPENDED) после попытки воспроизведения. При этом команда pactl suspend-sink 0 0
не помогает, и вам необходимо перезапускать PulseAudio, чтобы вернуть состояние к IDLE, но как только происходит новое воспроизведение, всё снова заходит в циклическое состояние.
Первое, что стоит сделать — проверить настройки PulseAudio на предмет автоматической приостановки выходов и источников при бездействии. Вы уже упомянули попытку отключения модуля module-suspend-on-idle
, что может быть полезным в некоторых случаях.
Тем не менее, это решение может быть временным, и причина проблемы может заключаться глубже.
Переключение на PipeWire
Ваша ситуация стала более захватывающей после установки PipeWire и его компонента pipewire-pulse
. Установка PipeWire может:
- Устранить конфликт между PulseAudio и PipeWire.
- Обеспечить более стабильную работу звуковой подсистемы.
Пользователь описал, как он обнаружил, что в системе работают как PulseAudio, так и PipeWire, что потенциально вызывает конфликты. Поскольку имела место установка и обновление, в ряде случаев, одна служба может мешать работе другой.
Шаги к решению
Если вам также представляется возможность, следуйте этим шагам, чтобы удалить PulseAudio и переключиться на PipeWire:
-
Проверка статуса PulseAudio:
Выполните команду, чтобы проверить активность PulseAudio:systemctl --user status pulseaudio.service
-
Удаление PulseAudio:
Если служба активна и вызывает ошибки, вам необходимо её отключить и удалить:systemctl --user disable pulseaudio.service systemctl --user stop pulseaudio.service
-
Удаление зависимостей PulseAudio:
Убедитесь, что вы удалили все пакеты, связанные с PulseAudio. Если это невозможно, сделайте это в автоматическом режиме, удаляя зависимости. -
Установка PipeWire:
Выполните установку PipeWire:sudo pacman -S pipewire-pulse
-
Активирование PipeWire:
После установки активируйте службу PipeWire:systemctl --user enable pipewire-pulse.service systemctl --user --now pipewire-pulse.service
После выполнения этих шагов, проверьте, работает ли звуковая система. Обычно после этого звуковая подсистема начинает функционировать корректно, что подтверждается успешным воспроизведением аудио без последующих проблем.
Заключение
Проблемы со звуком и постоянная приостановка PulseAudio могут быть решены, используя PipeWire в качестве более современного и эффективного решения для управления звуком в Linux. Если вы столкнулись с подобной ситуацией, рекомендуется рассмотреть возможность перехода на PipeWire, так как это может значительно улучшить стабильность и качество работы вашей звуковой системы.