[Mesa-maintainers] Dealing with conflicting files [Re: Downstream patches and package recipes

Andreas Boll andreas.boll.dev at gmail.com
Thu Feb 23 10:10:32 UTC 2017


2017-02-22 15:31 GMT+01:00 Emil Velikov <emil.l.velikov at gmail.com>:
> [splitting out of the main thread]
>
> On 22 February 2017 at 13:52, Pedretti Fabio <pedretti.fabio at gmail.com> wrote:
>> I can see an issue with swrast and i915, both have classic and gallium
>> versions. They can be both built fine, but they get installed in the same
>> dri directory and one (apparently the gallium one) overwrite the other.
>> There should be a way to be able to build and install both without special
>> tricks and have a way the use can select one or the other.
>>
> Thanks for bringing this up Fabio.
>
> At the moment, we have:
>  - cases where the files are overwritten at install stage
> swrast being the most common one - oibaf PPA, Debian/Ubuntu (?), Arch,
> Suse, Fedora (?)

Debian & Ubuntu don't overwrite those files because they never build both
swrast at the same time.
It's split in architectures where llvm is enabled:
 -> building gallium swrast only
and architectures where llvm is disabled:
 -> building classic swrast only

>  - special handling for classic vs gallium files
> Manage which one is picked via a script/tool - Gentoo (I really like
> the approach)
>  - building only one of the two

Exactly what Debian & Ubuntu are doing.

> Nearly nobody builds i915g.
>
> What we need - make install should:
>  - produce correctly named files
>  - place them where such they can be used
>
> At the same time:
>  - at runtime, there is no clear heuristic to check if the classic or
> gallium one is required.
>  - we cannot retroactively fix old mesa (libGL/libEGL/libgbm) and
> xorg-server (libglx.so) loaders
>
>
> Thus the following ideas that come to mind (in order of personal preference):
>  - use/import library management similar to the Gentoo one
>  - make them mutually exclusive, similar to {classic,gallium}osmesa
>  - rename to {swrast,i915}g_dri.so and add fallback(s) in the loaders
> Icky, retro-fix old mesa/xorg ?
>  - deprecate (from build perspective) classic swrast,  i915g

Debian & Ubuntu:
We don't build i915g (only classic i915) and we are trying to deprecate classic
swrast on most architectures.
I'm planning to enable llvm on more architectures but unfortunately not on all.

Btw we are also deprecating OpenGL ES 1 support.

Thanks,
Andreas

> Might not fly with some developers or CrOS guys
>
> The more I think of it, the more I'm leaning towards a Gentoo-like approach.
> Please let me know your preference and if you see any pitfalls.
>
> Thanks
> Emil


More information about the Mesa-maintainers mailing list