From: Thomas Huth <thuth@redhat.com>
To: "Marc-André Lureau" <marcandre.lureau@gmail.com>, qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
"BALATON Zoltan" <balaton@eik.bme.hu>,
qemu-ppc@nongnu.org, "Gerd Hoffmann" <kraxel@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Markus Armbruster" <armbru@redhat.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
qemu-arm@nongnu.org, "Daniel P. Berrangé" <berrange@redhat.com>,
"Dr. David Alan Gilbert" <dave@treblig.org>,
"Eric Blake" <eblake@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>
Subject: Re: [PATCH v5 00/19] Make Pixman an optional dependency
Date: Wed, 25 Oct 2023 13:58:35 +0200 [thread overview]
Message-ID: <f636917c-aa2d-48ee-9481-9e42596c9591@redhat.com> (raw)
In-Reply-To: <CAJ+F1CJsjOriKc0kiW7+Omw=Mvm8t1xwDqeZPicgo6ahabhxCQ@mail.gmail.com>
On 24/10/2023 14.01, Marc-André Lureau wrote:
> 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?
It looks reasonable to me - at least for a first step, since it's not a very
huge change. We still can change it easily later if we reconsider, I guess.
Thomas
prev parent reply other threads:[~2023-10-25 11:59 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-23 11:30 [PATCH v5 00/19] Make Pixman an optional dependency marcandre.lureau
2023-10-23 11:30 ` [PATCH v5 01/19] build-sys: add a "pixman" feature marcandre.lureau
2023-10-25 6:35 ` Thomas Huth
2023-10-23 11:30 ` [PATCH v5 02/19] ui: compile out some qemu-pixman functions when !PIXMAN marcandre.lureau
2023-10-25 10:05 ` Thomas Huth
2023-10-23 11:30 ` [PATCH v5 03/19] ui: add pixman-compat.h marcandre.lureau
2023-10-25 10:08 ` Thomas Huth
2023-10-25 11:28 ` Marc-André Lureau
2023-10-23 11:30 ` [PATCH v5 04/19] vl: move display early init before default devices marcandre.lureau
2023-10-25 9:56 ` Thomas Huth
2023-10-25 13:26 ` Marc-André Lureau
2023-10-25 13:38 ` Thomas Huth
2023-10-23 11:30 ` [PATCH v5 05/19] ui/console: allow to override the default VC marcandre.lureau
2023-10-23 11:30 ` [PATCH v5 06/19] ui/vc: console-vc requires PIXMAN marcandre.lureau
2023-10-25 9:59 ` Thomas Huth
2023-10-23 11:30 ` [PATCH v5 07/19] qmp/hmp: disable screendump if PIXMAN is missing marcandre.lureau
2023-10-25 10:04 ` Thomas Huth
2023-10-23 11:30 ` [PATCH v5 08/19] virtio-gpu: replace PIXMAN for region/rect test marcandre.lureau
2023-10-23 11:30 ` [PATCH v5 09/19] ui/console: when PIXMAN is unavailable, don't draw placeholder msg marcandre.lureau
2023-10-25 11:48 ` Thomas Huth
2023-10-23 11:30 ` [PATCH v5 10/19] vhost-user-gpu: skip VHOST_USER_GPU_UPDATE when !PIXMAN marcandre.lureau
2023-10-23 11:30 ` [PATCH v5 11/19] ui/gl: opengl doesn't require PIXMAN marcandre.lureau
2023-10-23 11:30 ` [PATCH v5 12/19] ui/vnc: VNC requires PIXMAN marcandre.lureau
2023-10-25 11:52 ` Thomas Huth
2023-10-25 18:44 ` Marc-André Lureau
2023-10-23 11:30 ` [PATCH v5 13/19] ui/spice: SPICE/QXL " marcandre.lureau
2023-10-25 11:56 ` Thomas Huth
2023-10-23 11:30 ` [PATCH v5 14/19] ui/gtk: -display gtk " marcandre.lureau
2023-10-25 11:57 ` Thomas Huth
2023-10-23 11:30 ` [PATCH v5 15/19] ui/dbus: do not require PIXMAN marcandre.lureau
2023-10-23 11:30 ` [PATCH v5 16/19] arm/kconfig: XLNX_ZYNQMP_ARM depends on PIXMAN marcandre.lureau
2023-10-25 12:02 ` Thomas Huth
2023-10-23 11:30 ` [PATCH v5 17/19] hw/sm501: allow compiling without PIXMAN marcandre.lureau
2023-10-23 13:14 ` BALATON Zoltan
2023-10-23 13:21 ` Marc-André Lureau
2023-10-23 11:30 ` [PATCH v5 18/19] hw/display: make ATI_VGA depend on PIXMAN marcandre.lureau
2023-10-23 11:30 ` [PATCH v5 19/19] build-sys: make pixman actually optional marcandre.lureau
2023-10-23 11:34 ` [PATCH v5 00/19] Make Pixman an optional dependency Michael S. Tsirkin
2023-10-24 12:01 ` Marc-André Lureau
2023-10-25 11:58 ` Thomas Huth [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f636917c-aa2d-48ee-9481-9e42596c9591@redhat.com \
--to=thuth@redhat.com \
--cc=armbru@redhat.com \
--cc=balaton@eik.bme.hu \
--cc=berrange@redhat.com \
--cc=dave@treblig.org \
--cc=eblake@redhat.com \
--cc=kraxel@redhat.com \
--cc=marcandre.lureau@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).