[PATCH 3/4] drm/cirrus-qemu: Use framebuffer format as-is, drop adjustments

Gerd Hoffmann kraxel at redhat.com
Wed Mar 26 10:35:58 UTC 2025


On Tue, Mar 25, 2025 at 06:12:51PM +0100, Thomas Zimmermann wrote:
> Remove internal adjustments to framebuffer format from cirrus-qemu
> driver. The driver did this to support higher resolutions by reducing
> the per-pixel memory consumption.
> 
> DRM has a policy of exporting formats as they are implemented in
> hardware. So avoid internal adjustments if possible.

Well.  While this policy makes sense for modern hardware this is IMHO
not the case for the cirrus.

First, because there is almost no userspace which can handle the ancient
24 bpp format (DRM_FORMAT_RGB888).

Second, because there is no way to communicate the hardware constrains
of the cirrus.  userspace can query the formats, and userspace can query
the resolutions, but there is no way to tell userspace that not all
combinations are valid and that you have to go for the DRM_FORMAT_RGB565
format if you want higher resolutions.

Essentially the format conversations allows the driver to hide the
oddities of the prehistoric hardware from userspace, so things are
more smooth when running wayland on the cirrus.

take care,
  Gerd

PS: https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/
still applies of course.



More information about the dri-devel mailing list