Bug 83502 - Fullscreen windows of X applications become black
Summary: Fullscreen windows of X applications become black
Status: RESOLVED FIXED
Alias: None
Product: Wayland
Classification: Unclassified
Component: XWayland (show other bugs)
Version: unspecified
Hardware: All All
: medium normal
Assignee: Wayland bug list
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-04 14:10 UTC by Ryo Munakata
Modified: 2014-11-21 13:18 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Ryo Munakata 2014-09-04 14:10:55 UTC
If you make a X application running on Weston and Xwayland a fullscreen, it displays black screen.

I bisected and the first bad commit seems to be:
6458ec3410b5ce3daa3c3af9c4d19248817e244a is the first bad commit
commit 6458ec3410b5ce3daa3c3af9c4d19248817e244a
Author: Jasper St. Pierre <jstpierre@mecheye.net>
Date:   Fri Apr 11 16:00:31 2014 -0700

    shell: Centralize management of sending configure requests

    Currently, there's a giant bug in how xdg-shell state management
    is done. If a client calls set_fullscreen and then set_maximized,
    it will get two configure events:

      => set_fullscreen
      <= configure(800, 600, [STATE_FULLSCREEN])

      => set_maximized
      <= configure(800, 560, [STATE_FULLSCREEN, STATE_MAXIMIZED])

    Since fullscreen takes precedence over maximized, the client will
    render full-screen at 800x600 first, and then 800x560 next. As
    a result, the surface gets the wrong size.

    This is because the code that sends out configure requests is
    "immediate" -- when an app calls set_maximized, we immediately
    send out the configure event that would have happened if we
    transitioned immediately into maximized mode.

    In wl_shell, this is correct behavior. However, in xdg-shell,
    this is wrong. State needs to be more carefully managed in
    xdg-shell, as states aren't exclusive.

    Pull all the code that sends out configure events out and send
    them centrally, based on Weston's on surface state management.
    This should work with both wl_shell and xdg_shell's strategies.

:040000 040000 4d1b2ccda8fac9dd6bcf12ac4631646ca08b860e a22d3b0d75a9bed09beace451d3e890f0b705650 M      desktop-shell
Comment 1 Ryo Munakata 2014-09-04 14:34:25 UTC
I originally encountered this bug with chromium and evince.
1.5.0 is fine at least.
Comment 2 William Light 2014-10-18 22:43:43 UTC
This is happening for me under weston 1.6.0 and Xwayland 1.16.1.
Comment 3 Marek Chalupa 2014-10-29 12:46:42 UTC
Hi,

Posted a fix for this bug:
http://lists.freedesktop.org/archives/wayland-devel/2014-October/017947.html

Regards,
Marek
Comment 4 Pekka Paalanen 2014-11-21 13:18:28 UTC
commit e9fe46745302e4add242078d00408ef6ecae3fb6
Author: Marek Chalupa <mchqwerty@gmail.com>
Date:   Wed Oct 29 13:44:44 2014 +0100

    xwayland: fix fullscreening

Marking as fixed.


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.