Skip to content

Instantly share code, notes, and snippets.

@Sophoun
Forked from the-spyke/pipewire.md
Created September 27, 2023 04:05
Show Gist options
  • Select an option

  • Save Sophoun/835ff95e80c7ff7ce9b43ea167d94e2f to your computer and use it in GitHub Desktop.

Select an option

Save Sophoun/835ff95e80c7ff7ce9b43ea167d94e2f to your computer and use it in GitHub Desktop.

Revisions

  1. @the-spyke the-spyke revised this gist Jun 28, 2023. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions pipewire.md
    Original file line number Diff line number Diff line change
    @@ -40,6 +40,8 @@ And copy the config file from PipeWire docs (provided by the plug-in) into the A
    $ sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/
    ```

    Check if you have other (like Pulse) configs in the `/etc/alsa/conf.d/` installed by something else. You might want to remove them.

    ### PulseAudio

    Everything was done automatically by `pipewire-pulse` package, which should have been installed by `wireplumber` package as recommended. If not, install it yourself.
  2. @the-spyke the-spyke revised this gist Jun 28, 2023. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion pipewire.md
    Original file line number Diff line number Diff line change
    @@ -31,7 +31,7 @@ $ systemctl --user --now enable wireplumber.service
    Install the ALSA plug-in:

    ```sh
    $ sudo apt install pipewire-alsa
    $ sudo apt install pipewire-audio-client-libraries
    ```

    And copy the config file from PipeWire docs (provided by the plug-in) into the ALSA configuration directory:
  3. @the-spyke the-spyke revised this gist Apr 21, 2023. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion pipewire.md
    Original file line number Diff line number Diff line change
    @@ -52,7 +52,9 @@ Install the codecs and remove Bluetooth from PulseAudio, so it would be handled
    $ sudo apt install libldacbt-{abr,enc}2 libspa-0.2-bluetooth pulseaudio-module-bluetooth-
    ```

    Unfortunately, aptX and AAC are not supported because of patents and other technical reasons. aptX is available starting from 22.10 via `libfreeaptx0` installed by default there (22.10 uses PipeWire by default as well). If you need these codecs in 22.04 you may use [this PPA](https://launchpad.net/~aglasgall/+archive/ubuntu/pipewire-extra-bt-codecs) from @aglasgall which is based on `universe`, but rebuilds `pipewire` with additional packages for `aptX` and `AAC` from `multiverse`. Read the discussion [here](#gistcomment-4320194).
    The supported codecs are SBC and LDAC.

    Unfortunately, aptX and AAC are not supported because of patents and other technical reasons. aptX is available starting from 22.10 via `libfreeaptx0` installed by default there (22.10 uses PipeWire by default as well). If you really need these codecs in 22.04 you may use [this PPA](https://launchpad.net/~aglasgall/+archive/ubuntu/pipewire-extra-bt-codecs) from @aglasgall which is based on `universe`, but rebuilds `pipewire` with additional packages for `aptX` and `AAC` from `multiverse`. Read the discussion [here](#gistcomment-4320194).

    ## Done

  4. @the-spyke the-spyke revised this gist Apr 21, 2023. 1 changed file with 8 additions and 18 deletions.
    26 changes: 8 additions & 18 deletions pipewire.md
    Original file line number Diff line number Diff line change
    @@ -6,26 +6,14 @@ Ubuntu 22.04 has PipeWire partially installed and enabled as it's used by browse

    Starting from WirePlumber version 0.4.8 automatic Bluetooth profile switching (e.g. switching from A2DP to HSP/HFP when an application needs microphone access) is supported. Jammy (22.04) repos provide exactly version 0.4.8. So, we're good.

    Unfortunately, aptX and AAC are not enabled because of patents and other technical reasons. However, looks like aptX will be available in coming 22.10 release. If you need these codecs in 22.04 you may use [this PPA](https://launchpad.net/~aglasgall/+archive/ubuntu/pipewire-extra-bt-codecs) from @aglasgall which is based on `universe`, but rebuilds `pipewire` with additional packages for aptX and AAC from `multiverse`. Read the discussion [here](#gistcomment-4320194).

    Based on [Debian Wiki](https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA), but simplified for Ubuntu 22.04.

    ## Install

    Install codecs for LDAC (SBC is included out of the box):

    ```sh
    $ sudo apt install libldacbt-{abr,enc}2
    ```

    Install remaining PipeWire packages and WirePlumber as the session manager:
    Install WirePlumber as the session manager:

    ```sh
    $ sudo apt install \
    libspa-0.2-bluetooth \
    pipewire-audio-client-libraries \
    pipewire-media-session- \
    wireplumber
    $ sudo apt install pipewire-media-session- wireplumber
    ```

    > *Notice '-' at the end of 'pipewire-media-session'. This is to remove it in the same command, because 'wireplumber' will be used instead.*
    @@ -40,13 +28,13 @@ $ systemctl --user --now enable wireplumber.service

    ### ALSA

    Make sure that the ALSA plug-in is installed (it was istalled by default some time ago through `pipewire-audio-client-libraries`, but looks like this was changed):
    Install the ALSA plug-in:

    ```sh
    $ sudo apt install pipewire-alsa
    ```

    And copy the config file from the PipeWire examples into your ALSA configuration directory:
    And copy the config file from PipeWire docs (provided by the plug-in) into the ALSA configuration directory:

    ```sh
    $ sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/
    @@ -58,12 +46,14 @@ Everything was done automatically by `pipewire-pulse` package, which should have

    ### Bluetooth

    Just remove this package and Bluetooth will be handled by PipeWire:
    Install the codecs and remove Bluetooth from PulseAudio, so it would be handled directly by PipeWire:

    ```sh
    $ sudo apt remove pulseaudio-module-bluetooth
    $ sudo apt install libldacbt-{abr,enc}2 libspa-0.2-bluetooth pulseaudio-module-bluetooth-
    ```

    Unfortunately, aptX and AAC are not supported because of patents and other technical reasons. aptX is available starting from 22.10 via `libfreeaptx0` installed by default there (22.10 uses PipeWire by default as well). If you need these codecs in 22.04 you may use [this PPA](https://launchpad.net/~aglasgall/+archive/ubuntu/pipewire-extra-bt-codecs) from @aglasgall which is based on `universe`, but rebuilds `pipewire` with additional packages for `aptX` and `AAC` from `multiverse`. Read the discussion [here](#gistcomment-4320194).

    ## Done

    Reboot and check if it works by running:
  5. @the-spyke the-spyke revised this gist Apr 21, 2023. 1 changed file with 7 additions and 1 deletion.
    8 changes: 7 additions & 1 deletion pipewire.md
    Original file line number Diff line number Diff line change
    @@ -40,7 +40,13 @@ $ systemctl --user --now enable wireplumber.service

    ### ALSA

    Single step. Copy the config file from the PipeWire examples into your ALSA configuration directory:
    Make sure that the ALSA plug-in is installed (it was istalled by default some time ago through `pipewire-audio-client-libraries`, but looks like this was changed):

    ```sh
    $ sudo apt install pipewire-alsa
    ```

    And copy the config file from the PipeWire examples into your ALSA configuration directory:

    ```sh
    $ sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/
  6. @the-spyke the-spyke revised this gist Sep 30, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion pipewire.md
    Original file line number Diff line number Diff line change
    @@ -6,7 +6,7 @@ Ubuntu 22.04 has PipeWire partially installed and enabled as it's used by browse

    Starting from WirePlumber version 0.4.8 automatic Bluetooth profile switching (e.g. switching from A2DP to HSP/HFP when an application needs microphone access) is supported. Jammy (22.04) repos provide exactly version 0.4.8. So, we're good.

    Unfortunately, aptX and AAC are not enabled because of patents and other technical reasons. However, looks like aptX will be available in coming 22.10 release. If you need these codecs in 22.04 you may use [this PPA](https://launchpad.net/~aglasgall/+archive/ubuntu/pipewire-extra-bt-codecs) from @aglasgall which is based on `universe`, but rebuilds `pipewire` with additional packages for aptX and AAC from `multiverse`. Read the discussion [here](https://gist.github.com/the-spyke/2de98b22ff4f978ebf0650c90e82027e?permalink_comment_id=4320194#gistcomment-4320194).
    Unfortunately, aptX and AAC are not enabled because of patents and other technical reasons. However, looks like aptX will be available in coming 22.10 release. If you need these codecs in 22.04 you may use [this PPA](https://launchpad.net/~aglasgall/+archive/ubuntu/pipewire-extra-bt-codecs) from @aglasgall which is based on `universe`, but rebuilds `pipewire` with additional packages for aptX and AAC from `multiverse`. Read the discussion [here](#gistcomment-4320194).

    Based on [Debian Wiki](https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA), but simplified for Ubuntu 22.04.

  7. @the-spyke the-spyke revised this gist Sep 30, 2022. 1 changed file with 5 additions and 6 deletions.
    11 changes: 5 additions & 6 deletions pipewire.md
    Original file line number Diff line number Diff line change
    @@ -4,19 +4,18 @@
    Ubuntu 22.04 has PipeWire partially installed and enabled as it's used by browsers (WebRTC) for recoding the screeen under Wayland. We can enable remaining parts and use PipeWire for audio and Bluetooth instead of PulseAudio.

    Starting from WirePlumber version 0.4.8 automatic Bluetooth profile switching (e.g. switching from A2DP to HSP/HFP when an application needs microphone access) is supported. Jammy (22.04) repos provide exactly version 0.4.8. So, we're good.
    Starting from WirePlumber version 0.4.8 automatic Bluetooth profile switching (e.g. switching from A2DP to HSP/HFP when an application needs microphone access) is supported. Jammy (22.04) repos provide exactly version 0.4.8. So, we're good.

    Unfortunately, aptX and AAC are not enabled because of patents and other technical reasons. However, looks like aptX will be available in coming 22.10 release. If you need these codecs in 22.04 you may use [this PPA](https://launchpad.net/~aglasgall/+archive/ubuntu/pipewire-extra-bt-codecs) from @aglasgall which is based on `universe`, but rebuilds `pipewire` with additional packages for aptX and AAC from `multiverse`. Read the discussion [here](https://gist.github.com/the-spyke/2de98b22ff4f978ebf0650c90e82027e?permalink_comment_id=4320194#gistcomment-4320194).

    Based on [Debian Wiki](https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA), but simplified for Ubuntu 22.04.

    ## Install

    Install Bluetooth codecs AAC/LDAC/AptX:
    Install codecs for LDAC (SBC is included out of the box):

    ```sh
    $ sudo apt install \
    libfdk-aac2 \
    libldacbt-{abr,enc}2 \
    libopenaptx0
    $ sudo apt install libldacbt-{abr,enc}2
    ```

    Install remaining PipeWire packages and WirePlumber as the session manager:
  8. @the-spyke the-spyke revised this gist May 28, 2022. 1 changed file with 7 additions and 5 deletions.
    12 changes: 7 additions & 5 deletions pipewire.md
    Original file line number Diff line number Diff line change
    @@ -6,7 +6,7 @@ Ubuntu 22.04 has PipeWire partially installed and enabled as it's used by browse

    Starting from WirePlumber version 0.4.8 automatic Bluetooth profile switching (e.g. switching from A2DP to HSP/HFP when an application needs microphone access) is supported. Jammy (22.04) repos provide exactly version 0.4.8. So, we're good.

    Based on the [Debian Wiki](https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA), but simplified for Ubuntu 22.04.
    Based on [Debian Wiki](https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA), but simplified for Ubuntu 22.04.

    ## Install

    @@ -37,27 +37,29 @@ Start WirePlumber for your user:
    $ systemctl --user --now enable wireplumber.service
    ```

    ## ALSA
    ## Configure

    ### ALSA

    Single step. Copy the config file from the PipeWire examples into your ALSA configuration directory:

    ```sh
    $ sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/
    ```

    ## PulseAudio
    ### PulseAudio

    Everything was done automatically by `pipewire-pulse` package, which should have been installed by `wireplumber` package as recommended. If not, install it yourself.

    ## Bluetooth
    ### Bluetooth

    Just remove this package and Bluetooth will be handled by PipeWire:

    ```sh
    $ sudo apt remove pulseaudio-module-bluetooth
    ```

    ## Reboot
    ## Done

    Reboot and check if it works by running:

  9. @the-spyke the-spyke revised this gist May 28, 2022. 1 changed file with 17 additions and 12 deletions.
    29 changes: 17 additions & 12 deletions pipewire.md
    Original file line number Diff line number Diff line change
    @@ -1,10 +1,12 @@
    # Enable PipeWire on Ubuntu 21.10
    # Enable PipeWire on Ubuntu 22.04

    Ubuntu 21.10 has PipeWire partially installed and enabled as it's used by browsers (WebRTC) for recoding the screeen under Wayland. We can enable remaining parts and use it for audio and Bluetooth instead of PulseAudio.
    > *This guide is only for original Ubuntu out-of-the-box packages. If you have added a custom PPA like `pipewire-debian`, you might get into conflicts.*
    *This guide is only for original Ubuntu out-of-the-box packages. If you have added a custom PPA, you might get into conflicts.*
    Ubuntu 22.04 has PipeWire partially installed and enabled as it's used by browsers (WebRTC) for recoding the screeen under Wayland. We can enable remaining parts and use PipeWire for audio and Bluetooth instead of PulseAudio.

    Based on the [Debian Wiki](https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA), but adopted for Ubuntu 21.10.
    Starting from WirePlumber version 0.4.8 automatic Bluetooth profile switching (e.g. switching from A2DP to HSP/HFP when an application needs microphone access) is supported. Jammy (22.04) repos provide exactly version 0.4.8. So, we're good.

    Based on the [Debian Wiki](https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA), but simplified for Ubuntu 22.04.

    ## Install

    @@ -17,36 +19,39 @@ $ sudo apt install \
    libopenaptx0
    ```

    Install remaining PipeWire packages:
    Install remaining PipeWire packages and WirePlumber as the session manager:

    ```sh
    $ sudo apt install \
    libspa-0.2-bluetooth \
    pipewire-audio-client-libraries \
    pipewire-pulse
    pipewire-media-session- \
    wireplumber
    ```

    ## ALSA
    > *Notice '-' at the end of 'pipewire-media-session'. This is to remove it in the same command, because 'wireplumber' will be used instead.*
    Create this empty file:
    Start WirePlumber for your user:

    ```sh
    $ sudo touch /usr/share/pipewire/with-alsa
    $ systemctl --user --now enable wireplumber.service
    ```

    Copy the config file from the PipeWire examples into your ALSA configuration directory:
    ## ALSA

    Single step. Copy the config file from the PipeWire examples into your ALSA configuration directory:

    ```sh
    $ sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/
    ```

    ## PulseAudio

    Everything was already done by the `pipewire-pulse` package.
    Everything was done automatically by `pipewire-pulse` package, which should have been installed by `wireplumber` package as recommended. If not, install it yourself.

    ## Bluetooth

    Remove this package and Bluetooth will be handled by PipeWire:
    Just remove this package and Bluetooth will be handled by PipeWire:

    ```sh
    $ sudo apt remove pulseaudio-module-bluetooth
  10. @the-spyke the-spyke revised this gist Mar 30, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion pipewire.md
    Original file line number Diff line number Diff line change
    @@ -2,7 +2,7 @@

    Ubuntu 21.10 has PipeWire partially installed and enabled as it's used by browsers (WebRTC) for recoding the screeen under Wayland. We can enable remaining parts and use it for audio and Bluetooth instead of PulseAudio.

    This guide is only for original Ubuntu out-of-the-box packages. If you have added a custom PPA, you might get into conflicts.
    *This guide is only for original Ubuntu out-of-the-box packages. If you have added a custom PPA, you might get into conflicts.*

    Based on the [Debian Wiki](https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA), but adopted for Ubuntu 21.10.

  11. @the-spyke the-spyke revised this gist Mar 30, 2022. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions pipewire.md
    Original file line number Diff line number Diff line change
    @@ -2,6 +2,8 @@

    Ubuntu 21.10 has PipeWire partially installed and enabled as it's used by browsers (WebRTC) for recoding the screeen under Wayland. We can enable remaining parts and use it for audio and Bluetooth instead of PulseAudio.

    This guide is only for original Ubuntu out-of-the-box packages. If you have added a custom PPA, you might get into conflicts.

    Based on the [Debian Wiki](https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA), but adopted for Ubuntu 21.10.

    ## Install
  12. @the-spyke the-spyke revised this gist Oct 31, 2021. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions pipewire.md
    Original file line number Diff line number Diff line change
    @@ -38,6 +38,10 @@ Copy the config file from the PipeWire examples into your ALSA configuration dir
    $ sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/
    ```

    ## PulseAudio

    Everything was already done by the `pipewire-pulse` package.

    ## Bluetooth

    Remove this package and Bluetooth will be handled by PipeWire:
    @@ -46,10 +50,6 @@ Remove this package and Bluetooth will be handled by PipeWire:
    $ sudo apt remove pulseaudio-module-bluetooth
    ```

    ## PulseAudio

    Everything was already done by the `pipewire-pulse` package.

    ## Reboot

    Reboot and check if it works by running:
  13. @the-spyke the-spyke revised this gist Oct 31, 2021. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions pipewire.md
    Original file line number Diff line number Diff line change
    @@ -40,6 +40,8 @@ $ sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf

    ## Bluetooth

    Remove this package and Bluetooth will be handled by PipeWire:

    ```sh
    $ sudo apt remove pulseaudio-module-bluetooth
    ```
  14. @the-spyke the-spyke revised this gist Oct 31, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion pipewire.md
    Original file line number Diff line number Diff line change
    @@ -2,7 +2,7 @@

    Ubuntu 21.10 has PipeWire partially installed and enabled as it's used by browsers (WebRTC) for recoding the screeen under Wayland. We can enable remaining parts and use it for audio and Bluetooth instead of PulseAudio.

    Those are reviewed instrcutions from the [Debian Wiki](https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA) applied to Ubuntu 21.10.
    Based on the [Debian Wiki](https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA), but adopted for Ubuntu 21.10.

    ## Install

  15. @the-spyke the-spyke revised this gist Oct 30, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion pipewire.md
    Original file line number Diff line number Diff line change
    @@ -2,7 +2,7 @@

    Ubuntu 21.10 has PipeWire partially installed and enabled as it's used by browsers (WebRTC) for recoding the screeen under Wayland. We can enable remaining parts and use it for audio and Bluetooth instead of PulseAudio.

    Those are reviewed instrcutions from the [Debian Wiki](https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA) and applied to Ubuntu 21.10.
    Those are reviewed instrcutions from the [Debian Wiki](https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA) applied to Ubuntu 21.10.

    ## Install

  16. @the-spyke the-spyke revised this gist Oct 30, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion pipewire.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    # Enable PipeWire on Ubuntu 21.10

    Ubuntu 21.10 has PipeWire partially installed adn enabled as it's used by WebRTC for recoding the screeen under Wayland. We can enable it for audio as well and replace PulseAudio.
    Ubuntu 21.10 has PipeWire partially installed and enabled as it's used by browsers (WebRTC) for recoding the screeen under Wayland. We can enable remaining parts and use it for audio and Bluetooth instead of PulseAudio.

    Those are reviewed instrcutions from the [Debian Wiki](https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA) and applied to Ubuntu 21.10.

  17. @the-spyke the-spyke revised this gist Oct 30, 2021. 2 changed files with 57 additions and 45 deletions.
    57 changes: 57 additions & 0 deletions pipewire.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,57 @@
    # Enable PipeWire on Ubuntu 21.10

    Ubuntu 21.10 has PipeWire partially installed adn enabled as it's used by WebRTC for recoding the screeen under Wayland. We can enable it for audio as well and replace PulseAudio.

    Those are reviewed instrcutions from the [Debian Wiki](https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA) and applied to Ubuntu 21.10.

    ## Install

    Install Bluetooth codecs AAC/LDAC/AptX:

    ```sh
    $ sudo apt install \
    libfdk-aac2 \
    libldacbt-{abr,enc}2 \
    libopenaptx0
    ```

    Install remaining PipeWire packages:

    ```sh
    $ sudo apt install \
    libspa-0.2-bluetooth \
    pipewire-audio-client-libraries \
    pipewire-pulse
    ```

    ## ALSA

    Create this empty file:

    ```sh
    $ sudo touch /usr/share/pipewire/with-alsa
    ```

    Copy the config file from the PipeWire examples into your ALSA configuration directory:

    ```sh
    $ sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/
    ```

    ## Bluetooth

    ```sh
    $ sudo apt remove pulseaudio-module-bluetooth
    ```

    ## PulseAudio

    Everything was already done by the `pipewire-pulse` package.

    ## Reboot

    Reboot and check if it works by running:

    ```sh
    $ LANG=C pactl info | grep '^Server Name'
    ```
    45 changes: 0 additions & 45 deletions pipewire.sh
    Original file line number Diff line number Diff line change
    @@ -1,45 +0,0 @@
    # Reviewed instrcutions from the https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA

    # Install
    # -------

    # Install Bluetooth codecs AAC/LDAC/AptX:

    sudo apt install \
    libfdk-aac2 \
    libldacbt-{abr,enc}2 \
    libopenaptx0

    # Install missing PipeWire packages:

    sudo apt install \
    libspa-0.2-bluetooth \
    pipewire-audio-client-libraries \
    pipewire-pulse

    # ALSA
    # ----

    # Create this empty file:

    sudo touch /usr/share/pipewire/with-alsa

    # Copy the config file from the PipeWire examples into your ALSA configuration directory:

    sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/

    # Bluetooth
    # ---------

    sudo apt remove pulseaudio-module-bluetooth

    # PulseAudio
    # ----------

    # Everything was already done by the "pipewire-pulse" package

    # Reboot
    # ------

    # Reboot and check if it works by running:
    # LANG=C pactl info | grep '^Server Name'
  18. @the-spyke the-spyke created this gist Oct 30, 2021.
    45 changes: 45 additions & 0 deletions pipewire.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,45 @@
    # Reviewed instrcutions from the https://wiki.debian.org/PipeWire#Using_as_a_substitute_for_PulseAudio.2FJACK.2FALSA

    # Install
    # -------

    # Install Bluetooth codecs AAC/LDAC/AptX:

    sudo apt install \
    libfdk-aac2 \
    libldacbt-{abr,enc}2 \
    libopenaptx0

    # Install missing PipeWire packages:

    sudo apt install \
    libspa-0.2-bluetooth \
    pipewire-audio-client-libraries \
    pipewire-pulse

    # ALSA
    # ----

    # Create this empty file:

    sudo touch /usr/share/pipewire/with-alsa

    # Copy the config file from the PipeWire examples into your ALSA configuration directory:

    sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/

    # Bluetooth
    # ---------

    sudo apt remove pulseaudio-module-bluetooth

    # PulseAudio
    # ----------

    # Everything was already done by the "pipewire-pulse" package

    # Reboot
    # ------

    # Reboot and check if it works by running:
    # LANG=C pactl info | grep '^Server Name'