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 7228E17FB4; Sat, 26 Jul 2025 10:07:05 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id EE10417FAF; Sat, 26 Jul 2025 10:07:02 +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 fhigh-b4-smtp.messagingengine.com (fhigh-b4-smtp.messagingengine.com [202.12.124.155]) by atuin.qyliss.net (Postfix) with ESMTPS id A39A917FAD for ; Sat, 26 Jul 2025 10:07:01 +0000 (UTC) Received: from phl-compute-12.internal (phl-compute-12.phl.internal [10.202.2.52]) by mailfhigh.stl.internal (Postfix) with ESMTP id D45447A0E1F; Sat, 26 Jul 2025 06:06:58 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-12.internal (MEProxy); Sat, 26 Jul 2025 06:06:58 -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=1753524418; x=1753610818; bh=kCa3RvKLJH G+rMgLKo0OC2gTWBBp4Iwaa25hPn5qoFQ=; b=NeEd8ePChbdnvRihisbJG0SZ1F QzIHF9uUM66NHp8EHt/M+ewQIxxM050upQ7VBHce/WvQxQZCnw64AksIic6YZ5cD Kj6gnq8g6GlCIHCrmuxV5SH3rqL6XNBhnsPzvkqJa+4BPVkVbim2Bh7nktSQEmqq /B0IH6iiPEillZ15meMfq2ygka4uwJITFyFjFhi0Ubjw3JtPQjCajbXtMuGmUNSC RYa8tJv+Saj8dXmqDEd6KIsnbVN4tdeBGFmlYZUptSiL5u0/s9hFC7NcvcH/5PQ6 wCxJZybHPvv1OBQy9xfHh4ar2Gy82U9emYYIaSZXLyXFfp4UUzD/AUQzMsBQ== 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= 1753524418; x=1753610818; bh=kCa3RvKLJHG+rMgLKo0OC2gTWBBp4Iwaa25 hPn5qoFQ=; b=LYNT3KGQsvLTT6ZTNddTVE4cuVT6bbyEyZzxVR44kkLDM09iCxg ZMvwDA6+r8jLdsdZ9QBuLfxdHSyeURJzo6LFE4/VUJtnCsh3dVmPEk8jXYooFKmy Dih+ZrWl11AMYorrWAMHO09YmWWD+q1m9QX9+gjud+goIrnNoC94X32tYwHnUkBH Ci2k9KKw/1BJjRTZTBroef7Q8bKmtWwr5rGM8O+3VARWdFKZ3et4mXqwISQ9VxqO ZKsxm79kSs/slEnn/rKSd6UXFxmQ1GsfkdcL02AE5c1xF0F845nBgVv4RORrnlSe a3ZvbKaGWruu1j/TT3i5CpWFYwKgy2YpMaA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgdekiedufecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug hrpefhvffujghffffkgggtsehgtderredttdejnecuhfhrohhmpeetlhihshhsrgcutfho shhsuceohhhisegrlhihshhsrgdrihhsqeenucggtffrrghtthgvrhhnpefgtdefteehie ehvdefkeekkeejfeetveegtdefheffhfefveehffduueefueelheenucffohhmrghinhep ghgvnhhtohhordhorhhgpdhfrhgvvgguvghskhhtohhprdhorhhgpdhfrhgvvggsshgurd horhhgpdhgihhthhhusgdrtghomhdptghrhihpthhprggurdhfrhenucevlhhushhtvghr ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehhihesrghlhihsshgrrdhish dpnhgspghrtghpthhtohepvddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepuggv mhhiohgsvghnohhurhesghhmrghilhdrtghomhdprhgtphhtthhopeguvghvvghlsehsph gvtghtrhhumhdqohhsrdhorhhg X-ME-Proxy: Feedback-ID: i12284293:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 26 Jul 2025 06:06:57 -0400 (EDT) Received: by sf.qyliss.net (Postfix, from userid 1000) id ED5952D6A376D; Sat, 26 Jul 2025 12:06:46 +0200 (CEST) From: Alyssa Ross To: Demi Marie Obenour , Spectrum OS Development Subject: Re: Switching to udev? In-Reply-To: <2f8aaac8-0407-41f8-86c1-caa5f8b2543e@gmail.com> References: <2f8aaac8-0407-41f8-86c1-caa5f8b2543e@gmail.com> Date: Sat, 26 Jul 2025 12:06:39 +0200 Message-ID: <87pldnfeq8.fsf@alyssa.is> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Message-ID-Hash: HCZ54AUIPUYCMPGQXPPKSGW6AX7RX36E X-Message-ID-Hash: HCZ54AUIPUYCMPGQXPPKSGW6AX7RX36E 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: > On 7/23/25 13:34, Demi Marie Obenour wrote: > From https://wiki.gentoo.org/wiki/Mdev: > > - udev is needed to load firmware for AMD Radeon GPUs. > - libusb will not see USB devices unless deprecated kernel > configuration options are set. > > From https://wayland.freedesktop.org/libinput/doc/latest/architecture.htm= l: > > - Wayland compositors use udev (via libinput) to support > device hotplugging. This is needed for USB keyboard > and/or mouse support, which is a hard requirement for > desktops that don't have PS/2 connectors (almost all of > them I believe). > - libinput relies on udev to determine what kind of device > an input device is. > > FreeBSD also switched to udev for Mutter. > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D271824#c4 > states that for Wayland, udev is essentially required. Even > Gentoo uses udev, though systemd is not the default init > system. > > I think avoiding udev is a losing battle in the long run, > except possibly for VMs that will never ever have physical > hardware attached to them. That would require configuring > VMs with and without physical hardware separately, which > I would strongly prefer to avoid. If the memory > consumption or disk space requirements of udev are > excessive, I think this would be better addressed as part > of a broader debloating effort. > > libudev-zero does exist, but it doesn't work with PipeWire > (https://github.com/illiliti/libudev-zero/issues/26, still > unfixed despite being closed) and there are other problems > with it as shown by its issue tracker. Alpine's wiki doesn't > recommend it for desktop environments, and while Spectrum VMs > don't run full desktop environments they do run desktop > software. Such software requires udev more and more nowadays. Broadly it seems like no libudev at all (which was never on the table) is being conflated with not using udevd (but using something like libudev-zero) here. To my knowledge, everything you've outlined should work with libudev-zero, with the exception of PipeWire as you point out, and possibly Radeon firmware loading =E2=80=94 I'm very surprised udev woul= d be involved at all in that process so wondering if the wiki is very out of date or something. We have USB input working on the host using libudev-zero, for example. The PipeWire compatibility problems do seem like blockers, but reading the PipeWire issue about it[1], I'm not sure they're fundamental. It sounds like PipeWire might be willing to accomodate a fix, the last activity on the issue was only a month ago, and it doesn't sound like that big of a change is necessary for it to work. I wouldn't be surprised if PipeWire is among the software that has the most complex interaction patterns with udev, and given it might be on the verge of being fixed, I'd prefer to wait and see a bit longer. If that means that we don't have working audio hotplug or whatever in the meantime, that's okay. I've put the PipeWire issue on the upstream bug tracking board[2]. If months go by and no solution is found, I think it would make sense to evaluate switching to systemd-udevd then, but I don't want to do the switch, and then find a weak later that the only firm reason we had for doing it has been solved. If you know about other software that depends on custom udev properties, and isn't on the verge of being fixed like PipeWire is, or if I'm wrong about Radeon, we could also take that into account now, but so far all we know for sure is that PipeWire doesn't work, but might do quite soon. [1]: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2398#note_28= 97989 [2]: https://cryptpad.fr/kanban/#/2/kanban/view/yLtGXWLV6U7X5+Z1ay+oXKZMrSa= cqQe+51nXZYRh3ck/ --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRV/neXydHjZma5XLJbRZGEIw/wogUCaISorwAKCRBbRZGEIw/w orcxAP9/axUqeeHG/ySev/rMqNqZwJSuRGZtYJ4eIBsjEs3CnQEAhKKOXF3Af71C dwHIidhzLzdbajjgJzBBdk2CbLvnLA8= =rhFY -----END PGP SIGNATURE----- --=-=-=--