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 DF00672744; Fri, 30 Sep 2022 21:36:16 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 496) id 0A0F472724; Fri, 30 Sep 2022 21:36:14 +0000 (UTC) Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com [IPv6:2a00:1450:4864:20::533]) by atuin.qyliss.net (Postfix) with ESMTPS id 05FAB72673 for ; Fri, 30 Sep 2022 21:36:10 +0000 (UTC) Received: by mail-ed1-x533.google.com with SMTP id c30so7588178edn.2 for ; Fri, 30 Sep 2022 14:36:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unikie.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=NpsznOcJtMbqZrkjWTeRWVgTjobMm/1762/fzeHFAjI=; b=jQTCxr4tG1bpVzZoVVRzL+CY0kmy1EHVdzxuvgAdxX8YfXmYLU++VpCsU2+oiwuRL3 oixOENvR7A3xinK+e7AM9ecMCMzGet4P4k+mfXplUg5ozLa2k7rG5wDIOGzNUpx8as3A AJPNqm1V3AyKIUfTOv9gIiE3AfbbDhIFR8uP7lWM9qwyKU/Z88n/6jpidjMOAtec94BK yf9ODnW9fnIpSj/Xl5hHoGjwUSxvd82bUHam6wDjdgvRUjHgDzFE2PAc2IXhkcPVQ3ZI F2lXoaB7KIPoThoH2fYpivuz6G0g7KmQiI+hl5JsBtGoDzwXpBW8dLw3OBBLTogjQ7ym WPLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=NpsznOcJtMbqZrkjWTeRWVgTjobMm/1762/fzeHFAjI=; b=0T3187ZIAZvTvouZ9m3JAB4lsn+TeZmWKOz1jQLlZucafMJDuV1huTUT9tXoHitLM9 klMb7TdL9f3l/nW2EGi0ahMOGcZCjsu91Wmh5jfAb4aZzsCmXxKBVaOwNDQ8FZsbvM+D j+3rUky7BNKfJRDMDDGnMWmnbwusuRT5OES56k7Fo06UVqT1dR7YdGjnp1IJrJdK2OIV JME4OrnjKOTJaW5lfWagwp/N6wuqfhqExaAK3gOGRUgn+n+/SglfWooUdtXUXve4qxqK 8tgkk1YnvpCfjhgiufjNt7difE3KWL+T1VutXNLIu3zpLnQbruAyuZ3XB8ji7V3HSEh8 MuDw== X-Gm-Message-State: ACrzQf1gA3z9WCCR2CZ0znCnmXI7x74elIOM+46eDS1uzv9Enj6UPois Ck8y+Gsb4NBvqTXsfOXkMqXnDg== X-Google-Smtp-Source: AMsMyM5w7JQgxhyOAF07vwlxNYiZYuLbam65fIK25Tnc/zDOQtDI/MJBdcQCArpN4BDhOCrmgM9NWQ== X-Received: by 2002:a05:6402:3550:b0:451:473a:5ca3 with SMTP id f16-20020a056402355000b00451473a5ca3mr9420774edd.48.1664573769533; Fri, 30 Sep 2022 14:36:09 -0700 (PDT) Received: from x220.qyliss.net (p200300ed67079c010000000000000003.dip0.t-ipconnect.de. [2003:ed:6707:9c01::3]) by smtp.gmail.com with ESMTPSA id l8-20020a1709065a8800b0073dbfd33a8dsm1730749ejq.21.2022.09.30.14.36.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Sep 2022 14:36:09 -0700 (PDT) Received: by x220.qyliss.net (Postfix, from userid 1000) id D80255AD; Fri, 30 Sep 2022 21:36:08 +0000 (UTC) From: Alyssa Ross To: devel@spectrum-os.org Subject: [RFC PATCH v2 05/10] img/app: add support for testing virtio-gpu Date: Fri, 30 Sep 2022 21:35:28 +0000 Message-Id: <20220930213533.1710618-6-alyssa.ross@unikie.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20220930213533.1710618-1-alyssa.ross@unikie.com> References: <20220930213533.1710618-1-alyssa.ross@unikie.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: 4LZJ42CUZADK4UTQ5R77FNBJEXAMA2C6 X-Message-ID-Hash: 4LZJ42CUZADK4UTQ5R77FNBJEXAMA2C6 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: crosvm sadly doesn't support socket activation or readiness notification, hence the sleep loop here. I've removed the tap device as it required privileges to set up, and was difficult to actually test with since it wouldn't be set up correctly on the host in the same way the Spectrum host would set it up. Signed-off-by: Alyssa Ross --- img/app/Makefile | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/img/app/Makefile b/img/app/Makefile index a3fefc3..42ed51d 100644 --- a/img/app/Makefile +++ b/img/app/Makefile @@ -6,6 +6,8 @@ # QEMU_KVM = qemu-system-x86_64 -enable-kvm. QEMU_KVM = qemu-kvm CLOUD_HYPERVISOR = cloud-hypervisor +CROSVM = crosvm +CROSVM_DEVICE_GPU = $(CROSVM) device gpu prefix = /usr/local imgdir = $(prefix)/img @@ -96,6 +98,17 @@ build/etc/s6-rc: $(VM_S6_RC_FILES) s6-rc-compile $@ $$dir; \ exit=$$?; rm -r $$dir; exit $$exit +start-vhost-user-gpu: + rm -f vhost-user-gpu.sock + $(CROSVM_DEVICE_GPU) \ + --socket vhost-user-gpu.sock \ + --wayland-sock "$$XDG_RUNTIME_DIR/$$WAYLAND_DISPLAY" \ + --params '{"context-types":"virgl:virgl2:cross-domain"}' & + while ! [ -S vhost-user-gpu.sock ]; do \ + sleep 1 ; \ + done +.PHONY: start-vhost-user-gpu + run-qemu: build/host/appvm/blk/root.img $(QEMU_KVM) -m 128 -cpu host -machine q35,kernel=$(KERNEL) -vga none \ -drive file=build/host/appvm/blk/root.img,if=virtio,format=raw,readonly=on \ @@ -108,13 +121,14 @@ run-qemu: build/host/appvm/blk/root.img -device virtconsole,chardev=virtiocon0 .PHONY: run-qemu -run-cloud-hypervisor: build/host/appvm/blk/root.img +run-cloud-hypervisor: build/host/appvm/blk/root.img start-vhost-user-gpu $(CLOUD_HYPERVISOR) \ --api-socket path=vmm.sock \ - --memory size=128M \ + --memory size=128M,shared=on \ --disk path=build/host/appvm/blk/root.img,readonly=on \ path=$(RUN_IMG),readonly=on \ --net tap=tap0,mac=0A:B3:EC:00:00:00 \ + --gpu socket=vhost-user-gpu.sock \ --kernel $(KERNEL) \ --cmdline "console=ttyS0 root=PARTLABEL=root" \ --console tty \ -- 2.37.1