Решение проблем PulseAudio и PipeWire: различия между версиями
Строка 95: | Строка 95: | ||
$ wpctl status | $ wpctl status | ||
Вывод: | Вывод: | ||
{|class="wikitable mw-collapsible mw-collapsed" style="float:center; margin-left:2em" | |||
!$ wpctl status | |||
|- | |||
| | |||
<pre> | <pre> | ||
PipeWire 'pipewire-0' [0.3.71, petr@atk, cookie:1976916996] | PipeWire 'pipewire-0' [0.3.71, petr@atk, cookie:1976916996] | ||
└─ Clients: | └─ Clients: | ||
Строка 138: | Строка 142: | ||
0. Audio/Sink alsa_output.pci-0000_00_05.0.analog-stereo | 0. Audio/Sink alsa_output.pci-0000_00_05.0.analog-stereo | ||
</pre> | </pre> | ||
|} | |||
===Нет звука после подключения устройства Bluetooth=== | ===Нет звука после подключения устройства Bluetooth=== |
Версия от 14:12, 22 сентября 2023
Решение проблем PulseAudio и PipeWire
PulseAudio
1
PipeWire
PipeWire не видит микрофон
Если у вас PipeWire не видит микрофон, попробуйте выключить в конфигурационном файле параметр api.alsa.use-acp и/или включить api.alsa.use-ucm.
Если используется pipewire-media-session
Откройте через текстовый редактор от рута /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
Откройте через текстовый редактор от рута /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
Если она отсутствует, установите ее следующей командой:
# apt-get install /usr/bin/pwctl
Звук не переключается автоматически при подключении нового устройства
Чтобы автоматически переключаться на вновь подключенные устройства, раскомментируйте следующую строку (выделена жирным):
/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
Звук не переключается автоматически на наушники Bluetooth
# apt-get install /usr/bin/pactl
# apt-get install /usr/bin/pwctl
Выполните:
$ pactl load-module module-switch-on-connect
и настройте среду рабочего стола на автоматический запуск этой команды при входе в систему.
Возможно, вам потребуется выполнить:
$ wpctl set-default <id>.
Найти <id> можно следующим способом:
$ wpctl status
Вывод:
$ wpctl status |
---|
PipeWire 'pipewire-0' [0.3.71, petr@atk, cookie:1976916996] └─ Clients: 32. pipewire-media-session [0.3.71, petr@atk, pid:10780] 33. pipewire-media-session [0.3.71, petr@atk, pid:10780] 39. pipewire [0.3.71, petr@atk, pid:10781] 49. wpctl [0.3.71, petr@atk, pid:11459] 50. pipewire [0.3.71, petr@atk, pid:10781] Audio ├─ Devices: │ 41. Built-in Audio [alsa] │ ├─ Sinks: │ * 42. Built-in Audio Analog Stereo [vol: 0.74] <-- Здесь <id> = 42 │ ├─ Sink endpoints: │ ├─ Sources: │ * 43. Built-in Audio Analog Stereo [vol: 0.74] <-- Здесь <id> = 43 │ ├─ Source endpoints: │ └─ Streams: Video ├─ Devices: │ ├─ Sinks: │ ├─ Sink endpoints: │ ├─ Sources: │ ├─ Source endpoints: │ └─ Streams: Settings └─ Default Configured Node Names: 0. Audio/Sink alsa_output.pci-0000_00_05.0.analog-stereo |
Нет звука после подключения устройства Bluetooth
По состоянию на 2020-12-07, если у вас нет звука после подключения Bluetooth устройства, вам скорее всего потребуется переключить стандартный аудиопоток или перенаправить его к требуемому.
Воспользуйтесь командой: pactl list sinks для просмотра доступных потоков и pactl set-default-sink для смены стандартного потока на bluetooth устройство. Можно автоматизировать через udev, используя данный скрипт как пример.
Обсуждение данной проблемы можно посмотреть здесь. По словам автора скрипта, профиль гарнитуры (HSP) все еще может иметь проблемы.