LINUX.ORG.RU

pipewire в Debian. Не все работает.

 ,


0

1

Что то не получается заставить корректно работать pipewire в debian12
При обновлении оно само подтялулось, но не заработало. Стал разбираться, прожевал инструкцию на https://wiki.debian.org/PipeWire#Debian_12. Потом прожевал еще много разных мануалов.
По пакетам вроде все стоит что надо:
i gstreamer1.0-pipewire - GStreamer 1.0 plugin for the PipeWire multimedia server
i libpipewire-0.3-0 - служба для обработки аудио и видео в реальном времени — библиотеки
i A libpipewire-0.3-common - libraries for the PipeWire multimedia server - common files
i libpipewire-0.3-modules - libraries for the PipeWire multimedia server - modules
i A libwireplumber-0.4-0 - Shared libraries for WirePlumber
i pipewire - служба для обработки аудио и видео в реальном времени
i A pipewire-alsa - PipeWire ALSA plugin
i pipewire-audio - recommended set of PipeWire packages for a standard audio desktop use
i pipewire-bin - служба для обработки аудио и видео в реальном времени — утилиты
i pipewire-jack - PipeWire JACK plugin
i pipewire-libcamera - PipeWire libcamera plugin
i pipewire-pulse - PipeWire PulseAudio daemon
i wireplumber - modular session / policy manager for PipeWire


По итогу - железно все работает, но не умеет притворятся пульсой что критично.

любое обращение к pulse отвергается
pactl stat
Connection failure: Connection refused


1. Проблему железа исключаем - прекрасно работают aplay и pw-play
2. wpctl status
PipeWire 'pipewire-0' [0.3.65, griz@pc, cookie:3732000604]
└─ Clients:
31. WirePlumber [0.3.65, griz@pc, pid:2001]
32. WirePlumber [export] [0.3.65, griz@pc, pid:2001]
33. pipewire [0.3.65, griz@pc, pid:1998]
55. xdg-desktop-portal [0.3.65, griz@pc, pid:2768]
56. Telegram [0.3.65, griz@pc, pid:7618]
57. wpctl [0.3.65, griz@pc, pid:8062]

Audio
├─ Devices:
│ 40. CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar Essence STX)) [alsa]
│ 41. Renoir Radeon High Definition Audio Controller [alsa]
│ 42. Family 17h/19h HD Audio Controller [alsa]

├─ Sinks:
│ * 47. CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar Essence STX)) Аналоговый стерео [vol: 0.41]
│ 49. Renoir Radeon High Definition Audio Controller Digital Stereo (HDMI 2) [vol: 0.40]

├─ Sink endpoints:

├─ Sources:
│ * 48. CMI8788 [Oxygen HD Audio] (Virtuoso 100 (Xonar Essence STX)) Аналоговый стерео [vol: 1.00]

├─ Source endpoints:

└─ Streams:

Video
****

Settings
└─ Default Configured Node Names:
0. Audio/Sink alsa_output.pci-0000_07_04.0.analog-stereo
1. Audio/Source alsa_input.pci-0000_07_04.0.analog-stereo

3. systemctl status --user pipewire pipewire.socket pipewire-pulse pipewire-pulse.socket wireplumber
● pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
Active: active (running) since Wed 2023-09-06 11:26:18 MSK; 31min ago
TriggeredBy: ● pipewire.socket
Main PID: 1999 (pipewire)
Tasks: 2 (limit: 37707)
Memory: 6.6M
CPU: 70ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
└─1999 /usr/bin/pipewire

сен 06 11:26:18 pc systemd[1967]: Started pipewire.service - PipeWire Multimedia Service.

● pipewire.socket - PipeWire Multimedia System Socket
Loaded: loaded (/usr/lib/systemd/user/pipewire.socket; enabled; preset: enabled)
Active: active (running) since Wed 2023-09-06 11:26:18 MSK; 31min ago
Triggers: ● pipewire.service
Listen: /run/user/1000/pipewire-0 (Stream)
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pipewire.socket

сен 06 11:26:18 pc systemd[1967]: Listening on pipewire.socket - PipeWire Multimedia System Socket.

● pipewire-pulse.service - PipeWire PulseAudio
Loaded: loaded (/etc/xdg/systemd/user/pipewire-pulse.service; enabled; preset: enabled)
Active: active (running) since Wed 2023-09-06 11:26:18 MSK; 31min ago
TriggeredBy: ● pipewire-pulse.socket
Main PID: 1998 (pipewire-pulse)
Tasks: 2 (limit: 37707)
Memory: 3.0M
CPU: 5ms
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pipewire-pulse.service
└─1998 /usr/bin/pipewire-pulse

сен 06 11:26:18 pc systemd[1967]: Started pipewire-pulse.service - PipeWire PulseAudio.

● pipewire-pulse.socket - PipeWire PulseAudio
Loaded: loaded (/etc/xdg/systemd/user/pipewire-pulse.socket; enabled; preset: enabled)
Active: active (running) since Wed 2023-09-06 11:26:18 MSK; 31min ago
Triggers: ● pipewire-pulse.service
Listen: /run/user/1000/pulse/native (Stream)
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pipewire-pulse.socket

сен 06 11:26:18 pc systemd[1967]: Listening on pipewire-pulse.socket - PipeWire PulseAudio.

● wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
Active: active (running) since Wed 2023-09-06 11:26:18 MSK; 31min ago
Main PID: 2001 (wireplumber)
Tasks: 7 (limit: 37707)
Memory: 26.3M
CPU: 169ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
└─2001 /usr/bin/wireplumber

сен 06 11:26:18 pc systemd[1967]: Started wireplumber.service - Multimedia Service Session Manager.
сен 06 11:26:18 pc wireplumber[2001]: [0:00:14.888727944] [2001] WARN IPAManager ipa_manager.cpp:154 No IPA found in '/usr/lib/x86_64-linux-gnu/libcamera'
сен 06 11:26:18 pc wireplumber[2001]: [0:00:14.888762027] [2001] INFO Camera camera_manager.cpp:299 libcaдля гномаmera v0.0.3
сен 06 11:26:19 pc wireplumber[2001]: GetManagedObjects() failed: org.freedesktop.DBus.Error.NameHasNoOwner
сен 06 11:26:19 pc wireplumber[2001]: <WpSiAudioAdapter:0x5638bf9d9040> Object activation aborted: proxy destroyed
сен 06 11:26:19 pc wireplumber[2001]: <WpSiAudioAdapter:0x5638bf9d9040> failed to activate item: Object activation aborted: proxy destroyed

★★

Последнее исправление: griz (всего исправлений: 2)
Ответ на: комментарий от R_He_Po6oT

нет, тоже самое. Они тоже через пульсу работают и отваливаются если выключить pipewire-pulse

так то если бы gnome можг управлять pipewire без пульса то и вопрос по pavucontrol можно не решать. Какая разница чем рулить. Но он тоже через пульсу работает.

есть с живой системы конфиги из /etc/alsa/conf.d
50-pipewire.conf
50-pulseaudio.conf
99-pipewire-default.conf

griz ★★
() автор топика
Последнее исправление: griz (всего исправлений: 4)

Ну в общем разобрался. итогом следующее: по умолчанию pipewire-pulse слушает только подключение на

/run/user/1000/pulse/native
но по умолчанию клиенты для доступа к pulseaudio используют tcp 127.0.0.1:4713

Первое что получилось - в настройках pipewire-pulse можно включить 127.0.0.1:4713 и клиенты ищут пульс по этому адресу и звук идет. Но не идет управление. Громкость не рулится, выходы не меняются.

При установленном пульсе есть его конфиг для клиентов

/etc/pulse/client.conf
но у меня пульсы в системе не было вообще, все приложения именно на сетевой сокет и ходили.

Пришлось поставить пульсу, правда в ней из коробки тоже только сетевой сокет для клиентов, но его можно поправить на

/run/user/1000/pulse/native
пульсу потом можно подтереть, но сохранить конфиг клиентов. После этого заработало все в полном объеме.

griz ★★
() автор топика
Ответ на: комментарий от mrjaggers

Да, наверно должен. Только вот получилось то что получилось. При отсутствии конфига клиенты ломятся на 127.0.0.1
Скорее всего если ставить пульсу на чистую систему то она встанет, пропишется в unix socket и потом туда же пропишет конфиг для клиентов. Но когда нет живого сокета натурально принадлежащего пульсе всем клиентам предложено ходить на tcp.

griz ★★
() автор топика