LINUX.ORG.RU

Есть ли жизнь на Pipewire? Пробуем, делимся.

 , , , ,


1

2

В ходе одного обсуждения решил попробовать pipewire и удивился пригодности для, как минимум, начала ощупывания, с чем делюсь с вами. Ну и вы делитесь опытом.

На Манджаро с KDE я установил pipewire, pipewire-alsa, pipewire-pulseaudio и pipewire-jack и удалил manjaro-pulse и ве пакеты pulseaudio и перезагрузился. Джек pipewire удалить не просит, видимо ещё не совсем готова эта часть, но попробуем.

Первым делом стал подключать блютус наушники, сначала не заработало, в микшере не показывало устройство, но тыкаясь туда-сюда по настройкам КДЕ я каким-то непонятным образом сумел переключить его и в a2dp и чтоб усройство показалось в микшере (как?). А потом поток Файрфокса не мог перекинуть на наушники, но потом опять, всё само как-то заработало. Не факт, что надолго. :)

Джек. Самое интересное для меня. Согласно https://wiki.archlinux.org/index.php/PipeWire запустил pw-jack qjackctl. Удивился, что он работает, показывает, мол, джек рунинает. Но в нём нечего особо делать, запустил pw-jack patchmatrix, чтобы посмотреть размер дефолтного буффера, стоит 1024, фууу... Стал в этой же программе уменьшать буффер, при этом Ютуб играл прекрасную музыку Lari Basillio в блютусные наушники и о чудо, оно изменяет буффер! На лету! Уменьшил до 64, всё захрипело, что и понятно, блютус ведь, но в это офигенно, это постепенная сбыча мечт! Запустил pw-jack qtractor (самое, что волновало, полноценная работа джекового секвенсора с эффектами), оно работает! И тут ещё бонус - Я могу коммутировать теперь любое приложение с любым, не просто бридж пульсы в аудио, я пустил Firefox во вход Qtractor, а тот в блютусные наушники и поработал с вживую пропуская ютуб через эффекты кутрактора на 64 буфферах!!! И коммутировать можно не через десктопный микшер, а через джековые патчеры, типа qjackctl, patchmatrix и пр. Если это не вин, то что?

Выводы: Тем не менее выводы пока не делаю, всё ещё сыровато, но это не когдатошнее вкорячивание нерабочей, непродуманной пульсы во все дистрибутивы много лет назад, вем ретроградам, как я, попробуйте!

★★★

Последнее исправление: ChekPuk (всего исправлений: 1)
Ответ на: комментарий от kott

В установочном дистрибутиве OpenSuSE Leap 15.2 пакет Firefox без Pipewire, но при обновлении берётся пакет из репозитория Updates, а там он с конца прошлого года идёт жёстко с Pipewire. И после обновления звука в Firefox нет.

Сейчас Offtopic, но наболело, извините. Разбираться не хочу, так как за годы на Linux я наелся этого сценария: какой-то школотан что-то написал и протолкнул в дистрибутив, у меня после обновления всё слетело, я трачу время на то, чтобы всё работало, а не на то, для чего был куплен компьютер. Так происходит регулярно: grub, systemd, pulse, akonadi, и даже alsa для меня прошла этим путём.

saper ★★★★★
()
Ответ на: комментарий от pingvinek

Обхожусь динамиками ноутбука.

А теперь обоснуй, почему это хорошо и всем надо делать именно так. А то я тут обходился счетами раньше, и заявляю что вы все с компами живете совсем не правильно.

James_Holden ★★★★
()
Ответ на: комментарий от saper

это какая версия ФФ? блэт, и в прямь, я на тумблевиде и там нет такого маразма, или потому что у меня фф из mozilla:

kott ★★★★★
()
Последнее исправление: kott (всего исправлений: 1)
Ответ на: комментарий от James_Holden

Ну как… Зная, что линукс система из костылей и палок, лучшим вариантом будет использование наименьшего количества прослоек.

А то как получается. Сначала побудь бета-тестером pulseaudio и нажрись его проблем, потом побудь бета-тестером pipewire и нажрись его проблем.

А pipewire это просто смехотворище. 1 прослойка с еще 3 прослойками внутри, это же целое минное поле всяких багов и несовместимостей.

pingvinek
()
Ответ на: комментарий от pingvinek

Зная, что линукс система из костылей и палок, лучшим вариантом будет использование наименьшего количества прослоек.

Классическое лечение головной боли отрубанием головы.

Сначала побудь бета-тестером pulseaudio и нажрись его проблем

Бета-тестером пульсы я был в 2007-2008. Ты с машиной времени не ошибся?

потом побудь бета-тестером pipewire и нажрись его проблем.

Pipewire не обязателен сейчас, блютуз прекрасно работает с пульсой. Не хочешь тестировать - просто можно сидеть на стабильной технологии.

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

Классическое лечение головной боли отрубанием головы

Ага. Скажу больше - блютус аудио зло, но если совсем приспичило то есть https://github.com/Arkq/bluez-alsa

Вот я и сижу на самой старой из технологий, которую долго не сломают, потому как без альзы на линуксе просто не будет звука

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

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

James_Holden ★★★★
()
Ответ на: комментарий от pingvinek

так кто тебя, родной, заставляет-то? это на системе из ошейников и страпонов у тебя нет выбора, а в линуксах ты сам волен выбрать себе, так сказать, любую палку.

anonymous
()

Что-то на Void застарелая версия pipewire-pulse. Поставил из исходников. В Firefox звук есть, VLC работает только с «pulseaudio». Jack запускается. Может он не был собран. Задержка спокойно стала 32 и 16, но разницы особо не заметно. Может я не туда смотрю. Может это другая настройка? Звук нормальный без хрипов по проводу.

/etc/pipewire/pipewire.conf

set-prop default.clock.rate             192000
set-prop default.clock.quantum          16
anonymous
()

Дженту. Поставил PipeWire-0.3.20. Сделал замену Пульсы. Имеем: не работает звук в UnGoogled-Chromium (скорее всего, надо какой-то ключ прописать и патч накатить); остальное работает нормально.

Вопрос: как прописать настройки, аналогичные PulseAudio, а именно

avoid-resampling = true
default-sample-format = s24le

```?
anonymous
()
Ответ на: комментарий от anonymous

А разве это нужно? Я не заметил разницы в качестве звука, кроме уменьшения задержек и соответственно улучшения звучания.

anonymous
()
Ответ на: комментарий от anonymous

Для начала нужно понять - он там есть вообще? :) Что-то мне подсказывает, что большинство людей различают только видя параметры в конфиге. Я сам заметил, что звук изменился, но не пойму в какую сторону. Это лучше? Это хуже? Это не так как раньше. А большего на лаптоповских динамиках не разберёшь. Большую роль играет привычка, а не достоверность воспроизведения.

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

Ресэмлинг же нагружается проц и портит звук. Судя по дампу конфига, ресэмплинг никак не отключить.

anonymous
()
Ответ на: комментарий от anonymous

Звук с Хромиуиме заработал.

anonymous
()
Ответ на: комментарий от anonymous
 ~ $ pw-cli dump | grep -i resam
           audio/dsp
                resample.quality = "15"
                     format : (Id) F32P
           audio/dsp
                     format : (Id) F32P
anonymous
()

Меня в пульсе бесит логика работы с bt ушами. Точнее её отсутствие.
Выбрать bt как выход для процесса можно даже если к нему прицеплено ноль ушей.
Нет ни детекции bt-ушей, ни ручной глобальной переключалки «пустить всё в bt».

Все процессы нужно руками сначала переключать на bt, а потом так же вручную назад.

С этим что-то сделали в pipeware?

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

Все процессы нужно руками сначала переключать на bt, а потом так же вручную назад.

Где это? В микшере ставишь блютус главным каналом и все должны перейти на него. Или в настройках (по крайней мере кдешных) звуковух ставишь галочку «Автоматически переключаться на новое устройство», или как-то так. Не переключаться может - если ты до этого вручную перекинул приложение с блютуса на встройку (или куда там у тебя). Короче, рулить можно было давно. В этом отношении блютус устройство пульсе абсолютно такое же как и любое другое. Сказал на него переключаться? Будут переключаться, сказал не перелючаться на него - не будут. Исключением из правила могут быть некоторые экзотические прилодения, которые сами берутся рулить, куда выводить звук. Ты ео кидаешь на ухи, оно возвращается на встройку, и настроек у него нет... Вот тут нужно бить по рукам разрабам. Встречал несколько приложений на джаве таких, и на электроне некоторые. Но пульса тут вообще не при чём.

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

А сам блютус - работает как и на пульсе. Включил режим a2dp, хороший звук, включил в режим hsp/hfp (или как ещё оно там), работает с микрофоном. Сами приложения пытаются переключить ухи в гарнитуру, но что-то недоделано. А в пульсе - падала вся пульса с блюзом.

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

Кстати, @ChekPuk. JACK у меня таки заработал после обновления (даже 192кГц пошло. правда, при 512 сэмплах). Вангую, «арчеватели» что-то сломали в QjackCtl.

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

Это генту-проблемы. Там изначально нет pipeware-pulse, и всё разруливается по другому. Но вот как именно, я так и не понял.

ArtSh ★★★
()
Ответ на: комментарий от ChekPuk

Или в настройках (по крайней мере кдешных) звуковух ставишь галочку «Автоматически переключаться на новое устройство», или как-то так.

ХЗ что там в kde gui, но я подгружал этот модуль в пульсу.
По факту он работал так: если подоткнуть сам bt модуль, то пульса начинала лить звук в него (есть наушники, нет, пофиг).
То есть, за новое устройство считался сам bt синк, а есть ли у него уши, или нету, никто не проверял.

Ладно, и чёрт бы с ним с автодетектом, но вот, например, запущено N программ, как принудительно в один клик в pavucontrol всем сменить выход на другую звуковуху?

aidaho ★★★★★
()
Ответ на: комментарий от ArtSh
  1. Деактивируешь автозапуск пульсы
 ~ $ grep -i spawn /etc/pulse/client.conf 
autospawn = no
  1. Раскомментируй
 ~ $ grep -i re-pulse /etc/pipewire/pipewire.conf 
    "/usr/bin/pipewire-pulse" = { "#args" = "-a tcp:4713" }

  1. Потом добавь pipewire в автозагрузку, если нет системд. Если есть, то по арчвики.
anonymous
()
Ответ на: комментарий от anonymous

у меня с такими флагами собрана. надо будет сделать патч для елогинда, но это нескоро.

[ebuild   R    ] media-video/pipewire-0.3.20:0/0.3::overlay  USE="X ffmpeg pulseaudio vulkan -bluetooth -debug -doc -gstreamer -jack -systemd -test" 0 KiB
anonymous
()
Ответ на: комментарий от aidaho

ХЗ что там в kde gui

Дураки какие-то

но я подгружал этот модуль в пульсу.

Потому что я же не лупень какой, а хакир, я умею в консоль!!!

если подоткнуть сам bt модуль, то пульса начинала лить звук в него (есть наушники, нет, пофиг)

Отстрелил себе ногу, потому что могу! И это моя позиция!

чёрт бы с ним с автодетектом

Какого хрена эти гады не поставили предохранитель на снятие предохранителя??? Мне теперь кто ногу восстановит? Она в дребезги!

Я павуконтроль давно не тыкал, но вроде, та же логика - там можно поставить галочку на устройстве «Сделать главным», или как-то там, все программы сами перепрыгивают. Какие проблемы? Открой павуконтроль, наведи мышку на каждое поле, кнопку, чекбокс, подожди секунду выведет подсказку, может так яснее будет что там как делается? Само собой понятное всё. Или просто мне эта логика понятна?

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

Открой павуконтроль, наведи мышку на каждое поле, кнопку, чекбокс, подожди секунду выведет подсказку, может так яснее будет что там как делается? Само собой понятное всё. Или просто мне эта логика понятна?

Это был риторический вопрос. Нельзя этого сделать.
Остальную отрыжку нет смысла комментировать.

aidaho ★★★★★
()
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от ArtSh

В Gentoo флаг pulseaudio надо включить как в данном примере. То, что в другим дистрибутивах раздроблено на пакеты в Gentoo является флагами и часто время сборки равно или быстрее установки пачки пакетов с цикличной проверкой всей дури для каждого пакета.

[ebuild   R    ] media-video/pipewire-0.3.20:0/0.3::overlay  USE="X ffmpeg pulseaudio vulkan -bluetooth -debug -doc -gstreamer -jack -systemd -test" 0 KiB
anonymous
()

Кушать говно сейчас модно. Alsa достаточно. Если нужно что-то большее, есть sndio и jack.

conservator
()
Ответ на: комментарий от anonymous

"/usr/bin/pipewire-pulse" = { "#args" = "-a tcp:4713" }

Я так понимаю, Вы имели в виду exec /usr/bin/pipewire-pulse -a tcp:4713 ?

Потом добавь pipewire в автозагрузку, если нет системд

Как и куда? rc-update не знает про такой сервис.

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

Я так понимаю, Вы имели в виду exec /usr/bin/pipewire-pulse -a tcp:4713 ?

Наверное, в 0.3.18 так, у меня 0.3.20. Возможно синтаксис поняли.

Как и куда? rc-update не знает про такой сервис. В автозагрузку с DE или WM.

anonymous
()
22 февраля 2021 г.

Обновился до 0.3.22. Заработала передача данных по сети. Кейс такой: на сервере работает MPD с Пульсой, на компе клиент с Пайпой. Звук есть.

anonymous
()

…с KDE я установил pipewire

кеды же уже несколько месяцев, как тянут его по зависимостям сами, в манжаре нет?

d09
()
Последнее исправление: d09 (всего исправлений: 1)
:: pipewire-pulse and pulseaudio are in conflict. Remove pulseaudio? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
:: removing pulseaudio breaks dependency 'pulseaudio=14.2-2' required by pulseaudio-jack

И чо теперь? Чинить они это не будут, похоже. А как мне к сущесвтующему джеку прикрутить это поделие? Они либо заменяют джек собой (pw-jack), либо могут оставить в покое джек приложения (ну спасибо). А если мне надо чтобы пульсопрога орала через джек? Раньше у меня был pulseaudio-jack, который понятно прикидывался джек-клиентом, а чо теперь?

yekm
()
Ответ на: комментарий от yekm

Удалить pulseaudio-jack и pulseaudio и установить pipewire, pipewire-pulse и pipewire-jack. Джековые проги запускать с pw-jack

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

Система – арч, после обновления в кедах он не работает. Проблема усугубляется тем, что какой-то гений решил собрать кеды с пайпваиром в качестве обязательной зависимости (если остановить его и запустить пульсу, плазма просто не запускается). Зачем тестировать на пользователях это поделие? Повторяем историю с пульсой? В KDE Neon пайпваир запущен в фоне, но огнелис работает через пульсу. Честно говоря, не понимаю, зачем это нужно.

hateWin ★☆
()
Ответ на: комментарий от hateWin

А какая версия пайпваира? Может и ко мне в Манджару прилетит трабла?

Пока набоюдаю только иногда, моментные нескладушки, например, после включения блюпупных наушников звук перенаправляется в них, но в наушниках тишина. Это как-то связано с тем, что к ушам одновременно подключаются и комп и телефон. С пульсой было чётче, или подключился, или устройство занято. Но сильно не напрягает, вырубил, врубил уши и работает. И если запустить Qtractor, а потом на воспроизведение поставить ютуб какойнить, то в кутракторе выскакивают сообщения о том, что сервер сменил буфферы. Нужно запустить patchage и вручную выставить буффер «джека».

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

А какая версия пайпваира? Может и ко мне в Манджару прилетит трабла?

Блин, не помню.

hateWin ★☆
()
Ответ на: комментарий от ChekPuk
pacman -Qi pipewire
Название             : pipewire
Версия               : 1:0.3.23-1
Описание             : Low-latency audio/video router and processor
Архитектура          : x86_64
URL                  : https://pipewire.org
Лицензии             : LGPL
Группы               : Нет
Предоставляет        : libpipewire-0.3.so=0-64
Зависит от           : rtkit  alsa-card-profiles  libdbus-1.so=3-64  libncursesw.so=6-64  libsndfile.so=1-64  libudev.so=1-64  libasound.so=2-64  libsystemd.so=0-64  libbluetooth.so=3-64  libsbc.so=1-64  libldacBT_enc.so=2-64
                       libopenaptx.so=0-64  libfdk-aac.so=2-64
Доп. зависимости     : pipewire-docs: Documentation
                       pipewire-media-session: Default session manager [установлено]
                       pipewire-alsa: ALSA configuration
                       pipewire-jack: JACK support
                       pipewire-pulse: PulseAudio replacement
                       gst-plugin-pipewire: GStreamer support [установлено]
Требуется            : gnome-remote-desktop  gst-plugin-pipewire  mutter  pipewire-media-session
Опционально для      : Нет
Конфликтует с        : Нет
Заменяет             : Нет
Установленный размер : 5,49 MiB
Сборщик              : Jan Alexander Steffens (heftig) <heftig@archlinux.org>
Дата сборки          : Чт 04 мар 2021 20:47:35
Дата установки       : Вс 14 мар 2021 11:16:46
Причина установки    : Установлен как зависимость другого пакета
Установочный скрипт  : Yes
Проверен             : Подпись
hateWin ★☆
()
Ответ на: комментарий от hateWin

у пайпвари изменили формат конфигов в одном из недавних обновлений. Проверь /etc/pipewire и подкаталоги на pacnew-файлы.

Lrrr ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.