! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Compositor and Vblank issues with Git


Description Ali Akcaagac 2017-06-29 19:59:52 CEST
I've been testing recent changes in Xfwm4 (Git) and realized that some VBlank code got removed (or replaced by gdk_vblank calls. I am not really 100% sure but since then I've having a lot of artifacts and stuttering issues here.


1) Moving Windows around sometimes cause flickering and radom overlay with "artifact" graphics. They disappear a moment later but are annoying nonetheless.
2) Watching movies (on an external connected display) gives stuttering. The continous flow of playback sometimes looks like a "strobo" effect.

Could this happen now that the VBlank code has been removed ?
Comment 1 Ali Akcaagac 2017-06-29 20:19:52 CEST
I can confirm that I used to have vblank syncing enabled in previous Xfwm4 settings and that I had smooth playback when moving windows and watching movies (with compositor enabled).

Just had a few other tests. Movies and Webinars that used to playback smoothly are now heavily stuttering. I ended up disabling the compositor to get a smooth playback again.
Comment 2 Olivier Fourdan editbugs 2017-06-29 21:41:51 CEST
The vblank code up to 4.12 was a bad joke, it has never worked, it just cannot work, merging that code was a mistake in the first place. In it worked for you, it simply mens that you didn't need vblank at all.
Comment 3 Ali Akcaagac 2017-06-29 22:20:44 CEST
If you allow, I would like to have a few more tests, whether this is really related to the vblank code removal or if it might be a regression with some (normal) system updates that came in yesterday / today. I will report back shortly...
Comment 4 Ali Akcaagac 2017-06-29 22:23:57 CEST
Btw: There are some remaining bits left:

settings.c Line 769 "sync_to_vblank"
defaults/defaults Line 55 "sync_to_vblank"

I think they might be subject for removal as well ? (question)
Comment 5 Ali Akcaagac 2017-06-30 10:28:47 CEST
Comming back to the issue here:

Ok... how do I explain this ?

Today I recompiled Xfwm 4.13.0 from release tarball. Basicly a situation as I had for the past 3 months (since it got released). In this condition the system used to work normally. No stuttering in video playback or "artifacts" when moving transparent windows... (compositor turned on).

Unfortunately I'm still having stuttering in video-playback and "artifacts" when moving transparent windows (compositor turned on).

So the regression must be within one of the updates that came along with Fedora update the past 1-2 days. Either it's the new kernel 4.11.7, linux-firmware or Gtk3 and Gtk2. I will verify this and report back.


There is still one artifact left (which has shown up since Xfce 4.13.0 (and wasn't there with Xfce 4.12.x) with compositor on. For this test I've disabled the loading of Xfdesktop to show what I will get after Xfwm 4.13.0 get load up (compositor enabled) and how it slashes the wallpaper. Loading up Xfdesktop afterwards correct wallpaper again. But since this wasn't the case with Xfwm 4.12.x I therefore believe this may be a regression.

Please have a look at the screenshot.
Comment 6 Ali Akcaagac 2017-06-30 10:39:04 CEST
Created attachment 7207 
Xfwm 4.13.0 with Xfdesktp disabled right after loging into the desktop
Comment 7 Ali Akcaagac 2017-06-30 10:41:33 CEST
Created attachment 7208 
Xfwm 4.13.0 with Xfdesktp disabled right after loging into the desktop

Another note:

This artifact (at the beginning after the logging in) doesn't happen, if compositor is turned off.. Also note, that I am unable to compile "xpresent" support into Xfwm 4.13.x because Fedora-26 (the upcoming distro) only provides xpresent 1.0.0 but Xfwm 4.13.x requests xpresent >= 1.1
Comment 8 Olivier Fourdan editbugs 2017-06-30 13:20:26 CEST
Xpresent works fine and is now the preferred method, however many distributions fail to ship libXpresent built with an up-to-date xpresent-proto meaning that Xpresent will just hang on those (broken) builds. xfwm4 in git has a mechanism to detect taht in git master, but that means that neither Xpresent nor GL is actually usable on those.
Comment 9 Ali Akcaagac 2017-06-30 16:14:21 CEST
(In reply to Olivier Fourdan from comment #8)
> Xpresent works fine and is now the preferred method, however many distributions fail to ship libXpresent 
> built with an up-to-date xpresent-proto meaning that Xpresent will just hang on those (broken) builds.

I see... I think I can open an RFE @ Fedora to ship an more recent Xpresent library.

But coming back to this issue right now...

I spent the whole morning (until 1 hour or so ago) rolling back the system to a previous state and then updating the packages one by one...

Things that I can tell so far:

1) After rolling back to a previous state and updating all recent packages (was just kernel, gtk2/gtk3, linux-firmware) I then installed Xfce 4.12.x that came shipped with Fedora 26.

Result: Everything works

2) From there on I re-installed all my self compiled RPM's including all 4.13.x releases (but with Xfconf still @ 4.12.x)

Result: Everything works

3) I started recompiling all of the packages (released tar files from Xfce 4.13.x) with Xfconf 4.13.x (this includes also the xfce4-panel gdbus rebase from ochosi).

Result: Everything works (this includes Xfwm4 4.13.0 as release tar file).

---- Until here that's the system as I had it running before the refreshing/blanking issue (or micro freezes) happened ----

The only difference was, that I compiled a few programs from Git because they had some improvments that I believed to benefit from.

Xfwm4 (Hoped that the artifacts in compositor when logging in disappeared)
Xfdesktop (CSS adjustments)
Thunar (some segfault fixes)
Ristretto (gdbus port patch from b.x.o)
xfce4-sessions (new hybrid sleeping tests).
xfce4-terminal (the usual stuff since last release)

What I did was I then believed that one of these Git packages could have been the cause for the above named issues (vblank, micro freezes etc.)

I re-compiled from Git Xfwm4 and Xfdesktop... Installed and rebooted the sysem.

Result: Everything works as expected. No freezes, no vblank issues nothing.

I then recompiled Thunar and Ristretto...

Result: Everything works as expected... No hickups...

Then I ended up beliieving that the changes in xfce4-power-manger might be the cause of the problems...Like some code changes that cause the system to slow down, or cause some hickups here with refreshing the screen vblank or wahtever...

But after re-compiling Power-Manager and xfce4-sessions everything worked normally... No issues.

So I am stuck now... The system ended up being the same as the backup I made yesterday.. Same files, same Handful of extra stuff from Git... No further changes...

I then trashed this "test installaton" and wrote back the backup from yesterday (same state but cleaned up)...

Micro flickering and vblank issues are back...

But these "vblank" issues or "flickering" or "overlay content from windows below when moving windows with transparency (as the other person in the other bugreport mentioned) are exactly the things I noticed here too...

I will investigate further and report back...
Comment 10 Ali Akcaagac 2017-07-02 21:48:22 CEST
I'd like to report back!

I got xfwm4 git running with xpresent for a while now.

- No Tearing
- No Stuttering
- No VBlank issues
- No Artifacts when moving windows

In fact, it even feels smoother and more responsive (subjective).

Although I've been getting artifacts every now and then (not always anymore as it used to be), when logging from lightm inside xfce4. But as soon as xfdesktop loads, the artifacts are gone.

So far everything works smootly.
Comment 11 Ali Akcaagac 2017-07-20 13:49:03 CEST
Created attachment 7234 
xpresent-proto version downgrade

I'd like to store a patch (online) here that version downgrades xpresent-proto back to 1.0 (rather than 1.1) to satisfy the Fedora package.

Bug #13696

Reported by:
Ali Akcaagac
Reported on: 2017-06-29
Last modified on: 2020-05-26


Olivier Fourdan
CC List:
1 user




Additional information