Am 02.06.21 um 10:57 schrieb Daniel Stone:
Hi Christian,
On Tue, 1 Jun 2021 at 13:51, Christian König
<ckoenig.leichtzumerken@xxxxxxxxx> wrote:
Am 01.06.21 um 14:30 schrieb Daniel Vetter:
If you want to enable this use-case with driver magic and without the
compositor being aware of what's going on, the solution is EGLStreams.
Not sure we want to go there, but it's definitely a lot more feasible
than trying to stuff eglstreams semantics into dma-buf implicit
fencing support in a desperate attempt to not change compositors.
Well not changing compositors is certainly not something I would try
with this use case.
Not changing compositors is more like ok we have Ubuntu 20.04 and need
to support that we the newest hardware generation.
Serious question, have you talked to Canonical?
I mean there's a hell of a lot of effort being expended here, but it
seems to all be predicated on the assumption that Ubuntu's LTS
HWE/backport policy is totally immutable, and that we might need to
make the kernel do backflips to work around that. But ... is it? Has
anyone actually asked them how they feel about this?
This was merely an example. What I wanted to say is that we need to
support system already deployed.
In other words our customers won't accept that they need to replace the
compositor just because they switch to a new hardware generation.
I mean, my answer to the first email is 'no, absolutely not' from the
technical perspective (the initial proposal totally breaks current and
future userspace), from a design perspective (it breaks a lot of
usecases which aren't single-vendor GPU+display+codec, or aren't just
a simple desktop), and from a sustainability perspective (cutting
Android adrift again isn't acceptable collateral damage to make it
easier to backport things to last year's Ubuntu release).
But then again, I don't even know what I'm NAKing here ... ? The
original email just lists a proposal to break a ton of things, with
proposed replacements which aren't technically viable, and it's not
clear why? Can we please have some more details and some reasoning
behind them?
I don't mind that userspace (compositor, protocols, clients like Mesa
as well as codec APIs) need to do a lot of work to support the new
model. I do really care though that the hard-binary-switch model works
fine enough for AMD but totally breaks heterogeneous systems and makes
it impossible for userspace to do the right thing.
Well how the handling for new Android, distributions etc... is going to
look like is a completely different story.
And I completely agree with both Daniel Vetter and you that we need to
keep this in mind when designing the compatibility with older software.
For Android I'm really not sure what to do. In general Android is
already trying to do the right thing by using explicit sync, the problem
is that this is build around the idea that this explicit sync is
syncfile kernel based.
Either we need to change Android and come up with something that works
with user fences as well or we somehow invent a compatibility layer for
syncfile as well.
Regards,
Christian.
Cheers,
Daniel