Отсутствует аудиовыход после приостановки (гибернации)

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

Когда я возвращаюсь после приостановки (гибернации) моего ноутбука, аудиовыход для встроенных динамиков отсутствует. После изменения устройства вывода в меню настроек на ‘колонки’ выход снова появляется, когда я выполняю list short sinks. Однако моей целью является установка по умолчанию выхода на динамики после гибернации. Как я могу вернуть отсутствующий выход после возвращения из гибернации (не меняя устройство вывода вручную через меню настроек)?

После возвращения из приостановки/гибернации:

> list short sinks
4626    alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink PipeWire    s24-32le 2ch 48000Hz    SUSPENDED
4627    alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink PipeWire    s24-32le 2ch 48000Hz    SUSPENDED
4628    alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink PipeWire    s24-32le 2ch 48000Hz    SUSPENDED
**5443  alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Наушники__sink    PipeWire    s32le 2ch 48000Hz   SUSPENDED**

После изменения устройства вывода на ‘колонки’ через меню настроек:

> list short sinks
4626    alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink PipeWire    s24-32le 2ch 48000Hz    SUSPENDED
4627    alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink PipeWire    s24-32le 2ch 48000Hz    SUSPENDED
4628    alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink PipeWire    s24-32le 2ch 48000Hz    SUSPENDED
**4629  alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Колонки__sink   PipeWire    s32le 2ch 48000Hz   RUNNING**

Обратите внимание, что в меню настроек доступны только Колонки и HDMI:
Редактировать звук настройки

Ответ или решение

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

Проблема

После выхода из гибернации в выводе list short sinks отображается состояние SUSPENDED для всех аудиоустройств, кроме наушников. Только после изменения устройства вывода в меню настроек у вас появляется динамик в состоянии RUNNING. Ваша цель заключается в том, чтобы автоматически возвращать динамик к активному состоянию без ручного вмешательства.

Решения

  1. Проверка настроек PipeWire:
    Убедитесь, что PipeWire правильно настроен на автоматическое восстановление аудиоустройств. Проверьте, нет ли конфликтов с PulseAudio, так как PipeWire может работать как совместимая замена.

  2. Конфигурация PipeWire:
    Откройте файл конфигурации PipeWire и добавьте параметры, которые помогут восстановить динамики после перехода из состояния гибернации. Файл конфигурации обычно находится в /etc/pipewire/pipewire.conf или ~/.config/pipewire/pipewire.conf.

    Добавьте следующий блок:

    # Включаем автоматическое восстановление аудиоустройств
    context.modules = [
       {   name = libpipewire-module-protocol-pulse
           args = { 
               # Убедитесь, что используются корректные адаптеры
           }
       }
    ]
  3. Использование udev для автоматического выполнения команд:
    Вы можете создать udev правило, которое будет выполнять команду для восстановления динамиков каждый раз, когда система выходит из режима гибернации. Создайте файл, например, /etc/udev/rules.d/99-resume-audio.rules с содержимым:

    ACTION=="resume", RUN+="/usr/bin/pactl set-default-sink alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink"

    Убедитесь, что путь к pactl указан правильно. Это правило будет автоматически устанавливать динамики в качестве стандартного устройства вывода после выхода из режима сна.

  4. Скрипты на основе systemd:
    Если вы используете systemd, можно создать сервис, который будет выполняться при выходе из режима гибернации. Создайте файл resume-audio.service в директории /etc/systemd/system/:

    [Unit]
    Description=Set default audio sink on resume
    After=suspend.target
    
    [Service]
    Type=oneshot
    ExecStart=/usr/bin/pactl set-default-sink alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink
    
    [Install]
    WantedBy=suspend.target

    Затем активируйте сервис:

    sudo systemctl daemon-reload
    sudo systemctl enable resume-audio.service
  5. Тестирование и мониторинг:
    После внесения изменений протестируйте их, переведя систему в режим гибернации и обратно. Проверьте состояние аудиосинков с помощью команды list short sinks и убедитесь, что динамики автоматически возвращаются в состояние RUNNING.

Заключение

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

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

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