Skip to content
  • Martin Flöser's avatar
    Remove the unredirect fullscreen windows functionality · 996ee34e
    Martin Flöser authored
    Summary:
    Rational: unredirect fullscreen windows is a weird beast. It's intended
    to make fullscreen windows "faster" by not compositing that screen. But
    that doesn't really work as KWin jumps out of that condition pretty
    quickly. E.g. whenever a tooltip window is shown. KWin itself has a
    better functionality by supporting to block compositing completely.
    The complete code was full of hacks around it to try to ensure that
    things don't break.
    
    Overall unredirect fullscreen has always been the odd one. We had it
    because a compositor needs to have it, but it never got truly integrated.
    E.g. effects don't interact with it properly so that some things randomly
    work, others don't. Will it trigger the screenedge, probably yes, but
    will it show the highlight: properly no.
    
    By removing the functionality we finally acknowledge that this mode is
    not maintained and has not been maintained for years and that we do not
    intend to support it better in future. Over the years we tried to make
    it more and more hidden: it's disabled for Intel GPUs, because it used
    to crash KWin. It's marked as an "expert" option, etc.
    
    It's clearly something we tried to hide from the user that it exists.
    
    For Wayland the whole unredirect infrastructure doesn't make sense
    either. There is no such thing as "unredirecting". We might make use
    of passing buffers directly to the underlying stack, but that will be
    done automatically when we know it can be done, not by some magic is
    this a window of specific size.
    
    Test Plan:
    Compiles, cannot really test as I am an Intel user who never
    had that working.
    
    Reviewers: #kwin, #plasma, #vdg
    
    Subscribers: kwin
    
    Tags: #kwin
    
    Differential Revision: https://phabricator.kde.org/D2180
    996ee34e