moosotc@xxxxxxxxx writes: > Hello, > > By default tearing is evident when running full-screen OpenGL > applications such as [1] or playing one of the numerous tearing test > videos from youtube in mpv (with mpv's xv, opengl or vaapi video output > drivers, I guess glamor implements xv via OpenGL so no surprise there). > > By accident I've discovered that enabling frame buffer compression > (i915's enable_fbc parameter) before X is started stops tearing. > > There are ways to get tearing again though, for instance: if full-screen > OpenGL window is present, being constantly redrawn and window in an > override redirect state[2] is mapped atop of it. Tear free operation can > be restored in my setup by playing with xrandr ("xrandr -x; xrandr -x" > for instance) or switching to a spare VT and then back to X. > > The full-screen+override-redirect way of "enabling tearing" works for > normal and inverted orientations (xrandr -o [normal|inverted]) but not > reflected or left|right rotated. > FWIW thea above method of "enabling tearing" does not work if LIBGL_DRI3_DISABLE was set prior to running offending applications (mpv or sdl2.c) IOW tearing is defeated. Leaves big fat "wtf?" question open though. Several questions are open in fact: Why tearing avoidance via enable_fbc works and what other effects (other than tainting kernel) does it have? Why override-redirect windows cause tearing when DRI3 is used? Why having the screen reflected, left right rotated defeats tearing even with DRI3? Why does "xrandr -y; xrandr -y" after tearing begins brings things back to normal? [..snip..] Any insights it would be most appreciated given that using module parameters that taint kernel and setting environment variables that "degrade" (at least in numerical value) supported feature set feel. rather dirty and unscientific as it were. -- mailto:moosotc@xxxxxxxxx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx