LINUX.ORG.RU

Артефакты звука при использовании pipewire

 , ,


0

1

Calculate linux (gentoo)

После нескольких суток аптайма звук в видео, аудио, играх - вообще везде начинается «плеваться». Это видимо то самое легендарное «пшпш»? Как с этим бороться вообще? Это лечится?

Правильно рестартнуть эту гадость вообще можно? При переключении на алсу и обратно, pipewire перестает работать до рестарта, например.

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

★★★★★

Ответ на: комментарий от krasnh

0.3.63-r3

Но вообще проблема уже год наверное… Я в последнее время вообще на алсе сидел, ибо ребутаться было лениво.. Может дней 100. Сечас решил обратно вернуться, а оно опять…

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

Что то где то течёт. Это надо дебажить и репортить. Попробуй ~ (testing) версию размаскировать и поставить, возможно в ней уже пофикшено это, что бы это ни было. У меня ~ пайп и плумбер, аптайм неделями, жалоб на звук нет...

Рестартует эта гадость вместе с юзерской сессией, можно и вручную, запусти /usr/bin/gentoo-pipewire-launcher от юзера, он убъёт и перезапустит.

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

systemctl --user restart pipewire

Не нужно советовать если не знаешь, в генту и кальке пайпвар с плумбером юзерские и стартуют при запуске графической сессии через автостарт WM\DE, от юзера. .desktop файл в автостарте исполняет скрипт /usr/bin/gentoo-pipewire-launcher, он запускает или перезапускает пайп и плумбер.

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

Ага, есть такой, спасибо. Попробую.

Я вообще решил вернуться только ради media-sound/pavucontrol-qt - ну шикарнейшая же штука для управления всем этим. А то через голую алсу очень уж убого все.

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

Как с этим бороться вообще? Это лечится?

Да, удалением мусорной прослойки. Вот не пойму я, ставят эту пакость, жалуются, фиксят в ней чё-то, опять жалуются. Мазохисты что ли? Вопрос раз и навсегда решается её сносом.

Я в последнее время вообще на алсе сидел, ибо ребутаться было лениво.. Может дней 100. Сечас решил обратно вернуться

Ну и зачем? Моде поддался?

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

Затем что у чела калькулейт и в нём нет системд. Не делай из инита культ. Очень рад за тех у кого системд, но эта радость не повод звонко пердеть в бочку и советовать то что у ТС не сработает.

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

Очень уж удобная штука - pavucontrol. Да и приложения многие (игры) ругаются на отсутствие этих самых прослоек. (Ругаются, но работают, кстати, но всеравно неприятно.)

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

и в нём нет системд

С этого следовало начинать. Помогать пользователям маргинальных дистрибутивов нет желания. Они сами знали на что подписываются.

Кстати, он основан на gentoo, а значит systemd поставить можно. Так что ни о чём не говорит.

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

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

Принимать помощь дилетанта - это сомнительная ценность. Но спасибо и за это.

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

Я отлично видел какой у тебя дистрибутив. Я понятия не имею что они там наворотили. У генты есть варианты с systemd и без и я думал, что создатели calculate будучи разумными людьми взяли за основу вариант с systemd. Судя по всему, ошибался. Они не разумные люди.

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

Тебе принципиально обосрать и последнее слово за собой оставить? Мало того что у поста ТС тег есть, он ещё и в тексте написал какой у него дистрибутив. Нахрена ты пришёл в тему про незнакомый тебе дистрибутив, пёрнул в бочку, и когда тебе про это сказали обиделся и сообщил что желания помогать нет? Что за детский сад, ты мне вменяемым казался, у тебя ребёнок акк угнал?

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

Я не фанатик. А вот отказ от удобного инструмента иза каких то непонятных мне причин - вот это фанатизм, да.

Взять в пример этот тред. С systemd сделать перезапуск любого демона проще простого. Используя автозапуск DE или любой другой способ запуска - непонятно как это сделать.

Так что нет, касательно меня, это не фанатизм. Скорее просто злорадство над фанатиками. Отказались от systemd - страдайте. Никто вам не поможет.

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

Отказались от systemd - страдайте.

Так не страдаем же. Лично мне плевать какой там под капотом инит. Они все свою задачу выполняют, что по дефолту в дистре идёт тем и пользуюсь. Да, в генте есть системд, и желающие могут его поставить, и в калькулейт могут поставить желающие, но кальковские утилиты и шаблоны про него не знают. Это потому что калька появилась раньше чем системд и базируется на гентушном дефолте, где ОпенРЦ. И разработчиков ОпенРЦ устраивает, как и меня например. Вот переползёт гента на системд как основной инит по умолчанию, вот тогда...

И вообще, тема про пайпвар, причём тут инит? И вообще, почему тебя эта тема так волнует, почему тебе не пофиг что там «под капотом»?

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

Мне пофиг до того момента пока не нужно с этим взаимодействовать. Как например в данном треде. И в таком случае я предпочитаю использовать лучший инструмент из доступных.

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

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

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

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

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

При чем тут отказ от чего то? Ты почему отказался от козьего сыра с Алтая? Зачем ты это сделал?

В кальке изначально не использовалась системда. Как только она потребуется и сможет предложить что то нужное, на нее сразу перейдут. Возможность такая есть. А навязывать непонятный новый инструмент - это как минимум странно. Зачем он мне? Что он мне сейчас может предложить, без чего я не могу обойтись?

Работает - не трогай.

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

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

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

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

Это баш скрипт, он предельно простой. Там проверяется запущен ли пайп с плумбером, и если запущен — прибивает их и поднимает заново. Если не запущен — просто поднимает.

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

Кстати, о проблемах и решениях. Ты не в курсе, есть ли в линуксе способ очистки ОЗУ от мусора? Я использую zram, он очень хитро сжимает используемое прямо в ОЗУ, но кажая загрузка памяти ухудшает производительность. Выключение приложений не помогает, виртуальный «своп» всеравно остается заполнен… Помогает как раз таки рестарт, но до очередной загрузки памяти всякой гадостью.

Вот бы очищать это все принудительно.

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

Почитал этот скрипт. Ничего он не перезапускает. Он прибивает pipewire и pireplumber а потом запускает их в текущем терминале. То есть после этого ты не сможешь закрыть терминал.

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

А ты его не через терминал пускай, а через run. Ну и читал ты его хреново, или не знаешь что такое exec

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

Ничто не мешает сделать swapoff и swapon даже для zram. устройство то есть, хоть и виртуальное. у меня это /dev/zram0. у меня точно такой же сетап.

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

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

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

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

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

У меня в среднем один ребут на 90 дней. Так что да - протекающий софт, убивающий систему раз в несколько суток это звиздец какая проблема.

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

использую zram

У меня установлен пакет zram-generator и, если вдруг требуется сбросить данные из свопа, я делаю рестарт сервиса systemd-zram-setup@zram0.service".
В Calculate что-то свое, но тоже наверно какой-то сервис, доступный рестарту.

p.s. А ядро 6.1? Это лучший выбор в 2023 году, :) а еще лучше 6.1.10.

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

Ну что же, пш-пш началось при аптайме меньше недели.

Команда /usr/bin/gentoo-pipewire-launcher зациклила вот это:

eply_error()] client 0x555cbd6b3b80 [KMix]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Узел выключен)
[E][76330.018723] mod.protocol-pulse | [  pulse-server.c: 1089 do_set_client_name()] 0x555cbd69ceb0: failed to connect client: Узел выключен
[W][76330.018749] mod.protocol-pulse | [         reply.c:   73 reply_error()] client 0x555cbd6b4d70 [KMix]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Узел выключен)
[E][76330.070865] mod.protocol-pulse | [  pulse-server.c: 1089 do_set_client_name()] 0x555cbd69ceb0: failed to connect client: Узел выключен
[W][76330.070890] mod.protocol-pulse | [         reply.c:   73 reply_error()] client 0x555cbd6b3b80 [KMix]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Узел выключен)
[E][76330.122758] mod.protocol-pulse | [  pulse-server.c: 1089 do_set_client_name()] 0x555cbd69ceb0: failed to connect client: Узел выключен
[W][76330.122785] mod.protocol-pulse | [         reply.c:   73 reply_error()] client 0x555cbd6b4d70 [KMix]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Узел выключен)
[E][76330.174838] mod.protocol-pulse | [  pulse-server.c: 1089 do_set_client_name()] 0x555cbd69ceb0: failed to connect client: Узел выключен
[W][76330.174872] mod.protocol-pulse | [         reply.c:   73 reply_error()] client 0x555cbd6b3b80 [KMix]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Узел выключен)
[E][76330.207110] mod.protocol-pulse | [  pulse-server.c: 1089 do_set_client_name()] 0x555cbd69ceb0: failed to connect client: Узел выключен
[W][76330.207137] mod.protocol-pulse | [         reply.c:   73 reply_error()] client 0x555cbd6b4d70 [Plasma PA]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Узел выключен)
[E][76330.226890] mod.protocol-pulse | [  pulse-server.c: 1089 do_set_client_name()] 0x555cbd69ceb0: failed to connect client: Узел выключен
[W][76330.226918] mod.protocol-pulse | [         reply.c:   73 reply_error()] client 0x555cbd6b3b80 [KMix]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Узел выключен)
[E][76330.279133] mod.protocol-pulse | [  pulse-server.c: 1089 do_set_client_name()] 0x555cbd69ceb0: failed to connect client: Узел выключен
[W][76330.279161] mod.protocol-pulse | [         reply.c:   73 reply_error()] client 0x555cbd6b4d70 [KMix]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Узел выключен)
[E][76330.331130] mod.protocol-pulse | [  pulse-server.c: 1089 do_set_client_name()] 0x555cbd69ceb0: failed to connect client: Узел выключен
[W][76330.331157] mod.protocol-pulse | [         reply.c:   73 reply_error()] client 0x555cbd6b3b80 [KMix]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Узел выключен)
[E][76330.383145] mod.protocol-pulse | [  pulse-server.c: 1089 do_set_client_name()] 0x555cbd69ceb0: failed to connect client: Узел выключен
[W][76330.383170] mod.protocol-pulse | [         reply.c:   73 reply_error()] client 0x555cbd6b4d70 [KMix]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Узел выключен)
[E][76330.435442] mod.protocol-pulse | [  pulse-server.c: 1089 do_set_client_name()] 0x555cbd69ceb0: failed to connect client: Узел выключен
[W][76330.435478] mod.protocol-pulse | [         reply.c:   73 reply_error()] client 0x555cbd6b3b80 [KMix]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Узел выключен)
[E][76330.487879] mod.protocol-pulse | [  pulse-server.c: 1089 do_set_client_name()] 0x555cbd69ceb0: failed to connect client: Узел выключен
[W][76330.487903] mod.protocol-pulse | [         reply.c:   73 reply_erro

Убить это нельзя. Звук пропал. Опять надо на ребут. Проблема актуальна…

P.S.

Все, вру. Сначала нужно полностью убить pipewire в системе, только потом использовать команду и все чинится. Пш-пш нету. Спасибо огромное.

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

Да, и ещё. kmix deprecated и действительно глючит с пайпом и пульсой. Рекомендуется использовать встроенный в плазму апплет. А кмикс можно и нужно тупо удалить из системы. Или хотя бы автозапуск у него в настройках убрать. Он нужен если у тебя полукеды, без kwin и плазмы. У тебя сейчас за управление сражаются kmix и plasma-pa, так как kmix ты запускаешь в автозагрузке, а plasma-pa ты не отключал описанным ниже способом.

"In KDE Plasma, kde-plasma/plasma-pa is the default audio volume handler."
"Should you prefer this to be kde-apps/kmix instead, do the following:"
" - In system tray, right click on [Show hidden items]"
" - Select [Configure System Tray]"
" - In [Entries],  search for [Audio Volume] and set it to [Disabled]"
"KMix will be shown as [Volume Control]."

Это ebuild kmix пишет, просто кальковцы этого не видят потому что обновляются кальковскими утилитами. Так что elog сообщения на экран не выводятся. Я просил Лаутрэ подумать над опцией выводящей в конце обновления суммарный elog, но он сказал что это слишком сложно, не в приоритете и возможно будет в следующем поколении утилит.

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

А, ну да, у меня их двое висело в трее. Я как то забил - не мешается же.

Именно что мешается и может быть причиной проблем

После перезапуска пайпа второй пропал сам.

Типа само прошло, да? И лечить не надо. Он просто упал, но он вернётся.

Удали kde-apps/kmix, я тоже какие то глюки из за него ловил постоянно. Это же элементарно, от него зависимостей нет и он объективно вообще больше не нужен. Или если он тебе как память дорог хотя бы отключи ему автозапуск в его настройках.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)