Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) by gbr-app-1.alpinelinux.org (Postfix) with ESMTPS id 4821E2200D4 for <~alpine/users@lists.alpinelinux.org>; Sun, 12 Apr 2026 10:09:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.co.uk; s=s31663417; t=1775988591; x=1776593391; i=m4r35n357@gmx.co.uk; bh=yyUI60UoTCFrtBDoLXUnlVOTX8FSooGZSVl9GACKZ44=; h=X-UI-Sender-Class:Date:From:To:Subject:Message-ID:MIME-Version: Content-Type:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=jditGKtMsvFbhyvnfsU5My/rlrZurHyi1Mnhs5wBreOR9TV4DU8U3dz8m1hb+G/N kDs5dUio6FC7KxcNhsdIqFuuZaKwffnmoKdPWAMZn6tnKmO+LeL13clRRCTQYPJLS 7Ltam0ufOOBYOhhLEsvdcktqvvswv4ewjZsYdkac5eh2u2UkQhlPfVX7+g2eZQd0w mZBp0Wodbc7an/uuar5lSV7MHMXOBkfIG5vfiyZUDUQnWFHj8PNyL90DzgWvJ7C0d rVt1QPOdG9B6+KPlv2spXKaqWXAZhPqD3fRTs0ec7IALaJd+mdCV4/uMS72RoANjy 5MSDRhwXJEa88MoiGQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from client.hidden.invalid by mail.gmx.net (mrgmx104 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MmULx-1vlIMw0fKb-00oI2U for <~alpine/users@lists.alpinelinux.org>; Sun, 12 Apr 2026 12:09:51 +0200 Date: Sun, 12 Apr 2026 11:10:03 +0100 From: Ian Smith To: ~alpine/users@lists.alpinelinux.org Subject: Minimal audio for Raspberry Pi 5 and 500 (X11) - CHEAT SHEET Message-ID: <20260412111003.45dba082@bonsai.doitto.me.uk> Organization: none X-Mailer: Claws Mail 4.3.1 (GTK 3.24.49; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:2K0ThnDU6HW2YI+w7mWGjWRwHsL/mtJXJ4O0NZroVEP1Q1R+1Be 9FHyKoISjJN31JiIwrAlCR9NZ8xW+mGZ+HXBi1OuuOd4Wi5L2ZYAQ1b9SxMpXjQajqXbrWD WsH/sGq0zKNo+j9Htv/Ywkrr3XAQbggzSMA/e8MekQcS0N3+cVc/qQ0Md9D0SgZAHM0Hoeb 1AW+80trPCX/F4l/JUyDQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:ZT0hGGzcdpM=;RBZeRqaPysYI/NFfyA+3sGHB1dB 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 Why? Because the Raspberry Pi 5/500 have no analogue audio, and the digital (HDMI) outputs are not supported by ALSA's dmix facility, so with ALSA you can only play one thing at a time, and get annoying error messages if you attempt otherwise. How? Pipewire can handle this on behalf of ALSA; Alpine already has a desktop solution for this, but there are deprecation warnings everywhere, so I shall set up here as an openrc service (or two). This is for Pi5/500 under X11 - the wiki has lots to say about Wayland, but not my problem ;) I used the pipewire AND openrc wiki pages, and stepped over the Wayland stuff. It uses xfce4-session here, but was originally tested using FVWM. --------- apologies for email formatting! ------------------------- 1. ENVIRONMENT $ doas rm -f /etc/xdg/autostart/pipewire.desktop $ doas rc-update del lightdm $ doas apk add slim $ doas rc-update add slim $ doas reboot $ cat .xinitrc #!/bin/sh xrdb -merge $HOME/.Xresources $HOME/.profile if [ -z "$XDG_RUNTIME_DIR" ] then XDG_RUNTIME_DIR="/tmp/$(id -u)-runtime-dir" mkdir -pm 0700 "$XDG_RUNTIME_DIR" export XDG_RUNTIME_DIR fi openrc -U default xset mouse default xset s off exec xfce4-session 2. PACKAGES/CONFIG $ doas apk add pipewire wireplumber $ doas apk add pipewire-alsa pipewire-jack pipewire-pulse # only ALSA is essential $ doas apk add pavucontrol xfce4-pulseaudio-plugin # optional $ rc-update add -U pipewire default # sufficient for ALSA $ rc-update add -U pipewire-pulse default # only needed for pavucontrol 3. SUCCESS? $ rc-status -Ua Runlevel: default pipewire [ started 00:25:30 (0) ] pipewire-pulse [ started 00:25:30 (0) ] Runlevel: gui Dynamic Runlevel: hotplugged Dynamic Runlevel: needed/wanted wireplumber [ started 00:25:30 (0) ] dbus [ started 00:25:30 (0) ] Dynamic Runlevel: manual