Раз уж вы читаете это HOWTO, я предполагаю что у вас что то не работает с pipewire, или не работает сам pipewire, и вы ищете способ как вернуть всё назад. Я прошу вас подумать ещё раз, и дать pipewire шанс. В своё время разработка pulseaudio была затруднена массовой реакцией пользователей Ubuntu, которые первыми получили этот звуковой сервер в составе дистрибутива и предпочитали не сообщать об ошибках ни разработчикам дистрибутива, ни разработчикам pulseaudio, вместо этого они просто удаляли “портившую звук программу”. И в результате первый же найденный в Google совет по поводу неправильной работы звука звучал так: “удалите pulseaudio”. С точки зрения пользователя это конечно решает проблему, но подобное эгоистичное поведение не способствует улучшению качества дистрибутива, так как не даёт никакой обратной связи разработчикам. Они понимают что программа у многих не работает, но без рапортов об ошибках не знают что же конкретно им чинить. Подобный метод решения проблем похож на отрубание больной головы вместо её лечения.
Итак. У вас что то не работает. Прочитайте эту статью на форуме, загляните в PipeWire - ArchWiki, попросите помощи в канале поддержки, для этого вам достаточно запустить заботливо настроенный на этот канал разработчиками дистрибутива чат-клиент или подключиться к этому же каналу в Телеграм. Совсем замечательно если вы отправите багрепорт в https://bugs.gentoo.org и/или самим разработчикам pipewire.
Возможно у вас были какие то хитрые продвинутые ручные настройки pulseaudio и теперь это всё отвалилось? Pipewire умеет почти всё из того что умеет pulseaudio, возможно вам стоит почитать официальную Pipewire wiki и PipeWire - ArchWiki для того чтобы воплотить то же самое в pipewire? Не исключено что это будет работать даже лучше чем в pulseaudio! Раз уж вы сумели победить pulseaudio - продвинутую настройку pipewire вы точно осилите.
И всё таки возможно pipewire не может реализовать то что вы сотворили с pulseaudio. Возможно вы встретились с неким уникальным программным обеспечением, которому нужно только и исключительно настоящее pulseaudio, и никаких компромиссов. А может быть у вас и pulseaudio толком никогда не работал на вашем “железе” и pipewire тоже не сделал жизнь лучше? Может быть вам вообще не нужно ни pipewire, ни pulseaudio, а достаточно ALSA? Просто ALSA тоже неплохо работает. Если вы где то когда то слышали или сталкивались с невозможностью одновременного вывода звука несколькими программами - забудьте. В Calculate уже настроен dmix и подобной проблемы нет. Микрофон так же будет просто работать. Проблемы могут быть только с bluetooth гарнитурами, но и они решаемы.
Вернуться на ALSA без всяких звуковых серверов просто, тем более в Calculate она неплохо настроена по умолчанию и разработчики предусмотрели штатный метод переключения. Всё что вам нужно сделать - скомандовать в терминале от пользователя root:
# cl-config-audio --audio alsa
и перезагрузиться. Теперь все выводящие звук программы вам будет нужно настраивать на использование ALSA, если они сами об этом не догадаются.
И всё таки вы желаете вернуть назад pulseaudio. Это будет чуточку сложнее чем переключиться на ALSA, так как “удобный” способ через утилиты не предусмотрен (у большинства переход на pipewire произошёл плавно и незаметно, так что разработчики решили не усложнять и не перегружать функциями утилиту).
Сначала нам нужно изменить несколько use флагов у нескольких пакетов. Создадим в /etc/portage/package.use/
файл pulseaudio
, для того чтобы прописать в нём нужные нам изменения не загромождая custom
. Этими флагами мы изменим способ эмуляции ALSA, отключим её для pipewire и включим для pulseaudio.
# echo "media-sound/pulseaudio alsa-plugin" >> /etc/portage/package.use/pulseaudio
# echo "media-plugins/alsa-plugins pulseaudio" >> /etc/portage/package.use/pulseaudio
# echo "media-video/pipewire -pipewire-alsa" >> /etc/portage/package.use/pulseaudio
Далее отредактируем конфиг /etc/pulse/client.conf
, исправив в нём autospawn = no
на autospawn = yes
. Дабы утилиты не переписывали нам этот файл и не удаляли изменения создадим шаблон /etc/pulse/client.conf.clt
# touch /etc/pulse/client.conf.clt
со следующим содержанием:
# Calculate format=postfix
autospawn = yes
Теперь нужно отключить автозапуск pipewire. Создаём директорию /etc/pipewire/
и копируем туда нужный конфиг
# mkdir /etc/pipewire
# cp /usr/share/pipewire/pipewire.conf /etc/pipewire/
Открываем его и комментируем (ставим перед ними #) две строки:
{ path = "/usr/bin/pipewire-media-session" args = "" }
и
{ path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf" }
Шаблон .clt создавать не нужно, утилиты этот конфиг не трогают.
Переключаем libSDL2 на использование pulseaudio вместо pipewire. Редактируем /etc/env.d/99sdl
, исправляем pipewire
на pulseaudio
SDL_AUDIODRIVER=pulseaudio
и создаём clt шаблон.
# touch /etc/env.d/99sdl.clt
с таким содержанием
# Calculate format=procmail
SDL_AUDIODRIVER=pulseaudio
Теперь, если вы пользователь KDE, в /etc/xdg/autostart
исправим два .desktop файла, чтобы при старте не рушился kmix. В /etc/xdg/autostart/kmix_autostart.desktop
исправляем pipewire
на pulseaudio
, и создаём рядом kmix_autostart.desktop.clt
вида:
# Calculate format=kde
[Desktop Entry]
X-KDE-autostart-after=pulseaudio;panel
Аналогично редактируем /etc/xdg/autostart/restore_kmix_volumes.desktop
, меняем pipewire
на pulseaudio
, создаём restore_kmix_volumes.desktop.clt
вида:
# Calculate format=kde
[Desktop Entry]
X-KDE-autostart-after=pulseaudio
Всё, теперь осталось скомандовать cl-update
и перезайти в графический сеанс.
Спасибо за внимание.