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)
Ответ на: комментарий от arrecck

pipewire это для стримеров, ютуберов и иже с ними. Для декстопного юзера в чем юзкейс?

А десктопный юзер это, по-вашему, кто? Животное, пускающее слюну в фейсбуке и твитторе? Любому пользователю однажды может захотется запилить стрим, записать музыкальный инструмент, что-то куда-то перенаправить. Инфраструктура системы должна быть к этому готова.

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

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

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

попробуй какое-нибудь приложение на JUCE запустить, например Helm standalone
когда я пробовал (достаточно давно), они дико тупили при опросе аудио устройств и, в итоге, почти всегда падали

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

Запускал, как раз Helm, всё работало, вроде.

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

Хм, после стольких «нужных» нововведений, что мы пережили в линуксе, я могу назвать положительным только автоматическую настройку иксов и автоподключение мышей с клавами, джек, да теперь я признаю, пайпвайр хорош. Пульса входила больно, очень больно, но в итоге стало достаточно удобно. Всё остальное - боль и ломания ради ломаний. Если тебе каждый кень ломают ноги ради наращиаания, это больно, но умом понимаешь, нужно. Но если их ломают просто так, то ты волей-неволей станешь скептиком и ретроградом

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

Что-то у меня звук заикается в плеерах, когда параллельно смотришь видео и проматываешь. Это нормально?

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

А у меня вот хня какая-то. Даже когда просто открываешь видео в smplayer - в браузере музыка заикается.

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

Там обычный вывод в пульсу и всё, непонятно как это влиять может. С vlc то же самое, звук заикается при открытии файла.

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

И даже когда в другом браузере видео проматываешь - музыка заикается) ну капец

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

Хм. Я на компе, на котором сейчас нету пайпвайра, проверить не могу.

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

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

Кааак? Мне попадается только всякое про то, что это пока в планах, но коментарии прошлого года. А уже можно? Дай рецепт!

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

Кстати, только что дошло. Я же раньше, для джека, добавлял себя в группы audio и realtime, ставил пакет realtime-priveleges (это в манжаре). Может это и добавляет мне плавности?

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

Вот хрен его знает ребята вот дистр https://youtu.be/9B-nTJyEZX0 где я пере собирал пипе green-recorder и прочее у меня всего в папке один конфиг /etc/pipewire/pipewire.conf и в нём

#daemon config file for PipeWire version «0.3.5»

set-prop is used to configure properties in the system

#set-prop library.name.system support/libspa-support #set-prop context.data-loop.library.name.system support/libspa-support #set-prop link.max-buffers 64 set-prop link.max-buffers 16 # version < 3 clients can’t handle more #set-prop mem.allow-mlock true #set-prop log.level 2

Properties for the DSP configuration

#set-prop default.clock.rate 48000 #set-prop default.clock.quantum 1024 #set-prop default.clock.min-quantum 32 #set-prop default.clock.max-quantum 8192 #set-prop default.video.width 640 #set-prop default.video.height 480 #set-prop default.video.rate.num 25 #set-prop default.video.rate.denom 1

add-spa-lib

used to find spa factory names. It maps an spa factory name

regular expression to a library name that should contain

that factory.

add-spa-lib audio.convert* audioconvert/libspa-audioconvert add-spa-lib api.alsa.* alsa/libspa-alsa add-spa-lib api.v4l2.* v4l2/libspa-v4l2 add-spa-lib api.bluez5.* bluez5/libspa-bluez5 add-spa-lib api.vulkan.* vulkan/libspa-vulkan add-spa-lib api.jack.* jack/libspa-jack add-spa-lib support.* support/libspa-support #add-spa-lib videotestsrc videotestsrc/libspa-videotestsrc #add-spa-lib audiotestsrc audiotestsrc/libspa-audiotestsrc

load-module [-ifexists] [= …]

Loads a module with the given parameters. Normally failure is

fatal if the module is not found, unless -ifexists is given.

load-module libpipewire-module-rtkit # rt.prio=20 rt.time.soft=200000 rt.time.hard=200000 load-module libpipewire-module-protocol-native load-module libpipewire-module-profiler load-module libpipewire-module-metadata load-module libpipewire-module-spa-device-factory load-module libpipewire-module-spa-node-factory load-module libpipewire-module-client-node load-module libpipewire-module-client-device load-module libpipewire-module-access load-module libpipewire-module-adapter load-module libpipewire-module-link-factory load-module libpipewire-module-session-manager

create-object [-nofail] [= …]

Creates an object from a PipeWire factory with the given parameters.

If -nofail is given, errors are ignored (and no object is created)

#create-object spa-node-factory factory.name=videotestsrc node.name=videotestsrc Spa:Pod:Object:Param:Props:patternType=1 #create-object -nofail spa-device-factory factory.name=api.jack.device foo=bar #create-object spa-device-factory factory.name=api.alsa.enum.udev #create-object spa-device-factory factory.name=api.alsa.seq.bridge node.name=Internal-MIDI-Bridge #create-object adapter factory.name=audiotestsrc node.name=my-test #create-object spa-node-factory factory.name=api.vulkan.compute.source node.name=my-compute-source create-object spa-node-factory factory.name=support.node.driver node.name=Dummy priority.master=8000

exec

Execute the given program. This is usually used to start the

session manager. run the session manager with -h for options

exec pipewire-media-session # -d alsa-seq,alsa-pcm,bluez5,metadata

anonymous
()

Сраная разметка ну пой пой не по разметке итд

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

Как я понял, там идёт работа по прикручиванию именно pulseeffects как sink к gst, так? Значит уже не туда повернули. Не, вручную я уже сейчас могу запустить любой хост эффектов через pw-jack и пустить на него поток, но мне нужно, чтобы оно само работало при старте. Минимум как в пульсе, когда я в конфиге прописываю модуль и эффект с заданными параметрами, но самое удобное, конечно, любой хост, который пайпвайр будет воспринимать как синк. Пока я такого не увидел.

Хотя... Ушёл пробовать. Вернусь или со щитом, или на щите.

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

Не, не получается. Можно попробовать что они там наваяли в гите, но комп нужен для коммуникациев, портить окончательно не могу. Пока отложу эксперименты. Но я всё же оставил пайпваир.

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

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

очень буду рад когда папа варя сможет так же вот это вот все.

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

А какие патчбеи тебе нужны? Можешь привеси совсем конкретный пример? Если у тебя будет варина пипка - ты точно также можешь её патчбеить, всё будет работать. Только пульсоприложения будут продолжать автоматом коннектиться в звуковуху (пипский синк), а не куда ты их направил. Тоесть, за вычетом экзотики типа mixxx все джекозябры дожны работать и даже для разных звуковух не надо создавать разные профили, они будут дружно жить в одной куче, патчи себе налево и направо. Под вопросом только пульсовые приложения (в моём случае критичным является только браузер, потому что звук с него надо выравнивать, да и то не везде, только в фильмах), которым надо сделать из хоста эффектов пипкосинк.

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

Обновил Firefox в OpenSuSE и слетел звук. Выяснилось, что в системе появился pipewire. Есть ли аналог apulse для pipewire, чтобы не страдать?

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

вот патчбей реального кейса:

в не зависимости сколько каналов в дорожке фильма, у меня на выходе только стерео, и джек автоматом коммутирует (channel remap) каждый коннект плеера.

причем, я ремаплю просто соединением сигналов, а можно и по снипам/гостам, а можно и своего наворотить.

кстати, та же байда может спасти и твой кейс с браузером.

и если патчбеи будут в папе вари то это должно будет дать и автореконнект пульсоговна в правильные выходы.

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

в не зависимости сколько каналов в дорожке фильма, у меня на выходе только стерео, и джек автоматом коммутирует (channel remap) каждый коннект плеера.

Ты уверен, что не занимаешься тем, что плеер должен был автоматом сделать?

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

Я тот анон с заиканиями. Короче, снёс пайп и поставил обратно пульсу. Ужасно сырое поделие ещё, как начинает заикаться - невозможно музыку слушать.

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

Эээ... А нет? Надо проверить. У меня, вроде, всегда стереовыход, хоть в пульсе хоть в джеке.

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

Не хочу разбираться, тем более Pulse у меня тоже отключён: стоят только библиотеки, но не сам сервер. Кстати, Pipewire в OpenSuSE так не даёт сделать. И ещё, с 2000 до конца 2020 у меня всё было удобно и нормально - только ALSA и всё. P.S. Коплю на Мак и жду, когда вот это всё закончится.

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

Основная проблема от Pipewire: обновления Firefox и Chromium. Но уже нашёл чужой репозиторий (с троянами, ага) и поставил самую последнюю версию FF, собранную без Pipewire.

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

в системе появился pipewire

Это вина не PipeWire, а мейнтейнеров твоего дистрибутива.

Мейнтейнеры нормальных дистрибутивов (Alpine, Void, AntiX и т. д.) собирают Firefox без привязки к пульсошлаку или PipeWire.

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

Коплю на Мак и жду, когда вот это всё закончится

«Кто-то покупает цветы мака и дарит бабам. Кто-то покупает семена мака и добавляет в булочки. А кто-то покупает высушенный и переработанный сок мака и ширяется» (Eddy_Em).

Rewand
()

я так и не понял, pw включает в себя какой-то jack-сервер или всё ещё надо будет запускать jack отдельно? а если включает, то гарантирована ли совместимость? просто навряд ли все прямо сегодня возьмутся переписывать свои плагины/программы под pw, когда они и так безупречно работают под джеком. а если надо отдельно запускать джек, то в чём тогда прикол?

поясните за связку pw+jack пож. сп.

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

я так и не понял, pw включает в себя какой-то jack-сервер или всё ещё надо будет запускать jack отдельно?

тут написано можно настроить и так и так. Хоть с отдельным JACK-ом, хоть с JACK-API поверх PipeWire.

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

ясно, в принципе. но всё равно, наверное, надо будет самому пробовать, чтобы понять насколько оно вменяемо. с настройками, правда, пердолиться неохота.

вообще, конечно, получается что-то навроде «ещё одного стандарта» :) если раньше новичкам было сложно разобраться в звуковой системе линуксов, то теперь, после добавления ещё одного «множителя» всё ещё усложнится. боюсь даже представить, что кто-то ни разу не слышал слов «альса» или «пульсаудио». я им не завидую. ставишь, вроде бы, папйпваер, а приложения для какого-то джека, в сообщениях об ошибках какая-то пульса, а на форуме просят запостить вывод и вовсе какого-то допотопного альсового приложения.

очень надеюсь совместимость pw с джеком и пульсой стопроцентная. а midi через pw тоже коммутировать можно или уже нет, кто-то знает?

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

Не, тут всё проще. Единственное - надо подправить все джекопрограммы в меню и запускать их с pw-jack. Звуковухи доступны все, одновременно, шаманить не надо. А буффер - можно и динамически настраивать его в какомнить patchage. У меня проблем не возникло (За исключением того, что пока недоработано/нестабильно).

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

Очередная сырая прослойка с кучей слоев соместимости с другими прослойками.

Трекер и голая альса спасут отца русской демократии.

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

Они уже стольких отцов русской демократии спасли, что некоторые из них, с очками на жопе, даже фильмы через джек смотрят, чтобы коммутировать 5.1 звук в стерео.

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

и запускать их с pw-jack

это получается тогда, судя по ссылке «небесного бродяги», что у тебя отдельно джек запущен, да? а если совсем без джека, то, получается, вообще ничего тогда править не надо, только выбрать карту и буфер настроить, да?

ладно, я подожду ещё до следующей волны хайпа, раз оно пока недоработано, как ты говоришь :) сейчас не буду ставить.

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

jedem das seine, браузер поверх пульсы - удобно

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