diff --git a/media-video/pipewire/metadata.xml b/media-video/pipewire/metadata.xml
index be0e0bace7771..4f19839be0435 100644
--- a/media-video/pipewire/metadata.xml
+++ b/media-video/pipewire/metadata.xml
@@ -29,6 +29,7 @@
Combined with USE=bluetooth, allows PipeWire to perform telephony on mobile devices.
Install ALSA plugin, similar to media-plugins/alsa-plugins's USE=pulseaudio.
Enable roc support for real-time audio streaming over the network, using media-libs/roc-toolkit. See https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Network#roc
+ Spatially Oriented Format for Acoustics (SOFA) support via media-libs/libmysofa
Enable raop-sink support (needs dev-libs/openssl)
Install systemd unit files for running as a system service. Not recommended.
Enable audible bell for X11
diff --git a/media-video/pipewire/pipewire-1.6.8.ebuild b/media-video/pipewire/pipewire-1.6.8.ebuild
index d771ebd5791d2..e942f097a7556 100644
--- a/media-video/pipewire/pipewire-1.6.8.ebuild
+++ b/media-video/pipewire/pipewire-1.6.8.ebuild
@@ -63,7 +63,7 @@ LICENSE="MIT LGPL-2.1+ GPL-2"
SLOT="0/0.4"
IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra ffmpeg fftw flatpak gstreamer gsettings"
IUSE+=" ieee1394 jack-client jack-sdk libcamera loudness lv2 modemmanager pipewire-alsa readline roc selinux"
-IUSE+=" pulseaudio sound-server ssl system-service systemd test v4l X zeroconf"
+IUSE+=" pulseaudio sound-server sofa ssl system-service systemd test v4l X zeroconf"
# Once replacing system JACK libraries is possible, it's likely that
# jack-client IUSE will need blocking to avoid users accidentally
@@ -165,6 +165,7 @@ RDEPEND="
roc? ( >=media-libs/roc-toolkit-0.4.0:= )
readline? ( sys-libs/readline:= )
selinux? ( sys-libs/libselinux )
+ sofa? ( media-libs/libmysofa )
ssl? ( dev-libs/openssl:= )
systemd? ( sys-apps/systemd )
system-service? ( acct-user/pipewire )
@@ -294,7 +295,7 @@ multilib_src_configure() {
-Dudev=enabled
-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
- -Dlibmysofa=disabled # libmysofa is unpackaged
+ $(meson_native_use_feature sofa libmysofa)
$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
diff --git a/media-video/pipewire/pipewire-1.6.9999.ebuild b/media-video/pipewire/pipewire-1.6.9999.ebuild
index d771ebd5791d2..e942f097a7556 100644
--- a/media-video/pipewire/pipewire-1.6.9999.ebuild
+++ b/media-video/pipewire/pipewire-1.6.9999.ebuild
@@ -63,7 +63,7 @@ LICENSE="MIT LGPL-2.1+ GPL-2"
SLOT="0/0.4"
IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra ffmpeg fftw flatpak gstreamer gsettings"
IUSE+=" ieee1394 jack-client jack-sdk libcamera loudness lv2 modemmanager pipewire-alsa readline roc selinux"
-IUSE+=" pulseaudio sound-server ssl system-service systemd test v4l X zeroconf"
+IUSE+=" pulseaudio sound-server sofa ssl system-service systemd test v4l X zeroconf"
# Once replacing system JACK libraries is possible, it's likely that
# jack-client IUSE will need blocking to avoid users accidentally
@@ -165,6 +165,7 @@ RDEPEND="
roc? ( >=media-libs/roc-toolkit-0.4.0:= )
readline? ( sys-libs/readline:= )
selinux? ( sys-libs/libselinux )
+ sofa? ( media-libs/libmysofa )
ssl? ( dev-libs/openssl:= )
systemd? ( sys-apps/systemd )
system-service? ( acct-user/pipewire )
@@ -294,7 +295,7 @@ multilib_src_configure() {
-Dudev=enabled
-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
- -Dlibmysofa=disabled # libmysofa is unpackaged
+ $(meson_native_use_feature sofa libmysofa)
$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index d771ebd5791d2..e942f097a7556 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -63,7 +63,7 @@ LICENSE="MIT LGPL-2.1+ GPL-2"
SLOT="0/0.4"
IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra ffmpeg fftw flatpak gstreamer gsettings"
IUSE+=" ieee1394 jack-client jack-sdk libcamera loudness lv2 modemmanager pipewire-alsa readline roc selinux"
-IUSE+=" pulseaudio sound-server ssl system-service systemd test v4l X zeroconf"
+IUSE+=" pulseaudio sound-server sofa ssl system-service systemd test v4l X zeroconf"
# Once replacing system JACK libraries is possible, it's likely that
# jack-client IUSE will need blocking to avoid users accidentally
@@ -165,6 +165,7 @@ RDEPEND="
roc? ( >=media-libs/roc-toolkit-0.4.0:= )
readline? ( sys-libs/readline:= )
selinux? ( sys-libs/libselinux )
+ sofa? ( media-libs/libmysofa )
ssl? ( dev-libs/openssl:= )
systemd? ( sys-apps/systemd )
system-service? ( acct-user/pipewire )
@@ -294,7 +295,7 @@ multilib_src_configure() {
-Dudev=enabled
-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
- -Dlibmysofa=disabled # libmysofa is unpackaged
+ $(meson_native_use_feature sofa libmysofa)
$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
diff --git a/profiles/arch/amd64/package.use.mask b/profiles/arch/amd64/package.use.mask
index beb2b9a1ed7f6..82e05c3a8482e 100644
--- a/profiles/arch/amd64/package.use.mask
+++ b/profiles/arch/amd64/package.use.mask
@@ -17,6 +17,10 @@
#--- END OF EXAMPLES ---
+# Sam James (2026-07-22)
+# media-libs/libmysofa is keyworded here
+media-video/pipewire -sofa
+
# Alfredo Tupone (2026-05-18)
# Unmask on specific arches where it's available.
media-video/obs-studio -mpegts
diff --git a/profiles/arch/base/package.use.mask b/profiles/arch/base/package.use.mask
index d9301eb13dca8..b8546580fd2e0 100644
--- a/profiles/arch/base/package.use.mask
+++ b/profiles/arch/base/package.use.mask
@@ -1,6 +1,10 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Sam James (2026-07-22)
+# media-libs/libmysofa not keyworded in most places
+media-video/pipewire sofa
+
# Michał Górny (2026-03-14)
# SPIRV target requires dev-libs/level-zero.
llvm-runtimes/offload llvm_targets_SPIRV