Fullscreen GL applications aren't visible with Xwayland, or there's a panel on top (under Weston)
Submitted by Eero Tamminen
Assigned to Wayland bug list
Link to original bug (#106734)
Description
Setup:
- Skylake i5 (BXT had same issue too)
- Git versions of:
- kernel (support atomic modesetting)
- X server / Xwayland
- Mesa
- Weston (latest releases may be enough, but hasn't been tested)
- New enough dependencies for above, so that modifiers are supported
- GL application supporting fullscreen in both X and Wayland:
# apt install glmark2 glmark2-wayland
Test-case:
- Start Weston with
--xwayland
- Start fullscreen Wayland GL application:
glmark2-wayland --fullscreen
- Start fullscreen X GL application:
glmark2 --fullscreen
- Start windowed X GL application:
glmark2
Expected outcome:
- Fullscreen X GL application works as well through XWayland, as native Wayland GL applications
Actual outcome:
- Wayland GL application fullscreen window works fine
- X GL application fullscreen window never becomes visible
- Or with some applications, it appears on random runs, after random delay, but with Weston panel on top of it instead of as fullscreen
- Windowed X GL application windows work fine
Notes:
- Same thing regardless of whether application uses GLES or GL, glX or EGL
- With some fullscreen GL benchmarks, the window appears after a while, but in that case it's below the Weston panel i.e. not really fullscreen
- Whether and when the (non-fullscreen) window appears seems completely random
- I've seen this most reliably with Ungine Heaven and Valley benchmarks
I haven't tried XWayland before, but I assume it must be a regression.
Xprop and Xwininfo report following for the running invisible glmark2 window:
---------------------
_NET_WM_DESKTOP(CARDINAL) = 0
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW
WM_NAME(STRING) = "glmark2 2014.03+git20150611.fa71af2d"
_NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN
---------------------
Absolute upper-left X: 0
Absolute upper-left Y: 0
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 1920
Height: 1080
Depth: 24
Visual: 0x24
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x400001 (not installed)
Bit Gravity State: ForgetGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +0+0 -0+0 -0-0 +0-0
-geometry 1920x1080+0+0
---------------------
(This was on FullHD monitor.)
Edited by Daniel Stone