Решение проблем PulseAudio и PipeWire

Материал из ALT Linux Wiki
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Решение проблем PulseAudio и PipeWire

PulseAudio

1

PipeWire

Примечание: Для работы с утилитами Pipewire необходимо установить пакет pipewire-utils


PipeWire не видит микрофон

Если у вас PipeWire не видит микрофон, попробуйте выключить в конфигурационном файле параметр api.alsa.use-acp и/или включить api.alsa.use-ucm.

Если используется pipewire-media-session

Примечание: Чтобы проверить, установлен ли у вас Pipewire, выполните в консоли команду: "rpm -q pipewire"


Откройте через текстовый редактор от рута /etc/pipewire/media-session.d/alsa-monitor.conf /usr/share/pipewire/media-session.d/alsa-monitor.conf

И приведите выделенные параметры к указанным значениям:

...
rules = [
    {
        ...
        actions = {
        update-props = {
            ...
            api.alsa.use-acp = false
...
Проверка доступных устройств

Для проверки доступных устройств ввода используйте команду:

$ pw-link -iol | grep input

Если используется wireplumber

Примечание: Чтобы проверить, установлен ли у вас Wireplumber, выполните в консоли команду: "rpm -q wireplumber"


Откройте через текстовый редактор от рута /etc/wireplumber/main.lua.d/50-alsa-config.lua (или ~/.config/wireplumber/main.lua.d/50-alsa-config.lua) /usr/share/wireplumber/main.lua.d/50-alsa-config.lua

...
alsa_monitor.rules = {
    {
        ...
        apply_properties = {
            -- Использование устройств ALSA-Card-Profile. Они используют UCM или
            -- конфигурацию профиля для настройки параметров устройства и микшера.
            -- ["api.alsa.use-acp"] = true,
 
            -- Использование UCM вместо profile по возможности. Можно отключить,
            -- чтобы не пытаться использовать профиль UCM.
            ["api.alsa.use-ucm"] = true,
...

Затем перезапустите PipeWire и проверьте список доступных устройств:

$ systemctl --user --now enable pipewire-media-session.service
Проверка доступных устройств

Для проверки доступных устройств ввода используйте команду:

$ pwctl status

Звук не переключается автоматически при подключении нового устройства

Чтобы автоматически переключаться на вновь подключенные устройства, раскомментируйте следующую строку (выделена жирным):

/usr/share/pipewire/pipewire-pulse.conf (или добавьте в ~/.config/pipewire/pipewire.conf)

...
context.exec = [
    { path = "pactl"        args = "load-module module-always-sink" }
    { path = "pactl"        args = "load-module module-switch-on-connect" }
    #{ path = "/usr/bin/sh"  args = "~/.config/pipewire/default.pw" }
]
...

Перезапустите пользовательские службы pipewire.service и pipewire-pulse.service для применения изменений.

$ systemctl --user restart pipewire.service pipewire-pulse.service

Источники