Re: [git pull] drm for 5.8-rc1

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

 



On Fri, Aug 14, 2020 at 7:17 PM Daniel Stone <daniel@xxxxxxxxxxxxx> wrote:
>
> Hi,
>
> On Fri, 14 Aug 2020 at 17:22, Thierry Reding <thierry.reding@xxxxxxxxx> wrote:
> > I suspect that the reason why this works in X but not in Wayland is
> > because X passes the right usage flags, whereas Weston may not. But I'll
> > have to investigate more in order to be sure.
>
> Weston allocates its own buffers for displaying the result of
> composition through GBM with USE_SCANOUT, which is definitely correct.
>
> Wayland clients (common to all compositors, in Mesa's
> src/egl/drivers/dri2/platform_wayland.c) allocate with USE_SHARED but
> _not_ USE_SCANOUT, which is correct in that they are guaranteed to be
> shared, but not guaranteed to be scanned out. The expectation is that
> non-scanout-compatible buffers would be rejected by gbm_bo_import if
> not drmModeAddFB2.
>
> One difference between Weston and all other compositors (GNOME Shell,
> KWin, Sway, etc) is that Weston uses KMS planes for composition when
> it can (i.e. when gbm_bo_import from dmabuf + drmModeAddFB2 from
> gbm_bo handle + atomic check succeed), but the other compositors only
> use the GPU. So if you have different assumptions about the layout of
> imported buffers between the GPU and KMS, that would explain a fair
> bit.

Yeah non-modifiered multi-gpu (of any kind) is pretty much hopeless I
think. I guess the only option is if the tegra mesa driver forces
linear and an extra copy on everything that's USE_SHARED or
USE_SCANOUT.

> > Perhaps we can go and release X 1.21.0 with that modifier enablement
> > patch and that'll motivate desktops to adopt it as well as the default?
>
> Unfortunately we don't really have a good way out of this one. They
> were disabled because the non-modifier path on Intel can be linear or
> X-tiled (row-major), whereas the modifier path enables Y-tiled
> (column-major) and compressed layouts. Y-tiled is the most efficient,
> but Intel could only spare about six transistors for the global FIFO
> shared between all their plane fetch engines, and Y-tiled blows
> straight through it. Both X and Shell would thus fail to enable high
> resolutions or many heads (2x 4K is enough even on modern platforms
> IIRC), so they just turned modifiers off.
>
> The best solution would be to do a global atomic_check across all
> outputs and just blacklist modifiers until you find one which works,
> but Shell doesn't yet have that code, and -modesetting ... well,
> no-one's volunteered to do that yet, or probably ever.

Yeah best bet for modifiered X is Xwayland on top of weston right now :-/
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux