[PATCH 0/4] hw/display/vmware_vga: raise resolution ceiling, advertise modern capability bits

Matthew Jackson posted 4 patches 5 days, 20 hours ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260719152318.69481-1-matthew@pq.io
Maintainers: Dmitry Fleytman <dmitry.fleytman@gmail.com>
|-------|---------|
[PATCH 0/4] hw/display/vmware_vga: raise resolution ceiling, advertise modern capability bits
Posted by Matthew Jackson 5 days, 20 hours ago
The QEMU `vmware_vga` device reports `SVGA_CAP_NONE` when the
guest reads `SVGA_REG_CAPABILITIES`, and caps mode validation
at 2368x1770. This was historically safe because the device
implements almost none of the modern VMware SVGA II feature
set, but the machinery for five capability bits is in fact
already present - the device just never told the guest about
them.

This four-patch series fixes that. Each patch touches a
single feature and is independently revertible.

| Patch | Subject |
|-------|---------|
| 1/4   | `hw/display/vmware_vga: raise resolution ceiling to 5K (5120x2880)` |
| 2/4   | `hw/display/vmware_vga: advertise PITCHLOCK capability` |
| 3/4   | `hw/display/vmware_vga: advertise EXTENDED_FIFO capability` |
| 4/4   | `hw/display/vmware_vga: advertise 8BIT_EMULATION, ALPHA_BLEND and ALPHA_CURSOR` |

## Motivation

Modern VMware SVGA II guest drivers (Linux vmwgfx, macOS
10.13+, Windows 10+) refuse to take optional fast paths when
the corresponding capability bits are not advertised. The
effect on macOS 15 guests in particular is:

  * Cursor is monochrome and flickers (ALPHA_CURSOR missing).
  * Scanout pitch does not align to guest framebuffer on
    non-power-of-two widths (PITCHLOCK missing).

Matthew Jackson (4):
  hw/display/vmware_vga: raise resolution ceiling to 5K
  hw/display/vmware_vga: add PITCHLOCK capability
  hw/display/vmware_vga: add EXTENDED_FIFO capability
  hw/display/vmware_vga: add alpha-blend + alpha-cursor capability bits
Re: [PATCH-for-11.1? 0/4] hw/display/vmware_vga: raise resolution ceiling, advertise modern capability bits
Posted by Philippe Mathieu-Daudé 4 days, 14 hours ago
Cc'ing the maintainer:

$ ./scripts/get_maintainer.pl -f hw/display/vmware_vga.c
Dmitry Fleytman <dmitry.fleytman@gmail.com> (maintainer:VMware)
qemu-devel@nongnu.org (open list:All patches CC here)

On 19/7/26 17:23, Matthew Jackson wrote:
> The QEMU `vmware_vga` device reports `SVGA_CAP_NONE` when the
> guest reads `SVGA_REG_CAPABILITIES`, and caps mode validation
> at 2368x1770. This was historically safe because the device
> implements almost none of the modern VMware SVGA II feature
> set, but the machinery for five capability bits is in fact
> already present - the device just never told the guest about
> them.
> 
> This four-patch series fixes that. Each patch touches a
> single feature and is independently revertible.
> 
> | Patch | Subject |
> |-------|---------|
> | 1/4   | `hw/display/vmware_vga: raise resolution ceiling to 5K (5120x2880)` |
> | 2/4   | `hw/display/vmware_vga: advertise PITCHLOCK capability` |
> | 3/4   | `hw/display/vmware_vga: advertise EXTENDED_FIFO capability` |
> | 4/4   | `hw/display/vmware_vga: advertise 8BIT_EMULATION, ALPHA_BLEND and ALPHA_CURSOR` |
> 
> ## Motivation
> 
> Modern VMware SVGA II guest drivers (Linux vmwgfx, macOS
> 10.13+, Windows 10+) refuse to take optional fast paths when
> the corresponding capability bits are not advertised. The
> effect on macOS 15 guests in particular is:
> 
>    * Cursor is monochrome and flickers (ALPHA_CURSOR missing).
>    * Scanout pitch does not align to guest framebuffer on
>      non-power-of-two widths (PITCHLOCK missing).
> 
> Matthew Jackson (4):
>    hw/display/vmware_vga: raise resolution ceiling to 5K
>    hw/display/vmware_vga: add PITCHLOCK capability
>    hw/display/vmware_vga: add EXTENDED_FIFO capability
>    hw/display/vmware_vga: add alpha-blend + alpha-cursor capability bits
>