From nobody Sat Jul 25 12:50:26 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=pq.io ARC-Seal: i=1; a=rsa-sha256; t=1784474701; cv=none; d=zohomail.com; s=zohoarc; b=bGo1a3VqV7nWQpGzzp0yZJL8WdKX67u810x+uEDTGBukb4iGcUzU/hmltOpM6UyUCYUqAZfq8HxHuarhf1HOvemj3mTva/FEmhiN0cbQXsMrxVuyk9Ma+Xpv5gD/vu9eTEcRtVS5nxS1Hd1o10iQ8GvBnfmx8kM2IXWPqA/VuuY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784474701; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=geDIVkUUMmtblRevTeGjd6FLOcZXcoarTDChM9THX3U=; b=jENi+BuuKzyRlgpDOGKBxIKg9f988qWsfbiql7ASSnPMmVTzYOmIhM3pcjGlrzHXWFMUC3S9j2bXDEFXO4m13pCB11ov8NFsu9ZXUP5QNbqVIAE1kKKXLatJ6+t4I3nN0aeGrJ5dBtlzRaPmHlPXOun6IfjGKGTDfyQj9btUlfU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178447470186554.5069555782934; Sun, 19 Jul 2026 08:25:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wlTMa-0001jG-Fd; Sun, 19 Jul 2026 11:23:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wlTMW-0001iW-Tg for qemu-devel@nongnu.org; Sun, 19 Jul 2026 11:23:30 -0400 Received: from mail-106113.protonmail.ch ([79.135.106.113]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wlTMS-0006ho-QI for qemu-devel@nongnu.org; Sun, 19 Jul 2026 11:23:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pq.io; s=protonmail3; t=1784474602; x=1784733802; bh=geDIVkUUMmtblRevTeGjd6FLOcZXcoarTDChM9THX3U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:From:To: Cc:Date:Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=kjzyqH76eidDtwdGTuwLzgJ0BmEwd35ErJbhFBiJdLVWpYPr6n272jbfbsBOYJ00U V7YO09z6FjAJn8Jcl8zD/wwHV+BHBpvwa3SrOBC6wKczHfdY7HvmCGscvoc3UfvkqY UHmxXg0Gz/ueMtxNchkIqM2T4JtynOqgyx2XNKZvdYrIoZA7zbyEl0CHPhsGWmHSh7 MIFJaFvSeww51/ew/3bkFA4fIeznOU7rR33s2+i8/I+Y+lR6zInqnz+mJ+PWl5mSJ7 4snfz9M7NjL7c7mL89uB7FVM3DdKPe4ag9oXnp8rRQBJtrxknlpE/XH0GKptXxy+Ck CtazxN9HxdDcA== X-Pm-Submission-Id: 4h36qF0nX1z1DDLW From: Matthew Jackson To: qemu-devel@nongnu.org Cc: kraxel@redhat.com Subject: [PATCH 1/4] hw/display/vmware_vga: raise resolution ceiling to 5K (5120x2880) Date: Sun, 19 Jul 2026 08:23:15 -0700 Message-ID: <20260719152318.69481-2-matthew@pq.io> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260719152318.69481-1-matthew@pq.io> References: <20260719152318.69481-1-matthew@pq.io> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=79.135.106.113; envelope-from=matthew@pq.io; helo=mail-106113.protonmail.ch X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @pq.io) X-ZM-MESSAGEID: 1784474702189158500 Content-Type: text/plain; charset="utf-8" `SVGA_MAX_WIDTH` and `SVGA_MAX_HEIGHT` have been 2368x1770 since the device model's introduction. These constants gate the guest's `SVGA_REG_MAX_WIDTH` / `SVGA_REG_MAX_HEIGHT` responses; modern Linux/vmwgfx and macOS vmware_vga drivers reject any larger requested mode with `invalid resolution` so the device caps at effectively 1440p even on boards with enough VRAM for higher modes. The comment on the defines reads: /* These values can probably be changed arbitrarily. */ Raise the caps to 5K (5120x2880). The VRAM BAR still bounds what the guest can actually allocate, so this is a mode- validation upper bound only - guests with a 16 MB default vgamem still see the VRAM exhaustion error they always did when requesting >2K modes, they just no longer hit the software-side cap first. Signed-off-by: Matthew Jackson --- hw/display/vmware_vga.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) --- a/hw/display/vmware_vga.c +++ b/hw/display/vmware_vga.c @@ -218,10 +218,15 @@ #define SVGA_FIFO_FLAG_NONE 0 #define SVGA_FIFO_FLAG_ACCELFRONT (1 << 0) -/* These values can probably be changed arbitrarily. */ +/* + * Raise the software-side geometry cap to 5K (5120x2880) so modern + * macOS/Linux guests can negotiate Retina-class modes. The VRAM BAR + * still bounds what the guest can actually allocate; this is an upper + * bound for mode validation. + */ #define SVGA_SCRATCH_SIZE 0x8000 -#define SVGA_MAX_WIDTH 2368 -#define SVGA_MAX_HEIGHT 1770 +#define SVGA_MAX_WIDTH 5120 +#define SVGA_MAX_HEIGHT 2880 #ifdef VERBOSE # define GUEST_OS_BASE 0x5001 -- 2.47.0 From nobody Sat Jul 25 12:50:26 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=pq.io ARC-Seal: i=1; a=rsa-sha256; t=1784474693; cv=none; d=zohomail.com; s=zohoarc; b=ScjCgzfrzOEGJe0/OjrWMEQyOj/tb3jFmNtUNQEKA1kddNlDyHZSA8xd0M73i7/6Bu4s1p1BbFL/zL63Fn4CsP9ZjIII7qg/1boMGUshRSm40KMm+3kPF/aikIWd9zLg/wC3JWUAN+BdRk5+AQQvjdi5h2/qkwWul94izocxhRs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784474693; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Ppeg3vIlOjHAeJXWB92HHibIENdjI3KrUH4oO1W8Mgc=; b=h1ZalhSMislU2WVBD49r8JuQmKJKybKlsDUxPGLPxDGLGv0ZkPcqlGpAO2nb09ps2J9p8pSOPZfblYP8rwfX3VCkIGdRbgb7W6lwHs3hfZA5D3L0+aRmkNRAOfmFtgds0vuiMOvncjonL7Di5e0zGEZM7V2q3ozgBRXZv5ynj/0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784474692867312.7126506342262; Sun, 19 Jul 2026 08:24:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wlTMa-0001jJ-Qk; Sun, 19 Jul 2026 11:23:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wlTMW-0001iU-Rq for qemu-devel@nongnu.org; Sun, 19 Jul 2026 11:23:28 -0400 Received: from mail-05.mail-europe.com ([85.9.206.169]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wlTMS-0006hp-AX for qemu-devel@nongnu.org; Sun, 19 Jul 2026 11:23:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pq.io; s=protonmail3; t=1784474600; x=1784733800; bh=Ppeg3vIlOjHAeJXWB92HHibIENdjI3KrUH4oO1W8Mgc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:From:To: Cc:Date:Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=lfSRBLo6A2Q/su92yOqFwZ6bSZlv4amAp6ECHhfFb58AUT8pTLYs0AnAg3vVmxp+0 Qf/imuRj4NI64rTBIEQ2xd7d/+Zmmi7UdRagfh5ZoUNzgrli+4JAqsrl+6rz67nyT/ 2i+RBhECdPhwv7HwU6U7gZW3Qy8EySCv0dRto6YB4uEqFDa2y9wRDmVEFIwlXtytgG N9WjnrZWMYGYC8PMHukS1QGJiw69svZl+iRyEJp9QwnW0rZjbpR+/NI2pd1x/WOSHg e/V3vrFwyroEjH5Z2+vEDsrUWUCtqfjMlTAWGtpPjert4KsXdvNo9tZ7VMXOXe5vt0 I1rvT9nQR/uiA== X-Pm-Submission-Id: 4h36qD31F9z2ScWZ From: Matthew Jackson To: qemu-devel@nongnu.org Cc: kraxel@redhat.com Subject: [PATCH 2/4] hw/display/vmware_vga: advertise PITCHLOCK capability Date: Sun, 19 Jul 2026 08:23:16 -0700 Message-ID: <20260719152318.69481-3-matthew@pq.io> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260719152318.69481-1-matthew@pq.io> References: <20260719152318.69481-1-matthew@pq.io> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=85.9.206.169; envelope-from=matthew@pq.io; helo=mail-05.mail-europe.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @pq.io) X-ZM-MESSAGEID: 1784474694130158500 Content-Type: text/plain; charset="utf-8" `SVGA_CAP_PITCHLOCK` (bit 17) signals that the device exposes the pitchlock FIFO register (`SVGA_FIFO_PITCHLOCK`) and that the guest may request a fixed scanout pitch that is honoured across mode changes. The upstream device already exposes the FIFO slot at the correct offset (via the enum block around `SVGA_FIFO_PITCHLOCK`); only the capability bit is missing. Without this bit, the Linux vmwgfx driver and macOS vmware_vga driver both refuse to use the pitchlock path and fall back to a default software pitch that does not align with the guest framebuffer layout; the result is a visible scanline offset on non-power-of-two widths. Signed-off-by: Matthew Jackson --- hw/display/vmware_vga.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/hw/display/vmware_vga.c +++ b/hw/display/vmware_vga.c @@ -896,7 +896,7 @@ static uint32_t vmsvga_value_read(void *opaque, uint32_= t address) break; case SVGA_REG_CAPABILITIES: - caps =3D SVGA_CAP_NONE; + caps =3D SVGA_CAP_PITCHLOCK; #ifdef HW_RECT_ACCEL caps |=3D SVGA_CAP_RECT_COPY; #endif -- 2.47.0 From nobody Sat Jul 25 12:50:26 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=pq.io ARC-Seal: i=1; a=rsa-sha256; t=1784474641; cv=none; d=zohomail.com; s=zohoarc; b=GvnK2uAn/YjMmrpaKWyeplhzV6WnCBU+WUni4xw4XFcyVXMA/3799xnBuQk1cixCGoQ1M162+ZB8H961ePPwm229HDCh7sYEza6z0oGePhPBtgryfSkLnzWVceCn0PFjrbu0gEXsprPONLS05bXUXV+Q463NXeWvkfzJ1DPJ0so= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784474641; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=3VWGazVo+b6xQQ5maEyg1RJJzo/VUUBxgMTt1r0o56s=; b=loUNwEx63tmdgCrFs84GPLp05xeXhJ7nY1S9J8CoOeplh8bTjz205sSo+2/4KJde9x62tkF+Dqd4OSdMP69R1/1317xwjm4w4lsEzN6u3wNX8gFepB+t8/oSYjrdVA86V5ZfCTFPpe1OJr5o2ZUzpa6aF14VdwS8Q1xKEBECSIY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784474641642839.8006661597474; Sun, 19 Jul 2026 08:24:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wlTMb-0001jm-Uk; Sun, 19 Jul 2026 11:23:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wlTMY-0001ij-Ni for qemu-devel@nongnu.org; Sun, 19 Jul 2026 11:23:30 -0400 Received: from mail-06.mail-europe.com ([85.9.210.45]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wlTMW-0006iJ-Ln for qemu-devel@nongnu.org; Sun, 19 Jul 2026 11:23:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pq.io; s=protonmail3; t=1784474602; x=1784733802; bh=3VWGazVo+b6xQQ5maEyg1RJJzo/VUUBxgMTt1r0o56s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:From:To: Cc:Date:Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=DXpOUMBHUVjwUXo49FBLvJDwV0FOLQkWWORJMWlN+lS1iJtk2BfnJAY7MN75AtBIY igsQhHPN1fxUcYQhvQa4nMpP2ffWJ4ASDOqAsqNTti1/ZMYUFD9Q6anykryQqZhSe8 zZRA0tdOV1DSR7MUYsgIskEgMi9Vbn3u2VdJ0UfoJ7/+0/U5+x2UuBlF3yqXznUgyU 2kCuDPzL7Mvy7Mw1m6RlrIukI0A3azKuNwfcjVJWaPa+5+YIqGLr5L+TnTo9F5NvxF dRTumuhkr/7jYe1wV1Rvq8ghAyENoiakXk5H1k3M2lyhhmWU0luzaxt3csOtPcuKur y9NdXiCKQfhqA== X-Pm-Submission-Id: 4h36qF1VvWz2Sd3D From: Matthew Jackson To: qemu-devel@nongnu.org Cc: kraxel@redhat.com Subject: [PATCH 3/4] hw/display/vmware_vga: advertise EXTENDED_FIFO capability Date: Sun, 19 Jul 2026 08:23:17 -0700 Message-ID: <20260719152318.69481-4-matthew@pq.io> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260719152318.69481-1-matthew@pq.io> References: <20260719152318.69481-1-matthew@pq.io> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=85.9.210.45; envelope-from=matthew@pq.io; helo=mail-06.mail-europe.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @pq.io) X-ZM-MESSAGEID: 1784474644161158500 Content-Type: text/plain; charset="utf-8" `SVGA_CAP_EXTENDED_FIFO` (bit 15) signals that the FIFO register block extends past `SVGA_FIFO_STOP` to include the capability/flags/fence/3d-version/pitchlock quintuplet. The upstream device already defines those offsets in the FIFO enum (`SVGA_FIFO_CAPABILITIES` onwards) but gates their advertisement behind this capability bit. Without EXTENDED_FIFO the Linux vmwgfx driver refuses to probe the fence and 3D-hwversion slots; with it, the driver treats the device as a modern VMware SVGA II, matching the behaviour we already implement at the register level. Tested against the Linux vmwgfx probe path and macOS 15 vmware_vga driver: both now find the extended slots and no longer log "device lacks extended FIFO" warnings. Signed-off-by: Matthew Jackson --- hw/display/vmware_vga.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/hw/display/vmware_vga.c +++ b/hw/display/vmware_vga.c @@ -896,7 +896,7 @@ static uint32_t vmsvga_value_read(void *opaque, uint32_= t address) break; case SVGA_REG_CAPABILITIES: - caps =3D SVGA_CAP_PITCHLOCK; + caps =3D SVGA_CAP_PITCHLOCK | SVGA_CAP_EXTENDED_FIFO; #ifdef HW_RECT_ACCEL caps |=3D SVGA_CAP_RECT_COPY; #endif -- 2.47.0 From nobody Sat Jul 25 12:50:26 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=pq.io ARC-Seal: i=1; a=rsa-sha256; t=1784474631; cv=none; d=zohomail.com; s=zohoarc; b=g5TVfoguqbcv8Fr1yrKzkWh+hIwRImW0YVKh3uitdE/EIqUaalaGqcUgqvxa535HnqXeYSjpKto9SQmeOhyd9Ax1+mbvGaG92QYML/akepWi5l4KJIhy5a3vPfz6MfeLwnJlCmP/AMEExaNdalvA2fWV4svWNTNdcW02Yc0ozhE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784474631; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=UBwPutl+85R5/ITqbrIxd0Q0rL5pfkY//QmCMUqWtZI=; b=Hq0vAX20KH17+usXwqHLM3s3l1pVS3cOjU4SO++fUJqq4x+SuDxkmNbCLwECDfLr+mYGGWS3KBY0hlMCgLcI8/S05HwlaZa7tCLHR6XOxf4v/qqWi5H1/B6lS0EtsIRvL0RYqCIZ9+TGTiZ6VNJts+nVM90ZlcPzVmlzfjxp608= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784474631265492.15032788269093; Sun, 19 Jul 2026 08:23:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wlTMb-0001jS-Aq; Sun, 19 Jul 2026 11:23:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wlTMY-0001iX-2t for qemu-devel@nongnu.org; Sun, 19 Jul 2026 11:23:30 -0400 Received: from mail-05.mail-europe.com ([85.9.206.169]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wlTMW-0006i5-LP for qemu-devel@nongnu.org; Sun, 19 Jul 2026 11:23:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pq.io; s=protonmail3; t=1784474601; x=1784733801; bh=UBwPutl+85R5/ITqbrIxd0Q0rL5pfkY//QmCMUqWtZI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:From:To: Cc:Date:Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=XWvekGekywrw+MBvr6DXx0BKmK/AkIOp3Rvg6pttuh6YMZPJcW+1eIeF3SKDaDHk7 jyfbB+ElIdc0UaueQcfkKoa3YP3FYnz+pScJYTh5WgQiiYsrwd35eh1KHoZ60zdT3Z D9eRsQTLnNjKsce+RI+vwH6/MceEE3mdeQg0yPDFDuDIgpcEWF4c0jCTYEK/l39Rqm KmKRRteN5L4n4UXNw753cxNW1ffggCMpfSi/MCHbu5KaBpiSB0xZOcfeyFLZE3Xycg Pi/89GIUD0ETma0BrRjgv+RsHOKRZruDVWGe9wHPx8Z96wLfzAx6onFS0zWtV2eHHY vyUqe8wBKdo/Q== X-Pm-Submission-Id: 4h36qD0N9Yz1DDrb From: Matthew Jackson To: qemu-devel@nongnu.org Cc: kraxel@redhat.com Subject: [PATCH 4/4] hw/display/vmware_vga: advertise 8BIT_EMULATION, ALPHA_BLEND and ALPHA_CURSOR Date: Sun, 19 Jul 2026 08:23:18 -0700 Message-ID: <20260719152318.69481-5-matthew@pq.io> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260719152318.69481-1-matthew@pq.io> References: <20260719152318.69481-1-matthew@pq.io> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=85.9.206.169; envelope-from=matthew@pq.io; helo=mail-05.mail-europe.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @pq.io) X-ZM-MESSAGEID: 1784474631955158500 Content-Type: text/plain; charset="utf-8" Modern VMware SVGA II guest drivers expect the 8-bit palette emulation capability (`SVGA_CAP_8BIT_EMULATION`, bit 8) and the two alpha-blending cursor bits (`SVGA_CAP_ALPHA_BLEND` bit 13, `SVGA_CAP_ALPHA_CURSOR` bit 9) to be advertised by any device that presents a modern feature set. The upstream device already implements the machinery behind all three: * 8-bit palette is handled by the legacy vga core that vmware_vga extends, so advertising 8BIT_EMULATION is a pure capability-bit change. * ALPHA_CURSOR is satisfied by `SVGA_CMD_DEFINE_ALPHA_CURSOR` which the FIFO command dispatcher already handles. * ALPHA_BLEND is a generic "host supports alpha blending on ARGB surfaces" bit; macOS's driver uses it to gate the ARGB cursor upload path. Without these bits, macOS's vmware_vga driver falls back to the monochrome cursor path and the guest cursor flickers or renders without anti-aliasing. Signed-off-by: Matthew Jackson --- hw/display/vmware_vga.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) --- a/hw/display/vmware_vga.c +++ b/hw/display/vmware_vga.c @@ -896,7 +896,18 @@ static uint32_t vmsvga_value_read(void *opaque, uint32= _t address) break; case SVGA_REG_CAPABILITIES: - caps =3D SVGA_CAP_PITCHLOCK | SVGA_CAP_EXTENDED_FIFO; + /* + * Advertise the capability bits that modern VMware SVGA II guest + * drivers (Linux vmwgfx, macOS 10.13+, Windows 10+) expect at a + * minimum. PITCHLOCK lets the guest pin the scanout pitch across + * mode changes; EXTENDED_FIFO exposes the pitchlock/fence/3d-hw + * FIFO registers above SVGA_FIFO_STOP; 8BIT_EMULATION advertises + * legacy palette support; ALPHA_BLEND / ALPHA_CURSOR are + * required for the 32-bit ARGB hardware cursor path. + */ + caps =3D SVGA_CAP_PITCHLOCK | SVGA_CAP_EXTENDED_FIFO | + SVGA_CAP_8BIT_EMULATION | SVGA_CAP_ALPHA_BLEND | + SVGA_CAP_ALPHA_CURSOR; #ifdef HW_RECT_ACCEL caps |=3D SVGA_CAP_RECT_COPY; #endif -- 2.47.0