LINUX.ORG.RU

Amixer не работает с pipewire-pulse

 , ,


0

1

Всем привет, что делать если amixer работает только с pulseaudio, а с pipewire-pulse нет? Дело такое что у меня оконный менеджер qtile стоит, я его настроил, но виджет громкости который использует amixer для регулировки громкости не работает, звук есть но менять его можно только через pavucontrol, пофиксилось установкой pulseaudio, с которым в свою очередь плохо работает блютуз. Может можно как-то сделать чтобы работало с pipewire-pulse? Или остаётся только писать свой виджет для регулировки?



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

Сам альсамиксер регулирует громкость? Какие звуковухи он показывает? И что ты хочешь в итоге регулировать, громкость на сервере pipewire, или прямо на реальной звуковухе?

И что у тебя показывает регулятор громкости? Может он тупо не понимает с чем он работает? Там какой-то кастомный код или что? Наверное смотреть в его код надо.

R_He_Po6oT ★★★★★
()
→ awk 'NR>=23 && NR<=28 || NR>=449 && NR<=478 || NR>=543 && NR<=550 { code=$0; if (NR>=543 && NR<=550)
  sub(/^    /, "", code); printf("%s\n", code) }' ~/.config/qtile/config.py 
try:
    import pulsectl_asyncio
except ImportError:
    pulsectl_asyncio = None
    logger.warning("pulsectl_asyncio not installed")

class PulseVolume(base._TextBox):
    def _configure(self, *args, **kwargs):
        super()._configure(*args, **kwargs)
        self._futures.append(asyncio.create_task(self.listen()))

    async def listen(self):
        try:
            async with pulsectl_asyncio.PulseAsync('qtile-pulse-volume-widget') as pulse:
                await self.update_default_sink_info(pulse)
                async with aclosing(pulse.subscribe_events('sink')) as events:
                    async for event in events:
                        await self.update_default_sink_info(pulse)
        except Exception as e:
            logger.error("listen failed: %s", e, exc_info=True)
            await asyncio.sleep(1)
            self._futures.append(asyncio.create_task(self.listen()))

    async def update_default_sink_info(self, pulse):
        server_info = await pulse.server_info()
        logger.error("pulseaudio default sink: %s", server_info.default_sink_name)
        try:
            sink_info = await pulse.get_sink_by_name(server_info.default_sink_name)
        except Exception as e:
            logger.error("update_default_sink_info failed: %s", e, exc_info=True)
            return
        if sink_info.mute:
            self.update('M')
        else:
            self.update(f'{sink_info.volume.value_flat:.0%}')

if pulsectl_asyncio is not None:
    widgets.extend([
        PulseVolume(fmt="🔈{}", mouse_callbacks={
            "Button1": lazy.spawn("/usr/bin/pavucontrol"),
            "Button3": lazy.spawn("/usr/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle"),
        }, **font_params),
        small_padding,
    ])
ei-grad ★★★★★
()

может у тебя amixer не тот девайс или микшер дёргает?
проверь выхлопы aplay -L и amixer -D ...

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

Крч походу да, как выяснилось, он почему то в тупую не хочет работать с моими встроенными в моник колонками, с pulseaudio все норм, а вот с pipewire-pulse нет, при этом есои подключить блютус наушники или внешние колонки то все работает. Бля даже не знаю че делать

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

Крч с pipewire-pulse он не хочет теребить именно встроенные колонки на Монике, с внешними все норм, вот хз почему, с pulseaudio все робит, в целом пофигу конечно оставлю отдельные колонки, но все равно интересно

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

Ты пишешь так, будто я рядом сижу и всё вижу. Какую звуковуху у тебя показывает в микшере? Какие звуковухи у тебя показывает в pavucontrol? Какие профили у них включены? Если не в состоянии связно рассказывать что ты видишь, то выложи снимки экрана как какойнить imgur и покажи нам.

Из коментариев твоих понял, что с пульсой работает, с пайпварей не работает, так? Тебе именно выход на моник надо задействовать? Вернись в pavucontrol и убедись, что выход на моник (очевидно hdmi) не выключен. Там же можешь выбрать его как основную карту. Что у тебя в панели дёргает и теребонькает ты не сказал.

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

Потому что подозреваю встроенные колонки и те что в мониторе это разные оутпуты, pipewire-pulse считает дефолтом внешние и пытается регулировать их?

no-dashi-v2 ★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.