Steps: 1. Launch Weston 2. Launch Weston-terminal 3. Press <f11> for fullscreen 4. Execute terminal from fullscreen: weston-terminal 5. Activate exposay 6. Deactivate exposay 7. Observe surfaces does not render correctly. See attached video. Software Stack wayland (HEAD) 1.3.92-0-gc102c20 drm (HEAD) libdrm-2.4.50-0-g4c5de72 mesa (HEAD) remotes/origin/10.0-0-g3a62718 libva (HEAD) libva-1.2.1-0-g88ed1eb intel-driver (HEAD) 1.2.1-0-g8f306e3 weston (HEAD) 1.3.92-0-gb637a40
Created attachment 92005 [details] exposay_fullscreen
I can reproduce this on the drm backend, but on x11 it works just fine.
There's no corruption when running on the drm backend with the pixman renderer either. So it only seems to happen on the drm backend with the egl renderer.
Some more hints: launch weston-terminal, fullscreen it, type weston-terminal and hit enter, press mod goes to exposay with a black background (and screen corruption in the drm compositor), but launch weston-terminal, fullscreen it, type weston-terminal and hit enter, press mod+tab twice, press mod goes to exposay with a normal background (and no screen corruption) This seems related to the fullscreen black views, though I haven't figured out why it happens in the first case but not in the second yet.
Commenting here so nobody duplicates work... I have a fix for this but I've found a few more somewhat related bugs and I'm trying to find a solution that suites every problem.
commit 9e7c7598aa44a9caaa5ebd525426623e8e86880e Author: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> Date: Thu Jan 30 14:01:10 2014 +0100 desktop-shell: Properly handle lowered fullscreen surfaces lower_fullscreen_surface() was removing fullscreen surfaces from the fullscreen layer and inserting them in the normal workspace layer. However, those fullscreen surfaces were never put back in the fullscreen layer, causing bugs such as unrelated surfaces being drawn between a fullscreen surface and its black view. Change the lower_fullscreen_surface() logic so that it lowers fullscreen surfaces to the workspace layer *and* hides the black views. Make this reversible by re-configuring the lowered fullscreen surface: when it is re-configured, the black view will be shown again and the surface will be restacked in the fullscreen layer. https://bugs.freedesktop.org/show_bug.cgi?id=73575 https://bugs.freedesktop.org/show_bug.cgi?id=74221 https://bugs.freedesktop.org/show_bug.cgi?id=74222
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.