LINUX.ORG.RU

Настройка уровня громкости в pipewire

 debian pipewire sway


0

1

Доброго времени суток, уважаемые! Долго боролся с pulseaudio и решил попробовать pipewire. Но тут натыкаюсь на ровно такие же проблемы. После перезагрузки системы или перезагрузки юнита wireplumber настройки уровня громкости сбрасываются, выключенный микрофон включается, при подключении bluetooth гарнитуры уровень громкости улетает в 100%. Как установить значения по умолчанию я не нашел, так же как и подгрузку ранее установленных параметров. Может кто-то погружен достаточно хорошо в эту тему и сможет подсказать как подкрутить эти параметры?

  • Debian 12.5
  • kernel 6.1.0-20-amd64
  • sway 1.7-6
  • pipewire 0.3.65-3+deb12u1
  • pipewire-alsa 0.3.65-3+deb12u1
  • pipewire-audio 0.3.65-3+deb12u1
  • pipewire-bin 0.3.65-3+deb12u1
  • pipewire-pulse 0.3.65-3+deb12u1
  • libpipewire-0.3-0 0.3.65-3+deb12u1
  • libpipewire-0.3-modules 0.3.65-3+deb12u1
  • wireplumber 0.4.13-1
  • bluez 5.66-1+deb12u1

В Интернетах народ предлагает:

sleep 10 && alsactl --file ~/.config/asound.state restore

Можно ли задать правило для wireplumber или pipewire что бы каждый микрофон был по умолчанию в мьюте и при включении микрофон имел определенный уровень громкости?

★★

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

В Интернетах народ предлагает:

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

А pipewire и pulseaudio - микшеры и предоставляют интерфейс для приложений.

В alsa есть свой микшер, но были случаи, когда какое-либо приложение монопольно блокировало доступ к аудио устройствам. Отчасти поэтому и по желанию Леннарта Поттеринга появился pulseaudio.

А потом уже сообщество, думаю совместно с Леннартом решило, что нужно делать новое, а не исправлять уже существующее.

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

По поводу включения микрофона - это точно настройки pipwire или DE.

Я сам не использую pipewire.

Поэтому пробуй предложенное для начала, но думаю, что это не совсем верное решение.

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

В качестве оконного менеджера у меня sway, он вообще ничего не знает о микрофоне и звуке. По pipewire вроде много документации, но она оказалась бесполезной в моем случае.

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

чтобы restore надо сначала store. В нормальных системах этим сервисы занимаются alsa-state сохраняет текущие настройки при выключении alsa-restore восстанавливает при включении

https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture#ALSA_and_systemd

systemctl status alsa-state.service

systemctl status alsa-restore.service

можно вручную в свой файл настроки сохранять

alsamixer настроить как надо и

alsactl --file ~/.config/asound.state store

потом восстанавливать

alsactl --file ~/.config/asound.state restore

pipeware свои настройки сам сохраняет настройте по новому через pavucontrol

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

Да вот в том и дело что не сохраняет у меня pipeware настройки. Установил уровень громкости в pavucontrol, подключил наушники, установил уровень громкости, отключил наушники, уровень громкости слетел. При подключении bluetooth сбрасывает на 100%.

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

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

Понимаешь, sway - это менеджер окон, т.е. часть программного обеспечения, на базе которой можно строить окружение рабочего стола.

Он может управлять только окнами.

  • если тебе нужно переключение раскладок и управление ими - ищи приложение и запускай вместе с ним отдельно САМ;
  • если тебе нужно управление звуком - ищи приложение, запускай его и настраивай сохранение и восстановление уровней звука САМ;
  • если тебе нужно управление яркостью монитора, сохранение и восстановление, ну ты знаешь что;
  • Если тебе нужен файловый менеджер и отрисовка файлов на рабочем столе - выбирай, нужный ФМ с такой функцией, настраивай запуск САМ.
  • реализация буфера обмена - ты знаешь что;
  • всё остальное - ты знаешь что.

Я его не ставил, возможно часть из описанного может быть в нём реализована, но в целом не должна быть.

Я как-то собирал минималистичное окружение на базе openbox и Gentoo, звук, раскладки, буфер обмена, панель там всё отдельно подбирал, чтобы было минимально и работало без больших зависимостей.

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

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

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

С KDE или Gnome, XFCE поставляется менеджер сеансов и для xorg или wayland есть сеанс, в котором прописано какое ПО будет запускаться и там при входе в графическую оболочку запускается свой отдельный менеджер оконн, файловый менеджер для отображения файлов, апплет управления звуком, панель, прочее.

Настраивай и разбирайся, ты сам выбрал это.

Но вижу, что ты не совсем понимаешь что ты выбрал. )))

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

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

# что-то доустановилось из этих пакетов, что-то уже было
sudo apt install pipewire pipewire-audio pipewire-libcamera wireplumber libcamera-ipa pipewire-bin pipewire-pulse pipewire-alsa pamixer xdg-desktop-portal-wlr rtkit libspa-0.2-bluetooth libspa-0.2-modules

sudo systemctl enable --now rtkit-daemon

Были ошибки связанные с правами доступа при рестарте wireplumber:

sudo usermod -aG pipewire $USER

Так же были предупреждения о старой версии bluez и отсутствии кодеков при рестарте wireplumber, решил так:

sudo nano /etc/bluetooth/main.conf
Experimental = true
KernelExperimental = 6fbaf188-05e0-496a-9885-d6ddfdb4e03e

sudo systemctl restart bluetooth
nuxster ★★
() автор топика
Ответ на: комментарий от nuxster

Молодец, дал себе пинок понимаем что нужно разбираться как и что работает.

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

Но ты справишься, продолжай.

anonymous
()