Ubuntu Studio
Este script instala pacotes do Ubuntu Studio, responsáveis por configurações do sistema, além do PipeWire na versão estável mais atual.
O repositório noble-updates do Ubuntu é adicionado com o pinning baixo, impedindo que se sobreponha aos repositórios do Debian.
O repositório PPA savoury1/pipewire é adicionado ao Ubuntu.
Ele também instala o QjackCtl, caso você prefira usar o JACK diretamente, sem o PipeWire.

Pra alternar entre o JACK e o PipeWire-JACK, você pode usar o comando toggle-pipewire-jack.
Você também pode configurar o quantum e o samplerate do PipeWire de forma persistente através do PipeWire Quantum disponível no menu de aplicativos.

Outro comendo útil que este script adiciona ao sistema é o smt-manager, usado pra desativar o multi-threading de acordo com a necessidade.
Além disso este script também instala o Helvum, que é um patchbay com suporte a conexões de áudio e vídeo e também o systemd-oomd, que é um utilitário que impede o sistema de travar quando a memória está cheia, encerrando processos pra garantir que o sistema continue operando.

#!/bin/bash
set -e
DEPS="ubuntustudio-lowlatency-settings \
ubuntustudio-performance-tweaks \
ubuntustudio-pipewire-config \
systemd-oomd"
PPA='savoury1/pipewire'
INSTNAME='helvum'
source <(curl -sSL https://estudio-debian.pages.dev/functions.lib)
if [[ "$(grep '^ID=' /etc/os-release | cut -d '=' -f2)" == ubuntu ]]; then
add_ppa
fi
if [[ "$(grep '^ID=' /etc/os-release | cut -d '=' -f2)" == debian ]]; then
aptreinst ubuntu-archive-keyring
sudo tee /etc/apt/sources.list.d/ubuntu.sources >/dev/null <<EOF
Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble-updates
Components: universe
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
EOF
sudo tee /etc/apt/preferences.d/ubuntu >/dev/null <<EOF
Package: *
Pin: release o=Ubuntu
Pin-Priority: 1
EOF
fi
sudo debconf-set-selections <<<'jackd2 jackd/tweak_rt_limits string true'
sudo rm -f /etc/profile.d/ubuntustudio-pwjack.sh
aptup
install_deb
sudo truncate -s 0 /etc/profile.d/ubuntustudio-pwjack.sh
sudo apt autoremove --purge -y qmidinet qpwgraph
sudo usermod -aG audio "$USER"
sudo wget -q --show-progress -O /etc/udev/rules.d/99-cpu-dma-latency.rules https://github.com/Ardour/ardour/raw/refs/heads/master/tools/udev/99-cpu-dma-latency.rules >/dev/null
sudo udevadm control --reload-rules
sudo udevadm trigger
#sudo sed -i 's/ nosmt=force//g' /etc/default/grub.d/ubuntustudio.cfg
#sudo sed -i 's/threadirqs/threadirqs nosmt=force/g' /etc/default/grub.d/ubuntustudio.cfg
#sudo update-grub
script() {
git clone https://github.com/damentz/smt-manager
sudo install smt-manager/smt-manager.pl /usr/local/bin/smt-manager
}
tmprun script
#mkdir -p "$HOME"/.config/rncbc.org
#wget -q --show-progress -O "$HOME"/.config/rncbc.org/QjackCtl.conf https://codeberg.org/estudio-debian/website/raw/main/static/settings/audio/jack/QjackCtl.conf
mkdir -p "$HOME"/.config/{pipewire/pipewire.conf.d,wireplumber/main.lua.d}
export QOPT=128
export ROPT=44100
curl -sSL https://codeberg.org/estudio-debian/website/raw/main/static/settings/audio/pipewire/99-custom.conf | envsubst | tee "$HOME"/.config/pipewire/pipewire.conf.d/99-custom.conf >/dev/null
#tee "$HOME"/.config/wireplumber/main.lua.d/90-rt.lua >/dev/null <<EOF
#rt = {
# allowed = true,
# priority = 88,
# rtkit = true
#}
#EOF
systemctl --user restart pipewire pipewire-pulse wireplumber
sudo mkdir -p /usr/local/{bin,share/applications}
sudo wget -q --show-progress -O /usr/local/bin/pipewire-latency-switcher https://codeberg.org/estudio-debian/website/raw/main/static/settings/audio/pipewire/pipewire-latency-switcher
sudo chmod +x /usr/local/bin/pipewire-latency-switcher
sudo wget -q --show-progress -O /usr/local/share/applications/pipewire-latency-switcher.desktop https://codeberg.org/estudio-debian/website/raw/main/static/settings/audio/pipewire/pipewire-latency-switcher.desktop
if [[ "$(gsettings get org.gnome.desktop.interface icon-theme)" == "'Papirus-Dark'" ]]; then
sudo sed -i 's/audio-speakers/hifi/' /usr/local/share/applications/pipewire-latency-switcher.desktop
fi
sudo wget -q --show-progress -O /usr/local/bin/toggle-pipewire-jack https://codeberg.org/estudio-debian/website/raw/main/static/settings/audio/pipewire/toggle-pipewire-jack
sudo chmod +x /usr/local/bin/toggle-pipewire-jack