From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id 83CDF1FF0E9 for ; Thu, 16 Jul 2026 12:53:35 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id DB3A121436; Thu, 16 Jul 2026 12:53:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbaby.net; q=dns/txt; s=bambino; bh=s6Y+K7Yx2SipULs+EV86rK0LMx8WJCvuaoTyBsh7+GE=; h=from:subject:date:message-id:to:mime-version:content-type:content-transfer-encoding:in-reply-to:references:feedback-id; b=ShYwi1yldYuye5GSGoMGd7H30/J7pwkwQJKOjQDq42RrmweoeDop+DlT/QyghGqOaTAbxoN1k i/9ZXjBRu7wQODbS7xNtE02mm8GETa0uNWHhr9a+XjwRAUAwm0s4bZry2zg9MSBBgWfB9dpLDHU RdsAGzhjkJyI/uvOMp4T9J0= X-Zone-Loop: 40610e9eb0928edb46ad0fbe5ffb4ad2188b3fc81820 X-MB-ID: mb86144 X-SPF: pass Feedback-ID: mb86144:19f6a8:587f4d46584359477840504741595e:mbaby X-MAILBABY-ORIGIN: PASS DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=aosc.io; s=default; t=1784198848; bh=Sftrp+fSNe+GTxhBFkMglAg4ladPOx4M/EmiTeFAjL4=; h=Date:Subject:To:References:From:In-Reply-To:From; b=gkWDdezMvYsNXxu+bVkeD3aElrt7o6IUOkKVu8LhgCSbiBtNSmtIs8V5EWpFn6iJm b3WPndk+WouKMoic+9kMGw1gS0k1E5+J9DqG0iMgUNrrRp18r1xJmvkO6SuSsjO9UJ MQX8PXfFAazNJx+PUB0ETNtYpHqCgj9gqLbxCV28= Message-ID: <9043a537-a31c-4420-a5a7-d279c7be9239@aosc.io> Date: Thu, 16 Jul 2026 18:47:22 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: superseded: [PATCH qemu-server v2 2/2] qemuserver: replace virtio-vga-gl with virtio-gpu-gl on aarch64 To: pve-devel@lists.proxmox.com References: <20260716073544.284241-1-wukaiyang@loongfans.cn> <20260716073544.284241-3-wukaiyang@loongfans.cn> Content-Language: en-US From: Kaiyang Wu In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 26F8B4008A X-Rspamd-Server: nf1.mymailcheap.com X-Rspamd-Action: no action X-Spamd-Result: default: False [-0.30 / 10.00]; MIME_GOOD(-0.10)[text/plain]; R_SPF_ALLOW(-0.10)[+mx]; R_DKIM_ALLOW(-0.10)[aosc.io:s=default]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; RCVD_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_ALL(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[pve-devel@lists.proxmox.com]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_POLICY_ALLOW(0.00)[aosc.io,quarantine]; TO_DN_NONE(0.00)[]; LOCAL_OUTBOUND(0.00)[]; DKIM_TRACE(0.00)[aosc.io:+] X-SPAM-LEVEL: Spam detection results: 0 DKIMWL_WL_MED -0.209 DKIMwl.org - Medium trust sender DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_PASS -0.1 DMARC pass policy RCVD_IN_DNSWL_LOW -0.7 Sender listed at https://www.dnswl.org/, low trust RCVD_IN_MSPIKE_H4 -0.01 Very Good reputation (+4) RCVD_IN_MSPIKE_WL -0.01 Mailspike good senders SPF_HELO_PASS -0.001 SPF: HELO matches SPF record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: FRW7TLPFPRCAGJP74HUF4F43BT6AZYA2 X-Message-ID-Hash: FRW7TLPFPRCAGJP74HUF4F43BT6AZYA2 X-MailFrom: origincode@aosc.io X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Superseded-by: https://lore.proxmox.com/pve-devel/20260716104440.302873-1-wukaiyang@loongfans.cn/#t On 2026-07-16 17:32, Dominik Csapak wrote: > while this works, I'd probably prefer to expand our vga_map mechanism > to include the arch too. > > e.g. having a 'sub map_vga_model($vga, $arch)' or > something like this which internally has maybe a type->device > map per arch? (or one per arch + a common fallback where the > different architectures don't differ) > > On 7/16/26 9:36 AM, Kaiyang Wu wrote: >> Fix the issue of virtio-gpu not being available on aarch64. >> >> QEMU only provides the non-VGA variant of virtio-gpu-gl on aarch64. >> Replace VGA variant with non-VGA variant for 'virtio-vga-gl' device, >> similar to how we replace 'virtio-vga' with 'virtio-gpu' on aarch64. >> >> Signed-off-by: Kaiyang Wu >> --- >>   src/PVE/QemuServer.pm | 8 ++++++-- >>   1 file changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm >> index c11351bb..16922dd5 100644 >> --- a/src/PVE/QemuServer.pm >> +++ b/src/PVE/QemuServer.pm >> @@ -1487,8 +1487,12 @@ sub print_vga_device { >>       my ($conf, $vga, $arch, $machine_version, $id, $qxlnum, >> $bridges) = @_; >>         my $type = $vga_map->{ $vga->{type} }; >> -    if ($arch eq 'aarch64' && defined($type) && $type eq >> 'virtio-vga') { >> -        $type = 'virtio-gpu'; >> +    if ($arch eq 'aarch64' && defined($type)) { >> +        if ($type eq 'virtio-vga') { >> +            $type = 'virtio-gpu'; >> +        } elsif ($type eq 'virtio-vga-gl') { >> +            $type = 'virtio-gpu-gl'; >> +        } >>       } >>       my $vgamem_mb = $vga->{memory}; > > > >