Решение проблем PulseAudio и PipeWire: различия между версиями

Материал из ALT Linux Wiki
Строка 28: Строка 28:
             '''api.alsa.use-acp = false'''
             '''api.alsa.use-acp = false'''
  ...
  ...
=====Проверка доступных устройств=====
Для проверки доступных устройств ввода используйте команду:
<s>$ pw-record --list-targets</s> - list-targets [https://wiki.archlinux.org/title/PipeWire#Audio_2 был удален] в более новых версиях
$ pw-link -iol | grep input


====Если используется '''wireplumber'''====
====Если используется '''wireplumber'''====
Строка 52: Строка 58:
  $ systemctl --user --now enable pipewire-media-session.service
  $ systemctl --user --now enable pipewire-media-session.service


====Проверка доступных устройств====
=====Проверка доступных устройств=====
Для проверки доступных устройств ввода используйте команду:
Для проверки доступных устройств ввода используйте команду:
  <s>$ pw-record --list-targets</s> - list-targets [https://wiki.archlinux.org/title/PipeWire#Audio_2 был удален] в более новых версиях
  $ pwctl status
$ pw-link -iol | grep input


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

Версия от 12:13, 22 сентября 2023

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

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

PulseAudio

1

PipeWire

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


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

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

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

TODO:
как указать? не установлен пакет wireplumber?


Откройте через текстовый редактор от рута /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-record --list-targets - list-targets был удален в более новых версиях
$ pw-link -iol | grep input


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

TODO:
как указать? "установлен пакет 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

Источники