Description of problem: The patch 0001-composite-Implement-backing-store-Always.patch that is applied to RHEL's xorg-x11-server package introduces a problem when overlays are enabled that causes windows being unmapped to remain visible on the screen, and to clip away rendering of sibling windows. The problem occurs because the patch replaces an assignment pWin->valdata = UnmapValData; with a function call: (*pScreen->MarkWindow) (pWin); This works fine when overlays are not enabled because miMarkWindow doesn't care about this particular value of pWin->valdata. However, when overlays are enabled, pScreen->MarkWindow is actually miOverlayMarkWindow, which does care. When pChild->valdata is not UnmapValData, this function skips setting underlayMarked to TRUE, which causes a subsequent call to miOverlayValidateTree to skip updating the underlay clip list. This causes new windows being mapped later to be clipped against the clip list of windows that were previously unmapped. Version-Release number of selected component (if applicable): xorg-x11-server-Xorg-1.20.1-5.2.el7_6.x86_64 How reproducible: 100% Steps to Reproduce: 1. Install an NVIDIA Quadro GPU and the NVIDIA driver. 2. Configure the X server to use overlays, e.g. with "nvidia-xconfig --overlay" 3. Start an X server. 4. Start a window manager and run an application that creates a top-level window that is not in the overlay. E.g. xlogo. 5. Kill xlogo. 6. Start another copy of xlogo and drag it around the screen. Actual results: At step 5, the first xlogo window does not disappear. At step 6, the second window is clipped against the region where the first xlogo used to be. Expected results: The first xlogo window should disappear when unmapped in step 5. Additional info: I believe we saw this problem originally in https://bugzilla.redhat.com/show_bug.cgi?id=1484125 , but chalked it up to an ABI breakage and didn't dig far enough into the root cause.
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release. Therefore, it is being closed. If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.