qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 00/67] Make pixman an optional dependency


From: Marc-André Lureau
Subject: Re: [PATCH 00/67] Make pixman an optional dependency
Date: Wed, 30 Aug 2023 15:01:27 +0400

Hi

On Wed, Aug 30, 2023 at 2:53 PM Thomas Huth <thuth@redhat.com> wrote:
>
> On 30/08/2023 11.37, 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.
> >
> > Given how pervasively pixman types and API is used in all the code base, it 
> > was
> > a bit difficult to figure out how to cut the dependency.
> >
> > I decided that it was important to keep VGA and graphics device working for
> > compatibility reasons, although some devices, such as xlnx Display Port, 
> > have
> > stronger dependency and have to be disabled. The ui/console code also has a 
> > lot
> > of pixman usage and a bit of a mess to deal with. I made large refactoring 
> > to
> > allow to compile out the VC code.
> >
> > The series can be roughly divded as:
> > - a few related preliminary cleanups
> > - ui/console refactoring to allow ui/vc split
> > - add a 'pixman' option, and a minimal pixman-compat.h
> > - make some parts depend on 'pixman'
> >
> > Graphic -display still work, although with some caveats. For ex, -display 
> > sdl or
> > cocoa don't have VCs, so starting QEMU will print the following warnings 
> > when
> > pixman is disabled:
>
> I just had a quick look at the series, but for me it looks like this is
> adding a lot of additional complexity to the code (adds lots of #ifdefs, and
> adds a subset of the pixman library to the code base), which seems somewhat

The #ifdef aren't so bad (at least I can bare it). Just a quick stat:

$ git diff origin/master | grep "+#ifdef CONFIG_PIXMAN" | wc -l
11

> unfortunate for such a marginal feature request. What's really so bad about
> requiring pixman for building QEMU?

Not that a good part of the series is cleaning up ui/console.c code
that really deserved it. It makes it use QOM, and split VC code. It's
still worth it regardless of the outcome for pixman.

> IMHO, if we really want to go down this path, I think we should rather
> disable all graphic related stuff in QEMU instead, i.e. disable VGA cards,
> Spice, SDL, etc. completely. I think this is also what has been requested in
>

The various features and devices can be disabled by other means. I
think we should aim at making the different configure options
orthogonal, so QEMU without pixman can still provide most gfx/vga/UI
experience too, by default.

> the original gitlab issue ticket where the reporter wanted to compile a
> text-mode only QEMU binary...?

So that is not an incompatible goal, further tuning of configure
options can help.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]