[PATCH xserver] present: fix msc offset calculation in window mode

Adam Jackson ajax at nwnk.net
Wed May 2 18:58:56 UTC 2018


On Fri, 2018-04-20 at 18:23 +0200, Olivier Fourdan wrote:
> Hi,
> 
> 
> On 20 April 2018 at 18:11, Michel Dänzer <michel at daenzer.net> wrote:
> > On 2018-04-20 05:10 PM, Roman Gilg wrote:
> > > Instead of getting the current msc value from the window, which might be
> > > different to old one directly take the last saved msc value saved in
> > > the window_priv struct.
> > > 
> > > Signed-off-by: Roman Gilg <subdiff at gmail.com>
> > > ---
> > [...[
> > This is working around an issue in xwl_present_get_ust_msc (it doesn't
> > return consistent MSC values for a window which has been unmapped and
> > mapped again). This change might do the wrong thing with another backend
> > which has real CRTCs and returns consistent MSC values for them.
> > 
> > That said, maybe this is the best that can be done to address the
> > immediate issue, but it might be good to at least add a comment saying
> > this is a kludge which should be revisited after 1.20.
> 
> Unfortunately, contrary to my initial tests, the black window still occurs randomly even with that patch applied.
> 
> I won't be available to investigate that next week, so for anyone willing to reproduce:
> 
> 1. Install skypeforlinux
> 2. run skypeforlinux, open the menu, etc.
> 3. close the window (the client actually keeps running in the background)
> 4. reopen the window by running “skypeforlinux” again from the command line
> 
> → The window shows up as a black frame for a random amount of seconds, before the content becomes visible.

I was able to reproduce this scenario _without_ this patch; with it,
I'm having much more trouble. So probably this is still not quite
perfect, but the change is an improvement, so, merged:

remote: I: patch #218107 updated using rev 22285a6f1c5fa6ba22f4214c4ccc09e27d1925f6.
remote: I: 1 patch(es) updated to state Accepted.
To ssh://git.freedesktop.org/git/xorg/xserver
   d7297b0044..22285a6f1c  master -> master

I'll push out 1.20 shortly, I think things are about as well-baked as
they're going to get. We can always do stable releases if we need them.

- ajax


More information about the xorg-devel mailing list