Hi
On Mon, Oct 23, 2023 at 5:49 PM <marcandre.lureau@redhat.com> wrote:
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Hi,
QEMU system emulators can be made to compile and work without Pixman.
Only a few devices and options actually require it (VNC, Gtk, Spice for ex) and
will have to be compiled out.
However, most of QEMU graphics-related code is based on pixman_image_t and
format. If we want to provide mostly compatible QEMU machines with or without
Pixman, all we need to do is to have a small compatibility header with just the
bare minimum for those types (see "ui: add pixman-compat.h"). There are a
limited number of operations related to geometry that are slightly better
implemented in QEMU (without Pixman, see "virtio-gpu: replace PIXMAN for
region/rect test").
Without this simple compatibility header approach, QEMU at runtime becomes a
very different emulator (without graphics device/board, display etc) and full of
"if PIXMAN" conditions in the code. This is a much worse outcome imho, compared
to this small header maintainance and compatibility story.
Fixes:
https://gitlab.com/qemu-project/qemu/-/issues/1172
Before I send v6 with minor changes, do we have a consensus on the
approach using the small pixman-compat.h header to keep 99%
compatibility with a qemu compiled with pixman and minimal changes?