+++
title = "Откат к Pulseaudio"
date = 2022-03-13
description = "Спустя 3 месяца, возвращаюсь к pulseaudio, как оказалось время для pipewire еще не пришло. Сыро и глючно. Особенно это заметно в работе с telegram когда, время от времени начинает искажаться звук. Долгое время ковырял, но так и не до ковырял."

[taxonomies]
tags = ["pipewire", "pulseaudio"]

[extra]
quick_navigation_buttons = true
toc = false
mermaid = false
social_media_card = "social_cards/index.png"
+++

Спустя 3 месяца, возвращаюсь к pulseaudio, как оказалось время для pipewire еще не пришло. Сыро и глючно. Особенно это заметно в работе с telegram когда, время от времени начинает искажаться звук. Долгое время ковырял, но так и не до ковырял.

Пришлось малость с зависимостями повоевать, но всё закончилось успешно 👻

```bash
~ ❯❯❯ sudo pacman -S pulseaudio
разрешение зависимостей...
проверка конфликтов...
:: pulseaudio и pipewire-pulse конфликтуют. Удалить pipewire-pulse? [y/N] y

Пакет (2)         Старая версия  Новая версия  Изменение размера  Размер загрузки

pipewire-pulse    1:0.3.48-1                           -0,48 MiB                 
extra/pulseaudio                 15.0-4                 5,81 MiB         1,16 MiB

Будет загружено:    1,16 MiB
Будет установлено:  5,81 MiB
Изменение размера:  5,33 MiB

:: Приступить к установке? [Y/n] y
:: Получение пакетов...
 pulseaudio-15.0-4-x86_64           1192,6 KiB  1054 KiB/s 00:01 [------------------------------------] 100%
(1/1) проверка ключей                                            [------------------------------------] 100%
(1/1) проверка целостности пакета                                [------------------------------------] 100%
(1/1) загрузка файлов пакетов                                    [------------------------------------] 100%
(1/1) проверка конфликтов файлов                                 [------------------------------------] 100%
(2/2) проверка доступного места                                  [------------------------------------] 100%
:: Обработка изменений пакета...
Removed /etc/systemd/user/sockets.target.wants/pipewire-pulse.socket.
(1/1) удаление pipewire-pulse                                    [------------------------------------] 100%
(1/1) установка pulseaudio                                       [------------------------------------] 100%
Created symlink /etc/systemd/user/sockets.target.wants/pulseaudio.socket → /usr/lib/systemd/user/pulseaudio.socket.
Дополнительные зависимости для 'pulseaudio'
    pulseaudio-alsa: ALSA configuration (recommended) [установлено]
    pulseaudio-zeroconf: Zeroconf support
    pulseaudio-lirc: IR (lirc) support
    pulseaudio-jack: Jack support
    pulseaudio-bluetooth: Bluetooth support
    pulseaudio-equalizer: Graphical equalizer
    pulseaudio-rtp: RTP and RAOP support
:: Запуск post-transaction hooks...
(1/3) Reloading device manager configuration...
(2/3) Arming ConditionNeedsUpdate...
(3/3) Compiling GSettings XML schema files...
~ ❯❯❯ sudo pacman -S pulseaudio-alsa pulseaudio-jack pulseaudio-bluetooth
разрешение зависимостей...
проверка конфликтов...

Пакет (3)                   Новая версия  Изменение размера  Размер загрузки

extra/pulseaudio-alsa       1:1.2.6-3              0,00 MiB         0,00 MiB
extra/pulseaudio-bluetooth  15.0-4                 0,27 MiB         0,08 MiB
extra/pulseaudio-jack       15.0-4                 0,08 MiB         0,02 MiB

Будет загружено:    0,11 MiB
Будет установлено:  0,35 MiB

:: Приступить к установке? [Y/n] y
:: Получение пакетов...
 pulseaudio-alsa-1:1.2.6-3-x86_64      3,2 KiB  11,8 KiB/s 00:00 [------------------------------------] 100%
 pulseaudio-jack-15.0-4-x86_64        18,9 KiB  56,2 KiB/s 00:00 [------------------------------------] 100%
 pulseaudio-bluetooth-15.0-4-x86_64   86,0 KiB   245 KiB/s 00:00 [------------------------------------] 100%
 Total (3/3)                         108,0 KiB   251 KiB/s 00:00 [------------------------------------] 100%
(3/3) проверка ключей                                            [------------------------------------] 100%
(3/3) проверка целостности пакета                                [------------------------------------] 100%
(3/3) загрузка файлов пакетов                                    [------------------------------------] 100%
(3/3) проверка конфликтов файлов                                 [------------------------------------] 100%
(3/3) проверка доступного места                                  [------------------------------------] 100%
:: Обработка изменений пакета...
(1/3) установка pulseaudio-alsa                                  [------------------------------------] 100%
(2/3) установка pulseaudio-jack                                  [------------------------------------] 100%
(3/3) установка pulseaudio-bluetooth                             [------------------------------------] 100%
Дополнительные зависимости для 'pulseaudio-bluetooth'
    gst-plugins-bad: AptX and LDAC support [установлено]
:: Запуск post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
~ ❯❯❯ sudo pacman -R pipewire-alsa pipewire-jack pipewire-media-session wireplumber
ошибка: не найдена цель: pipewire-media-session
~ ❯❯❯ sudo pacman -R pipewire-alsa pipewire-jack wireplumber
проверка зависимостей...
ошибка: не удалось подготовить транзакцию (не удалось удовлетворить зависимости)
:: removing pipewire-jack breaks dependency 'jack' required by audacious-plugins
:: removing pipewire-jack breaks dependency 'jack' required by ffmpeg
:: removing pipewire-jack breaks dependency 'jack' required by ffmpeg4.4
:: removing pipewire-jack breaks dependency 'libjack.so=0-64' required by fluidsynth
:: removing wireplumber breaks dependency 'pipewire-session-manager' required by gst-plugin-pipewire
:: removing pipewire-jack breaks dependency 'libjack.so=0-64' required by gst-plugins-good
:: removing pipewire-jack breaks dependency 'libjack.so=0-64' required by mpd
:: removing pipewire-jack breaks dependency 'jack' required by mpv
:: removing pipewire-jack breaks dependency 'libjack.so=0-64' required by mpv
:: removing pipewire-jack breaks dependency 'jack' required by obs-studio-tytan652
:: removing pipewire-jack breaks dependency 'jack' required by ocenaudio-bin
:: removing pipewire-jack breaks dependency 'pipewire-jack' required by pipewire-jack-dropin
:: removing pipewire-jack breaks dependency 'libjack.so=0-64' required by portaudio
:: removing pipewire-jack breaks dependency 'jack' required by pulseaudio-jack
:: removing pipewire-jack breaks dependency 'libjack.so=0-64' required by qjackctl
~ ❯❯❯ yay -R qjackctl jack2-dbus
ошибка: не найдена цель: jack2-dbus
 -> exit status 1
~ ❯❯❯ yay -R qjackctl
проверка зависимостей...

Пакет (1)  Старая версия  Изменение размера

qjackctl   0.9.6-1                -2,69 MiB

Будет освобождено:  2,69 MiB

:: Удалить эти пакеты? [Y/n] y
:: Обработка изменений пакета...
(1/1) удаление qjackctl                                          [------------------------------------] 100%
:: Запуск post-transaction hooks...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Updating icon theme caches...
(3/3) Updating the desktop file MIME type cache...
~ ❯❯❯ sudo pacman -R pipewire-alsa pipewire-jack wireplumber
проверка зависимостей...
ошибка: не удалось подготовить транзакцию (не удалось удовлетворить зависимости)
:: removing pipewire-jack breaks dependency 'jack' required by audacious-plugins
:: removing pipewire-jack breaks dependency 'jack' required by ffmpeg
:: removing pipewire-jack breaks dependency 'jack' required by ffmpeg4.4
:: removing pipewire-jack breaks dependency 'libjack.so=0-64' required by fluidsynth
:: removing wireplumber breaks dependency 'pipewire-session-manager' required by gst-plugin-pipewire
:: removing pipewire-jack breaks dependency 'libjack.so=0-64' required by gst-plugins-good
:: removing pipewire-jack breaks dependency 'libjack.so=0-64' required by mpd
:: removing pipewire-jack breaks dependency 'jack' required by mpv
:: removing pipewire-jack breaks dependency 'libjack.so=0-64' required by mpv
:: removing pipewire-jack breaks dependency 'jack' required by obs-studio-tytan652
:: removing pipewire-jack breaks dependency 'jack' required by ocenaudio-bin
:: removing pipewire-jack breaks dependency 'pipewire-jack' required by pipewire-jack-dropin
:: removing pipewire-jack breaks dependency 'libjack.so=0-64' required by portaudio
:: removing pipewire-jack breaks dependency 'jack' required by pulseaudio-jack
~ ❯❯❯ sudo pacman -S jack2
разрешение зависимостей...
проверка конфликтов...
:: jack2 и pipewire-jack конфликтуют (jack). Удалить pipewire-jack? [y/N] y
ошибка: не удалось подготовить транзакцию (не удалось удовлетворить зависимости)
:: removing pipewire-jack breaks dependency 'pipewire-jack' required by pipewire-jack-dropin
~ ❯❯❯ sudo pacman -Rpipewire-jack-dropin
ошибка: недопустимый параметр '-i'
~ ❯❯❯ sudo pacman -R pipewire-jack-dropin
проверка зависимостей...

Пакет (1)             Старая версия  Изменение размера

pipewire-jack-dropin  3-2                     0,00 MiB

Будет освобождено:  0,00 MiB

:: Удалить эти пакеты? [Y/n] y
:: Обработка изменений пакета...
(1/1) удаление pipewire-jack-dropin                              [------------------------------------] 100%
Reboot your system for the changes to take effect.
~ ❯❯❯ sudo pacman -R pipewire-alsa pipewire-jack wireplumber
проверка зависимостей...
ошибка: не удалось подготовить транзакцию (не удалось удовлетворить зависимости)
:: removing pipewire-jack breaks dependency 'jack' required by audacious-plugins
:: removing pipewire-jack breaks dependency 'jack' required by ffmpeg
:: removing pipewire-jack breaks dependency 'jack' required by ffmpeg4.4
:: removing pipewire-jack breaks dependency 'libjack.so=0-64' required by fluidsynth
:: removing wireplumber breaks dependency 'pipewire-session-manager' required by gst-plugin-pipewire
:: removing pipewire-jack breaks dependency 'libjack.so=0-64' required by gst-plugins-good
:: removing pipewire-jack breaks dependency 'libjack.so=0-64' required by mpd
:: removing pipewire-jack breaks dependency 'jack' required by mpv
:: removing pipewire-jack breaks dependency 'libjack.so=0-64' required by mpv
:: removing pipewire-jack breaks dependency 'jack' required by obs-studio-tytan652
:: removing pipewire-jack breaks dependency 'jack' required by ocenaudio-bin
:: removing pipewire-jack breaks dependency 'libjack.so=0-64' required by portaudio
:: removing pipewire-jack breaks dependency 'jack' required by pulseaudio-jack
~ ❯❯❯ sudo pacman -S jack2
разрешение зависимостей...
проверка конфликтов...
:: jack2 и pipewire-jack конфликтуют (jack). Удалить pipewire-jack? [y/N] y

Пакет (2)      Старая версия  Новая версия  Изменение размера  Размер загрузки

pipewire-jack  1:0.3.48-1                           -0,66 MiB                 
extra/jack2                   1.9.20-4               1,89 MiB         0,46 MiB

Будет загружено:    0,46 MiB
Будет установлено:  1,89 MiB
Изменение размера:  1,24 MiB

:: Приступить к установке? [Y/n] y
:: Получение пакетов...
 jack2-1.9.20-4-x86_64               473,5 KiB   874 KiB/s 00:01 [------------------------------------] 100%
(1/1) проверка ключей                                            [------------------------------------] 100%
(1/1) проверка целостности пакета                                [------------------------------------] 100%
(1/1) загрузка файлов пакетов                                    [------------------------------------] 100%
(1/1) проверка конфликтов файлов                                 [------------------------------------] 100%
(2/2) проверка доступного места                                  [------------------------------------] 100%
:: Обработка изменений пакета...
(1/1) удаление pipewire-jack                                     [------------------------------------] 100%
(1/1) установка jack2                                            [------------------------------------] 100%
Дополнительные зависимости для 'jack2'
    a2jmidid: for ALSA MIDI to JACK MIDI bridging
    libffado: for firewire support using FFADO
    jack-example-tools: for official JACK example-clients and tools
    jack2-dbus: for dbus integration
    jack2-docs: for developer documentation
    realtime-privileges: for realtime privileges
:: Запуск post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
~ ❯❯❯ sudo pacman -R pipewire-alsa pipewire-jack wireplumber
ошибка: не найдена цель: pipewire-jack
~ ❯❯❯ sudo pacman -R pipewire-alsa wireplumber
проверка зависимостей...
ошибка: не удалось подготовить транзакцию (не удалось удовлетворить зависимости)
:: removing wireplumber breaks dependency 'pipewire-session-manager' required by gst-plugin-pipewire
~ ❯❯❯ sudo pacman -R pipewire-alsa wireplumber gst-plugin-pipewire
проверка зависимостей...
:: pipewire опционально требует pipewire-session-manager: Session manager
:: pipewire опционально требует pipewire-alsa: ALSA configuration
:: pipewire опционально требует gst-plugin-pipewire: GStreamer plugin
:: pulseaudio опционально требует pulseaudio-alsa: ALSA configuration (recommended)

Пакет (3)            Старая версия  Изменение размера

gst-plugin-pipewire  1:0.3.48-1             -0,12 MiB
pipewire-alsa        1:0.3.48-1              0,00 MiB
wireplumber          0.4.8-2                -2,05 MiB

Будет освобождено:  2,18 MiB

:: Удалить эти пакеты? [Y/n] y
:: Обработка изменений пакета...
(1/3) удаление gst-plugin-pipewire                               [------------------------------------] 100%
(2/3) удаление pipewire-alsa                                     [------------------------------------] 100%
Removed /etc/systemd/user/pipewire.service.wants/wireplumber.service.
Removed /etc/systemd/user/pipewire-session-manager.service.
(3/3) удаление wireplumber                                       [------------------------------------] 100%
:: Запуск post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
~ ❯❯❯ systemctl --user stop pipewire-pulse.service
Warning: The unit file, source configuration file or drop-ins of pipewire-pulse.service changed on disk. Run 'systemctl --user daemon-reload' to reload units.
Warning: Stopping pipewire-pulse.service, but it can still be activated by:
  pipewire-pulse.socket
~ ❯❯❯ systemctl --user start pulseaudio
~ ❯❯❯
```
