From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id CCCD3EF33; Thu, 31 Jul 2025 09:13:10 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id 73570EFB4; Thu, 31 Jul 2025 09:13:08 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DMARC_MISSING,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=4.0.1 Received: from fout-b1-smtp.messagingengine.com (fout-b1-smtp.messagingengine.com [202.12.124.144]) by atuin.qyliss.net (Postfix) with ESMTPS id 99B8AEFB3 for ; Thu, 31 Jul 2025 09:13:06 +0000 (UTC) Received: from phl-compute-09.internal (phl-compute-09.phl.internal [10.202.2.49]) by mailfout.stl.internal (Postfix) with ESMTP id EC2A41D0161B; Thu, 31 Jul 2025 05:13:03 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-09.internal (MEProxy); Thu, 31 Jul 2025 05:13:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h=cc :content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm2; t=1753953183; x=1754039583; bh=+7Z+PWsy5Z 8rRR6+E5pUCZ4u2FCtPhfqTkE0JUpXerE=; b=s2hfDMCSaN+xBZ0Hcba6qWPzOQ A9PhFaus4I96HySTiTZD+cdu4yP5XRsQ2eDp6P6VYpqXdUKtdBiDxwN1RD3s8UvG UyN3gj3Fg6v887xLrP6cLu/rvgqDqq4tjbHxhF21UT5LD+Y4tNjRF8ldcLLaqgWB ug1sA+oNpLKUKpqLna6zTKhXY0aqHY0LxlutGgfrvmCa4ckrHfJQtA7zooI26og7 mBA96MRuSpSHVUJ1eXfbgZpyWvXuYwhBmAfanSax7W6MLPvZ7fAYAmD22dyEsEha 8BIbHkGRNtPEXpO5OL7zM1MGXuvxTsIKFXNmwDFiEZwdppLYH1W5PhDDv2rQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1753953183; x=1754039583; bh=+7Z+PWsy5Z8rRR6+E5pUCZ4u2FCtPhfqTkE 0JUpXerE=; b=mgRB1EHkMc87wi40ZnfpNHL4QNrwyRFsrau476Xwvd/T54RvLNZ NH2GifBVyOPhRnlf49ci+d4fkDe24ByFzFpyWDFBMmsG5DQ7nmZkEXKZnOCuYDfr UfB/cklybYl+oPmAHHW07qXkcWNZmQ6DCDZVNNGgH6lwt17t2c+qToSRdpqZr/OD 6srwu+FUXZiISsX2nCjbeYPZr49KVdjyR9KwDYccc2FJrjAQJPLJBfiisu1ANqLv q4jrKRIpO47rQsOy4J+3h+B2CqXOMqpiDZ8bzWFFUsFd6Dl/O2OLqkUzFtkn4T50 Wl8LA9g5u1+uhwBRrrwhsuwsJ80gmiFOXVA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgddutddtgedvucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhephffvufgjfhffkfggtgesghdtreertddtjeenucfhrhhomheptehlhihsshgrucft ohhsshcuoehhihesrghlhihsshgrrdhisheqnecuggftrfgrthhtvghrnhepffduudffue ffgeehieegjedtkefhudehheefudehlefftedtkeeitdegfefgleehnecuvehluhhsthgv rhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhephhhisegrlhihshhsrgdrih hspdhnsggprhgtphhtthhopedvpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopegu vghmihhosggvnhhouhhrsehgmhgrihhlrdgtohhmpdhrtghpthhtohepuggvvhgvlhessh hpvggtthhruhhmqdhoshdrohhrgh X-ME-Proxy: Feedback-ID: i12284293:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 31 Jul 2025 05:13:02 -0400 (EDT) Received: by sf.qyliss.net (Postfix, from userid 1000) id 26D3A2F040CC5; Thu, 31 Jul 2025 11:12:57 +0200 (CEST) From: Alyssa Ross To: Demi Marie Obenour , Spectrum OS Development Subject: Re: [PATCH v10] img/app: Run PipeWire and WirePlumber in the VMs In-Reply-To: <20250730-pipewire-v10-v10-1-0f7a7ee80943@gmail.com> References: <20250730-pipewire-v10-v10-1-0f7a7ee80943@gmail.com> Date: Thu, 31 Jul 2025 11:12:53 +0200 Message-ID: <87o6t0hgfe.fsf@alyssa.is> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Message-ID-Hash: H2SHG5BWTKY2WZHNKRIY3T3SODQUCVTY X-Message-ID-Hash: H2SHG5BWTKY2WZHNKRIY3T3SODQUCVTY X-MailFrom: hi@alyssa.is X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-devel.spectrum-os.org-0; header-match-devel.spectrum-os.org-1; header-match-devel.spectrum-os.org-2; header-match-devel.spectrum-os.org-3; header-match-devel.spectrum-os.org-4; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Demi Marie Obenour writes: > WirePlumber is completely overkill as a session manager here, and > ideally a trivial session manager would be used instead. PipeWire is > configured to listen on the PulseAudio socket, so PulseAudio > compatibility works. pw-record and pw-play both work, and if PulseAudio > is installed paplay and parecord also work. This does install a lot of > unnecessary files into the VMs, which will hopefully be removed > later as part of a debloating effort. > > Only run-qemu has had a virtio-sound device added, as crosvm and Cloud > Hypervisor require a virtio-user sound device and that is more complex > to set up. > > PipeWire and WirePlumber require that "$XDG_RUNTIME_DIR" exist, so > create it in rc.init. Having a separate service to create a single > directory is not worthwhile. > > Signed-off-by: Demi Marie Obenour > --- This looks good to me now, with the exception of a couple of copyright fixes. > diff --git a/img/app/etc/pipewire/pipewire.conf b/img/app/etc/pipewire/pi= pewire.conf > new file mode 100644 > index 0000000000000000000000000000000000000000..5f1e34145e9dcb1497f7aa7bb= 0461f0f13931b1a > --- /dev/null > +++ b/img/app/etc/pipewire/pipewire.conf > @@ -0,0 +1,227 @@ > +# SPDX-License-Identifier: MIT > + > +# Copyright =C2=A9 2018 Wim Taymans > +# Copyright =C2=A9 2025 Demi Marie Obenour We should keep our own copyright notices in the SPDX-FileCopyrightText format. (It's fine to leave third party ones as they are though.) > diff --git a/img/app/etc/wireplumber/wireplumber.conf.d/99_spectrum.conf = b/img/app/etc/wireplumber/wireplumber.conf.d/99_spectrum.conf > new file mode 100644 > index 0000000000000000000000000000000000000000..277e6019c46582afba12af9b1= a27bb16ddd9e804 > --- /dev/null > +++ b/img/app/etc/wireplumber/wireplumber.conf.d/99_spectrum.conf > @@ -0,0 +1,42 @@ > +# SPDX-License-Identifier: MIT > +# SPDX-FileCopyrightText: 2019-2021 Collabora Ltd. > +# SPDX-FileCopyrightText: 2025 Demi Marie Obenour > + > +# Copyright =C2=A9 2019-2021 Collabora Ltd. > +# > +# Permission is hereby granted, free of charge, to any person obtaining a > +# copy of this software and associated documentation files (the "Softwar= e"), > +# to deal in the Software without restriction, including without limitat= ion > +# the rights to use, copy, modify, merge, publish, distribute, sublicens= e, > +# and/or sell copies of the Software, and to permit persons to whom the > +# Software is furnished to do so, subject to the following conditions: > +# > +# The above copyright notice and this permission notice (including the n= ext > +# paragraph) shall be included in all copies or substantial portions of = the > +# Software. > +# > +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRES= S OR > +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILIT= Y, > +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHA= LL > +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR O= THER > +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER > +# DEALINGS IN THE SOFTWARE. > + > +wireplumber.profiles =3D { > + spectrum =3D { > + # Spectrum VMs are essentially embedded systems, in that they are > + # not at all general-purpose. > + inherits =3D [ main-embedded ] > + # Disable video and Bluetooth > + hardware.video-capture =3D disabled > + hardware.bluetooth =3D disabled > + # Media Session is definitely not running > + check.no-media-session =3D disabled > + } > +} > + > +wireplumber.settings =3D { > + # Default to 100% sink volume. The host will adjust this as needed. > + device.routes.default-sink-volume =3D 1.0 > +} There is no way there is anything left in this file that is non-trivial creative expression owned by Collabora. It should be licensed CC0 like other configuration files in Spectrum, and the Collabora copyright should be dropped. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRV/neXydHjZma5XLJbRZGEIw/wogUCaIszlQAKCRBbRZGEIw/w ojN3AQC5xMpO1IoMIaTSXTMoJIgjyUYTeCaP3RgjJvmDFNCSFAD/cHQxyi/B2lmf dCVR7jfk+Aw8H7lxRT0TqBQ2rx9y7gk= =QgCu -----END PGP SIGNATURE----- --=-=-=--