LINUX.ORG.RU

pipewire заикается с bluetooth колонкой, что можно покрутить?

 , ,


0

1

Есть у меня пищалка блютусная старая. Пульсаудио с ней норм работало. Поставил pipewire и теперь при старте любого звука первые секунда оно заикается, потом работает. Что можно в pipewire накрутить или может в wireplumber что бы настроить? В пульсе при таких признаках я размеры буферов считал и проставлял в конфиге, тут не знаю что как, может подскажет кто.

В /usr/share/wireplumber/bluetooth.lua.d/50-bluez-config.lua есть такое свойство: session.suspend-timeout-seconds.
Это эквивалентно (в контексте Bluetooth) module-suspend-on-idle в PulseAudio.

Дополнительная информация по конфигурации на всякий: Lua configuration files.

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

Только редактировать их там не надо, обновления перезапишут. Скопируй скрипт в /etc/wireplumber/bluetooth.lua.d/ и уже там развлекайся.

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

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

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

Но конфиг влияет, так как при некоторых опциях не коннектится девайс.

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

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

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

А, баг да, именно такой судя по всему.

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

может в wireplumber что бы настроить?

Впервые узнал о его существовании. Зачем оно?

У меня пипеваря. Иногда пользуюсь блюутусом (наушники и колонка) и не помню как оно работает, заикается или нет. Скорее нет, чем да. Но точно каких-то раздражающих глюков нет. Как нет и виреплумбера.

utanho ★★★★★
()

В зависимости от версии, в определённый промежуток, там нет в конфиге RT приоритетов. Только, хотя это не очень очевидно, за передачу звука в ситуации с BT отвечает не совсем pipewire. Там в новых сетапах это wireplumber. Так что если он без RT приоритета, то это может быть оно.

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

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

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

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

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

Ну, тогда с вероятностью в 99% это не оно, т.к. в новых уже в дефолтном конфиге.

Если что, в конфиге wireplumber можно посмотреть/дописать

  { name = libpipewire-module-session-manager }
  
    {   name = libpipewire-module-rtkit
        args = {
            nice.level   = -15
            #rt.prio      = 88
            #rt.time.soft = 200000
            #rt.time.hard = 200000
        }
        flags = [ ifexists nofail ]
    }
vasily_pupkin ★★★★★
()
Ответ на: комментарий от vasily_pupkin
libpipewire-module-rtkit

В PipeWire 0.3.44+ это алиас на libpipewire-module-rt, а nice.level в конфигурации по умолчанию – -11.

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

у меня версия новее

Не понятно, значит ли это, что новее 0.4.8 или что новее 0.4.6?
Если второе, то сделай так (в wireplumber.conf или bluetooth.conf в зависимости от метода использования, ну или в обоих, не помешает).

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

0.4.7.r41.g13034fa-1~ubuntu20.04

Если речь об этом

# Uses RTKit to boost the data thread priority.
  { name = libpipewire-module-rt
      args = {
          nice.level   = -11
          #rt.prio      = 88
          #rt.time.soft = -1
          #rt.time.hard = -1
      }
      flags = [ ifexists nofail ]
  }

то так и сейчас там написано, скопировал свой конфиг и комите он же вроде, поставить там -15?

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

Сделал nice.level = -15 rt.prio = 88

Рестартанул, работает, но заикается все равно :( Потом сделал это для обоих pipewire+wireplubmer Как проверить, что модуль для RT вообще есть в системе?

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

Того, что есть, должно хватить.
Я это сначала не стал упоминать, потому что догадался, откуда ты взял PipeWire, и подозрения оправдались :-). Версия достаточно новая.

Единственное, тут можно проверить, а действительно ли niceness применяется, с ps или top, но должно работать.
Из подобных идей ещё в rtkit сильно ограничен real time priority, но я сомневаюсь, что это может приводить к такому результату.

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

Проверил, у них -15 у обоих сейчас. Пусть остается так, не мешает вроде ничему. Я с репы pipewire debian это все взял, сам не собирал.

Но заикается все равно на блютусе, потом проверю, пару раз наблюдал прерывания в записи с микрофона или щелчки, непонятные. У меня аудиоинтерфейс внешний с конденсаторным микрофоном для записи. Щелчки пропадают после перезапуска или подобных шаманств. В общем пока что грустно, но выглядит перспективно. Мне особенно понравилось, что с джековыми комутаторами оно дружит…в пульсе не знаю как даже.

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

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

Отрубил, заикается. Обнаружил, что заикается когда я шевелю мышкой! Я ее отрубил от блютуза, подключил по проводу. Начинаю шевелить, заикается. Через блютуз тоже. Нашел хоть источник. Поэтому в начале видео заикается, я просто только страничку открыл, смотрю что то на ней и мышкой шевелю. Еще думаю это происходит когда нажимаю кнопки на клавиатуре, но реже намного…или мне с кнопками кажется. С мышкой совершенно точно.

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

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

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

Или может можно трафик как то проанализировать и понять, что именно эти два девайса мешают друг другу?

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

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

pw-dump имеет смысл приложить (ну и самому в него посмотреть).

Еще может быть прикол с кодеками. Можно попробовать поклацать между SBC/AAC/APTX (смотря что есть). Но тикет обязательно

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

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

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

Так я выше баг прислал. Там точно так же у чувака заикается, просто я вероятное решение нашел. Я туда и логи и дамп и пр скинул и описание причины. Так что мир не в убытке :)

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