[Bug 90836] Ksnapshot (KDE) broken when using xf86-video-intel-2.99.916 + DRI3

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Jun 5 13:03:35 PDT 2015


https://bugs.freedesktop.org/show_bug.cgi?id=90836

--- Comment #12 from Chris Wilson <chris at chris-wilson.co.uk> ---
(In reply to Loïc Yhuel from comment #11)
> (In reply to Chris Wilson from comment #9)
> Great, I can confirm the issue is fixed :)
> 
> (In reply to Chris Wilson from comment #8)
> > (In reply to Loïc Yhuel from comment #5)
> > > (In reply to Chris Wilson from comment #4)
> > > > Let's narrow down the reproduction steps then. How do you have kwin
> > > > configured?
> > > Compositing type : OpenGL 2.0
> > > Tearing Prevention : Full scene repaints
> > > IIRC with this config and DRI3, kwin uses the GLX_EXT_buffer_age extension
> > > (this is why I enable DRI3, else I have to choose between tear-free and
> > > performance when I use two screens).
> > 
> > Note that there a few caveats here. GLX_EXT_buffer_age in the client without
> > support in mesa means that damage is not propagated back to the display
> > server so that if you are using vnc, or udl, or something else like that it
> > only sees full screen repaints and is so much slower than expected.
> With Wayland, there would be EGL_EXT_swap_buffers_with_damage, I guess
> something like this could be useful on GLX.

And even trivial to implement. 

> > The other caveat is that DRI3 does not support single CRTC flipping like
> > DRI2. That is you cannot have a single fullscreen application on one CRTC
> > updating independently with the second screen (e.g. having a game/video on
> > the primary monitor whilst reading email on the second). In this case DRI3
> > forces both screens to flip (and the compositor to repaint as required to
> > correct damage), whereas ideally we would only update the single active CRTC
> > and not touch the idle CRTC/buffer at all.
> I don't think kwin supports flipping a single CRTC, else I wouldn't see any
> performance difference in animations on the primary monitor when I plug the
> second one.

All that is required is for the compositor to unredirect the single-monitor
"fullscreen" app.

> Anyway, I need to set kwin to "full scene repaints" to avoid tearing, with
> DRI3 it does in fact partial repaints using GLX_EXT_buffer_age, which is
> faster than real full screen repaints with DRI2.

Yes. As above, GLX_EXT_buffer_age can easily be done with DRI2 as well. I am
just warning that GLX_EXT_buffer_age without a "GLX_MESA_swap_with_damage"
extension has performance issues with PRIME setups or other extended desktop
techniques(like VNC, screen capture).

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are on the CC list for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20150605/edeeebc4/attachment-0001.html>


More information about the intel-gfx-bugs mailing list