tce-load -i compiletc meson opus-dev libcamera-dev libvulkan-dev libv4l2-dev

wget https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/1.2.5/pipewire-1.2.5.tar.bz2

cd pipewire-1.2.5

sed -i 's/device->dev = udev_device_unref(device->dev);/udev_device_unref(device->dev); device->dev = NULL;/' ./spa/plugins/v4l2/v4l2-udev.c

mkdir build
cd build

CC="gcc -flto -flto -march=armv8-a+crc -mtune=cortex-a72 -Os -pipe" CXX="g++ -flto -flto -march=armv8-a+crc -mtune=cortex-a72 -Os -pipe -fno-exceptions -fno-rtti" meson --prefix=/usr/local --localstatedir=/var --buildtype=plain --libexecdir=/usr/local/lib/pipewire -Dexamples=disabled -Dtests=disabled -Dvulkan=enabled -Dsession-managers="[]"

ninja [6m 35.71s]
sudo ninja install

pipewire 1.2.5

    systemd conf data                       : NO
    libsystemd                              : NO
    logind                                  : NO
    libselinux                              : NO
    intl support                            : YES
    pipewire-alsa                           : YES
    OpenSSL (for raop-sink)                 : YES
    lilv (for lv2 plugins)                  : NO
    ffado                                   : NO
    No session manager                      : pw-uninstalled.sh will not work out of the box!
    RLIMITs                                 : with limits.d file affecting matching PAM users
    PAM defaults                            : without limits.d file affecting all PAM users (not needed with modern systemd or kernel)
    Documentation                           : NO
    Man pages                               : NO

  Misc dependencies
    dbus (Bluetooth, rt, portal, pw-reserve): YES
    SDL2 (video examples)                   : YES
    opus (Bluetooth, RTP)                   : YES
    readline (for pw-cli)                   : YES
    X11 (x11-bell)                          : YES
    libcanberra (x11-bell)                  : NO
    GLib-2.0 (Flatpak support)              : YES
    GIO (GSettings)                         : YES
    WebRTC Echo Canceling < 1.0             : NO
    GLib-2.0 (Snap support)                 : YES
    Gio-2.0 (Snap support)                  : YES
    Apparmor (Snap support)                 : NO
    Snapd-glib (Snap support)               : NO
    Vulkan                                  : YES

  pw-cat/pw-play/pw-dump/filter-chain
    sndfile                                 : YES

  filter-chain
    libmysofa                               : NO

  Streaming between daemons
    libpulse                                : YES
    Avahi DNS-SD (Zeroconf)                 : YES
    Opus with custom modes for NetJack2     : NO
    ROC                                     : NO

  Backend
    libusb (Bluetooth quirks)               : YES
    gstreamer-device-provider               : YES
    gstreamer DMA_DRM support               : YES
    JACK2                                   : NO
    ALSA                                    : YES
    Bluetooth audio                         : YES
    libcamera                               : YES
    Compress-Offload                        : YES
    Udev                                    : YES
    V4L2 kernel header                      : YES
    V4L2 enabled                            : YES

  GStreamer modules
    glib-2.0                                : YES
    gobject-2.0                             : YES
    gmodule-2.0                             : YES
    gio-2.0                                 : YES
    gio-unix-2.0                            : YES
    gstreamer-1.0                           : YES
    gstreamer-base-1.0                      : YES
    gstreamer-video-1.0                     : YES
    gstreamer-audio-1.0                     : YES
    gstreamer-allocators-1.0                : YES

  Bluetooth audio codecs
    SBC                                     : YES
    LDAC                                    : NO
    LDAC ABR                                : NO
    aptX                                    : NO
    AAC                                     : NO
    LC3plus                                 : NO
    Opus                                    : YES
    LC3                                     : NO

  Bluetooth backends
    ModemManager                            : NO

  Optional programs
    find (for header testing)               : YES

  Session managers
    Build media-session                     : NO
    Build wireplumber                       : NO
    Default session-manager                 : 

  pw-cat/pw-play/pw-dump tool
    Build pw-cat tool                       : YES
    Build pw-cat with FFmpeg integration    : NO

  Optional Modules
    jack-tunnel                             : NO
    ffado-driver                            : NO
    rt                                      : with RTKit
    portal                                  : YES
    pulse-tunnel                            : YES
    zeroconf-discover                       : YES
    raop-discover (needs Avahi)             : YES
    snapcast-discover (needs Avahi)         : YES
    raop-sink (requires OpenSSL)            : YES
    roc-sink                                : NO
    roc-source                              : NO
    x11-bell                                : NO
    avb                                     : YES

  User defined options
    buildtype                               : plain
    libexecdir                              : /usr/local/lib/pipewire
    localstatedir                           : /var
    prefix                                  : /usr/local
    examples                                : disabled
    session-managers                        : []
    tests                                   : disabled
    vulkan                                  : enabled
