pulseaudio выход всегда приостановлен

Вопрос или проблема

Я на 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 может:

  1. Устранить конфликт между PulseAudio и PipeWire.
  2. Обеспечить более стабильную работу звуковой подсистемы.

Пользователь описал, как он обнаружил, что в системе работают как PulseAudio, так и PipeWire, что потенциально вызывает конфликты. Поскольку имела место установка и обновление, в ряде случаев, одна служба может мешать работе другой.

Шаги к решению

Если вам также представляется возможность, следуйте этим шагам, чтобы удалить PulseAudio и переключиться на PipeWire:

  1. Проверка статуса PulseAudio:
    Выполните команду, чтобы проверить активность PulseAudio:

    systemctl --user status pulseaudio.service
  2. Удаление PulseAudio:
    Если служба активна и вызывает ошибки, вам необходимо её отключить и удалить:

    systemctl --user disable pulseaudio.service
    systemctl --user stop pulseaudio.service
  3. Удаление зависимостей PulseAudio:
    Убедитесь, что вы удалили все пакеты, связанные с PulseAudio. Если это невозможно, сделайте это в автоматическом режиме, удаляя зависимости.

  4. Установка PipeWire:
    Выполните установку PipeWire:

    sudo pacman -S pipewire-pulse
  5. Активирование PipeWire:
    После установки активируйте службу PipeWire:

    systemctl --user enable pipewire-pulse.service
    systemctl --user --now pipewire-pulse.service

После выполнения этих шагов, проверьте, работает ли звуковая система. Обычно после этого звуковая подсистема начинает функционировать корректно, что подтверждается успешным воспроизведением аудио без последующих проблем.

Заключение

Проблемы со звуком и постоянная приостановка PulseAudio могут быть решены, используя PipeWire в качестве более современного и эффективного решения для управления звуком в Linux. Если вы столкнулись с подобной ситуацией, рекомендуется рассмотреть возможность перехода на PipeWire, так как это может значительно улучшить стабильность и качество работы вашей звуковой системы.

Оцените материал
Добавить комментарий

Капча загружается...