From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.3 (2019-12-06) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-1.5 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.3 Received: by atuin.qyliss.net (Postfix, from userid 496) id 78CCF2406; Sun, 7 Jun 2020 15:43:20 +0000 (UTC) Received: from [127.0.0.1] (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id D67592355; Sun, 7 Jun 2020 15:43:02 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 496) id 744852342; Sun, 7 Jun 2020 15:42:59 +0000 (UTC) Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by atuin.qyliss.net (Postfix) with ESMTPS id C9FCA2341; Sun, 7 Jun 2020 15:42:55 +0000 (UTC) Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 03C825C0079; Sun, 7 Jun 2020 11:42:54 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Sun, 07 Jun 2020 11:42:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h= from:to:subject:date:message-id:mime-version:content-type; s= fm3; bh=i8ADKVjo8fF2ao23cenAkhprdno2ibfpwZ0Zt3VVD4E=; b=WDyoezyu 1z21X9+9eyU0j3h/mX7ARYm+iAUZM9wXaOlHlUA04ydavTe/+HOU2QyQR8ZCGrHd 2UBzENThk49WUHZrWaEoan2+tlu3GcnmhOTbal/Q9jcVMJP96qqOF5eSNsl5J/ZV 3ML62qjRgbgsDixAKNRVuKo9VmuIzrjzlsUqm9DRod6hkPN35h9I5SqHre1mtXpZ er6yiEMTkGR0HL9lBuA21DmwXL67+k0ZuK+YGpVT2+H0s5j53FaKeDcI8Dv9MLkw n3uEpQHYYFTIRd4DxUgjwEUKO+qcCJNXYuucO0+CeiXh7iYhNx1dKCVgapEeWWGf k/LcXpPlDt91XA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; bh=i8ADKVjo8fF2ao23cenAkhprdno2i bfpwZ0Zt3VVD4E=; b=QkUoKcQReNToNFHhltjLMXKqgjcBkUdCVKbXZ+DzPj1ma jYPhDKwC08gBtUZwh5TCGdRt2Y1XufCYzxTai7cMTOTx8q4qtAqq5mXwYm9+7m0J xSRw24oCcDFAcBFWSPGZmi2OvwHXeLLhUC7v29y90u1eTk3wrT/vnCivH5c5pDsG 7Ylf25IzQ15PDX3bs3sYB4FehuQca4d5Njq23vU3RKpoMpeN6G0f4LlIWzuwcYy9 rDju+qZX3LdgPjfYSau/b2xNWLvNQjeiOcrqhoVABxgdaG+Jgrph7rWcl0Bi7SVC O9T+SuefMKFzBxMnSfbE+gzvByK9GtiITzTbC9W+w== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrudegledgleehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkgggtsehgtderredttd dtnecuhfhrohhmpeetlhihshhsrgcutfhoshhsuceohhhisegrlhihshhsrgdrihhsqeen ucggtffrrghtthgvrhhnpeefvdfhueeihfehkeffudfhvdeukeegueethfeutdefgfeuhf efjeevteffjedvvdenucffohhmrghinhepghhoohhglhgvshhouhhrtggvrdgtohhmpdhs phgvtghtrhhumhdqohhsrdhorhhgnecukfhppeelfedrvddvkedruddvtddrvdegleenuc evlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehhihesrghl hihsshgrrdhish X-ME-Proxy: Received: from x220.qyliss.net (p5de478f9.dip0.t-ipconnect.de [93.228.120.249]) by mail.messagingengine.com (Postfix) with ESMTPA id 62BF53060FE7; Sun, 7 Jun 2020 11:42:53 -0400 (EDT) Received: by x220.qyliss.net (Postfix, from userid 1000) id AC7C0DE7; Sun, 7 Jun 2020 15:42:51 +0000 (UTC) From: Alyssa Ross To: discuss@spectrum-os.org, devel@spectrum-os.org Subject: This Week in Spectrum, 2020-W23 Date: Sun, 07 Jun 2020 15:42:48 +0000 Message-ID: <87tuzm287b.fsf@alyssa.is> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Message-ID-Hash: B24BN37WWKET7QHTK65KZVTCKZSCPHIY X-Message-ID-Hash: B24BN37WWKET7QHTK65KZVTCKZSCPHIY X-MailFrom: hi@alyssa.is X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.3.1 Precedence: list List-Id: General high-level discussion about Spectrum Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: --=-=-= Content-Type: text/plain I wasn't quite back up to normal speed after being sick last week, I think, but we're getting somewhere and I did some cool stuff! Infrastructure -------------- Upgraded Mailman. Most significantly, the Hyperkitty UI has some nice improvements, which I think will make it easier to navigate. :) Nixpkgs ------- I integrated and committed last week's wlroots patch (to make it use virtio_wl-compatible memfds). Spent quite a lot the start of the week working on packaging more Chromium OS components to build some optional crosvm features. They just added support for virtio-video[1], which sounds pretty cool. I managed to get libchrome working again, which I previously had to remove because I couldn't get it to build! I haven't committed any of this yet, because I haven't got to the point where it's useful for building optional crosvm features, and I don't want to add packages that aren't useful for anything, but I did make quite a lot of progress. After a couple of days of this, though, I put it aside to focus on other things, since it would be useful to have, but its not a priority right now. [1]: https://chromium.googlesource.com/chromiumos/platform/crosvm/+/57df6a0ab23c3b2ba233b9aa5886ecf47ba3f91f crosvm ------ I posted a patch[2] to make listing a directory shared with --shared-dir not crash crosvm when sandboxing was enabled. I'd been reluctant to fix this, because --shared-dir (which exposes a host file system to a crosvm guest) is not going to be useful in Spectrum, where shared directories should come from another VM. But it's useful enough in development that not fixing it was more frustrating than just fixing it. I spent a lot of time this week thinking about Wayland connections. My original plan for inter-VM communication was to make it possible to run crosvm devices as standalone programs inside VMs. I still think this is the right track for most virtio devices, but for Wayland it's starting to feel less and less like it makes sense, because the Wayland device is basically a wrapper around a socket, and both ends will be hooked up to sockets. So what I now plan is that a VM running a Wayland client application will connect to a host socket, with the other end connected to a VM running the compositor. The client applications will be run under Sommelier, and so will be able to run unmodified. The compositor will be modified to use a virtio_wl socket. A slight complication here is that a Wayland compositor usually accepts on a socket to receive client connections, but you can't accept on a virtio_wl context. So instead, what we can do is emulate accept by attaching a new virtio_wl socket, and then sending the name of that socket over the main socket. This can be wrapped inside the VM to look very much like an accept. Unfortunately, crosvm virtio_wl sockets could only be set at startup time. So today I fixed that[3]. Adding support for adding virtio_wl sockets at runtime was pleasantly straightforward. I feel very energized now that I managed to bang that out in a day. :D [2]: https://spectrum-os.org/lists/archives/spectrum-devel/20200605234757.28848-1-hi@alyssa.is/T/#u [3]: https://spectrum-os.org/git/crosvm/commit/?h=interguest This is one of those weeks where I can feel writing this that it might not make much sense to anybody else. But the important thing with these weekly updates is that I write _something_ we can refer back to in future, and communicate that things are happening. If you'd like to better understand what I'm talking about here, I'm happy to try walking through it on IRC. Next week, I'm going to work on getting libwayland-server to speak this weird virtio_wl faux-accept. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEH9wgcxqlHM/ARR3h+dvtSFmyccAFAl7dCvgACgkQ+dvtSFmy ccA3yA//asp3zlvp6DL8/3AlFRULEbFHlthAs/OWf4BdgsdvHgyKDeD20sCNUzV9 IUhfNvEC1O1tDe2+LljCSabxZWKdh8v1uRDJb3xHD56xGTAQe4j5aQw6Aldd2UOt RiLZ+8S3A4YcV2qJVnKoOofbRaC9G0W1/OsAy4bU6rwslPdplS5Eyu78d/Cejv61 cgVeX1NtQf745wJFOyqZfd3lc/NnVgAKCrOzs1o+9PyF1W1hj8/bVXIpLy53eJYf 1kPt6gJN8QpCCQBeUBn6B2ljUPrK2HY4to3+jZOmGftfS8JaRVqChfTWaRWjG4kk Ki16fH6v9HjT0FSolDEq/z2WFMVmJYYgBuQ7dFoqWlOJ5sMxpDw7sWqvA5nOAUE7 MEgXs6AyP87lxW5tyWtALaPtRICohzJk11OpdwKaCIo8CuUUQSce4DKZ5khcwBKg YWtaIt7QX8shxdR42jm0RDy/IykiZ56GBcFUSICd5TFoXZHTOzg9EjK9/UKn6y3S SuA2UhAtlLkQ1ZJFMZ9ftnqOjzsN/vVxjn3yPkIsbOe64MnjDiMHsr01uOcMLCQn 0tLeohCbnjqPru920ygxtdwchH12wKsB9uXV9z/Fwki4bmI43MbzItQIBsWvQ+jH tKeyO0uIq8lcazQCeoztRClA2Gn+xu5YOcVjeU8m2YS3aaOgapg= =K0Vs -----END PGP SIGNATURE----- --=-=-=--