From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.6 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id 225C787C0B; Fri, 30 Sep 2022 12:49:56 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 496) id DBAC587B7C; Fri, 30 Sep 2022 12:49:53 +0000 (UTC) Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) by atuin.qyliss.net (Postfix) with ESMTPS id 3899B87B87 for ; Fri, 30 Sep 2022 12:49:50 +0000 (UTC) Received: by mail-ej1-x62d.google.com with SMTP id lc7so8874406ejb.0 for ; Fri, 30 Sep 2022 05:49:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unikie.com; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date; bh=xqNCVP8e50eQNEPJi5n8o/QI3Whdwtth8dg36zrm9FA=; b=KbVfvkkFPf4SOhp3nn8LvDDOxMeyUXgASgNyTQjftgmmB6xc+sUEX3qu70OlGzvpbs jgp9k7AzCQt721ws2SYNK/JlEDBRR2F9SNddxvpYxFq3b8myKtvcn0B3X7br06WqVGC/ jdIn/KaLXo8+5anVJbRI3KwSmXsCwssHIuCtzjU16VyGn7CuKKMM2WcAOUbKl2G0QQX6 loUcLrLwJrWevDs5fgCFUS6y4aISxqIU9aN9NwrxomhV1YXOti0Inewrk7OrSafCWMsG 8Dx3x/1D0kaq4vKfujaM7Z40msJzZPdUox2gBDQos/HAlfb5VhANsQGdIBIubzkCuN5W KFhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date; bh=xqNCVP8e50eQNEPJi5n8o/QI3Whdwtth8dg36zrm9FA=; b=oAuri0AZKV74q6mySxAIL5caCAeVuIbqSgis8ujjPZgl+Gtnw1Mno0qGvdJbccKoaN yPF1vhhDH2xdco97ZtjxIny/g15eNhy+cP1wWZIYuEIjTzisRSkWXHBZHyfMZnLhBgdZ TMDKpRJjJdfkrIuwnN+Fw90f/yPS3HOd3IAFjpNGuS3BYOHJLBLUO9J0Zavi364o6yKx SktAD1WrQ4Gnz6I58qBmWS3qIyNNVhAdI64Q9/wQi5L6jMobt5OaRuUaXspfSpIXlObY 6ATOTW4EN/FLBiksaHUl60rgBPgJ9R+qGGDNfQK9Qf9rjmlqRUqChscVA9jxwt2u92PY OAFA== X-Gm-Message-State: ACrzQf2L6BT9W/ViVQ4IUM7dXyYZGOSpm/rMeTS5h4h6+V/c6qI7a6Me Jjn2THMk3ZgihCleNltDzpHAdQ== X-Google-Smtp-Source: AMsMyM7xKKO24nX0DfmY6E+GSUdCvCB5Wd86WDzPy71kEbta2vkAMomoR+gicxFLrVqy3RiNPF5AKg== X-Received: by 2002:a17:907:7805:b0:780:24fd:c4e8 with SMTP id la5-20020a170907780500b0078024fdc4e8mr6405447ejc.78.1664542189565; Fri, 30 Sep 2022 05:49:49 -0700 (PDT) Received: from x220.qyliss.net (p54b8e692.dip0.t-ipconnect.de. [84.184.230.146]) by smtp.gmail.com with ESMTPSA id a25-20020a1709066d5900b007712444e98csm1141730ejt.43.2022.09.30.05.49.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Sep 2022 05:49:49 -0700 (PDT) Received: by x220.qyliss.net (Postfix, from userid 1000) id 2D3FA4F4; Fri, 30 Sep 2022 12:49:48 +0000 (UTC) From: Alyssa Ross To: devel@spectrum-os.org Subject: [RFC PATCH 00/10] Initial support for VM Wayland Date: Fri, 30 Sep 2022 12:49:30 +0000 Message-Id: <20220930124940.1013577-1-alyssa.ross@unikie.com> X-Mailer: git-send-email 2.37.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: 7VUA22BLUEG2WFM7UHJ3OWBHV3DP6MDT X-Message-ID-Hash: 7VUA22BLUEG2WFM7UHJ3OWBHV3DP6MDT X-MailFrom: alyssa.ross@unikie.com X-Mailman-Rule-Hits: header-match-devel.spectrum-os.org-0 X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1 CC: Puck Meerburg , Ville Ilvonen X-Mailman-Version: 3.3.5 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: IMPORTANT NOTE: this series should be applied on top of my previous series "Introduce a shared base for application VMs" [1]. This is a bit inconvenient I know, but I haven't committed the other series yet due to wanting to take a second pass at it. This series adds the Spectrum-side support for running VMs that can display Wayland windows on the host compositor, using virtio-gpu. There are various small things still to be resolved, but it's ready for other people to try out and test. The easiest way to test this out is to run "vm-start hello-wayland" on the Spectrum host. If everything goes well, a small window with a picture of a cat (hello-wayland) should appear. This window is running in a VM. One particular known issue is that on one run of the new appvm-hello-wayland, I got this error: [12:11:52.107] libwayland: error in client communication (pid 863) I'm not yet aware of what would cause such an error. It went away after I rebooted and tried again. There are some other known issues with my cloud-hypervisor patch too. See the other thread for information on those. [1]: https://spectrum-os.org/lists/archives/spectrum-devel/20220919073659.1703271-1-hi@alyssa.is/ [2]: https://spectrum-os.org/lists/archives/spectrum-devel/20220928170128.1583791-1-alyssa.ross@unikie.com/ Alyssa Ross (10): host/start-vm: use MAP_SHARED memory for VMs img/app: don't block app startup on network online img/app: add Wayland over virtio-gpu support to kernel vm-lib: add mesa drivers to VM img/app: add support for testing virtio-gpu img/app: add support for testing in crosvm host/start-vm: factor out VM definition path host: add support for Wayland in VMs vm/app: add hello-wayland demo VM host/start-vm: disable cloud-hypervisor sandbox Documentation/creating-vms.adoc | 5 +++ host/initramfs/extfs.nix | 3 ++ host/rootfs/Makefile | 4 +++ host/rootfs/default.nix | 4 +-- host/rootfs/etc/s6-rc/ext-rc-init/up | 8 +++++ host/rootfs/etc/template/gpu/data/check | 5 +++ host/rootfs/etc/template/gpu/notification-fd | 1 + .../etc/template/gpu/notification-fd.license | 2 ++ host/rootfs/etc/template/gpu/run | 9 ++++++ host/rootfs/etc/template/gpu/type | 1 + host/rootfs/etc/template/gpu/type.license | 2 ++ host/start-vm/start-vm.rs | 26 +++++++++------ img/app/Makefile | 32 +++++++++++++++++-- img/app/default.nix | 3 +- img/app/etc/mdev/iface | 2 +- img/app/etc/mdev/listen | 12 +++++++ img/app/etc/mdev/wait | 15 +++++++++ img/app/etc/s6-rc/ok-all/contents | 1 + img/app/shell.nix | 2 +- vm-lib/make-vm.nix | 14 ++++++-- vm/app/catgirl.nix | 1 + vm/app/hello-wayland.nix | 25 +++++++++++++++ vm/app/lynx.nix | 1 + 23 files changed, 159 insertions(+), 19 deletions(-) create mode 100755 host/rootfs/etc/template/gpu/data/check create mode 100644 host/rootfs/etc/template/gpu/notification-fd create mode 100644 host/rootfs/etc/template/gpu/notification-fd.license create mode 100755 host/rootfs/etc/template/gpu/run create mode 100644 host/rootfs/etc/template/gpu/type create mode 100644 host/rootfs/etc/template/gpu/type.license create mode 100755 img/app/etc/mdev/listen create mode 100755 img/app/etc/mdev/wait create mode 100644 vm/app/hello-wayland.nix -- 2.37.1