yshui / picom

A lightweight compositor for X11
Other
3.92k stars 576 forks source link

The root window is not redrawn when changing the background #1247

Closed ortango closed 2 months ago

ortango commented 2 months ago

Platform

archlinux amd64

GPU, drivers, and screen setup

GL_RENDERER   = AMD Radeon RX 6800 XT (radeonsi, navi21, LLVM 17.0.6, DRM 3.57, 6.8.7-arch1-1)
GL_VERSION    = 4.6 (Compatibility Profile) Mesa 24.0.5-arch1.1

Environment

window manager: bspwm

picom version

tested on current HEAD; cf08a3b (issue exists since 5baec46)

Diagnostics **Version:** vgit-24aa1 ### Extensions: * Shape: Yes * RandR: Yes * Present: Present ### Misc: * Use Overlay: Yes * Config file used: /dev/null ### Drivers (inaccurate): AMDGPU, Radeon ### Backend: glx * Driver vendors: * GLX: Mesa Project and SGI * GL: AMD * GL renderer: AMD Radeon RX 6800 XT (radeonsi, navi21, LLVM 17.0.6, DRM 3.57, 6.8.7-arch1-1) * Accelerated: 1 ### Backend: egl * Driver vendors: * EGL: Mesa Project * EGL driver: radeonsi * GL: AMD * GL renderer: AMD Radeon RX 6800 XT (radeonsi, navi21, LLVM 17.0.6, DRM 3.57, 6.8.7-arch1-1)

Configuration:

Configuration file ``` backend = glx; ```

Steps of reproduction

  1. start picom with glx backend and v2 renderer
  2. change root window pixmap

Expected behavior

damage is added on that root window and redrawn with the new pixmap

Current Behavior

root window is only updated under windows

Stack trace

OpenGL trace

I'll add a trace, or a chunk of one, if it would be helpful.

Other details

since 5baec46, when using the v2_renderer the root window image is not updated when it is changed (except under any windows present).

I am using setroot(uses XSetWindowBackgroundPixmap) to change background colors. That commit doesn't have v2 renderer enabled so, PICOM_DEBUG="v2_renderer" picom --conf /dev/null --backend glx

following is a video how how the issue presents while changing background color at an interval.

picom-5baec46.webm

vp1981 commented 2 months ago

Hello.

Similar issue here: Archlinux x86_64, awesome-git with background managed by awesome. I'm currently on commit cf08a3b7, but 2efd2c84 seemed work fine.

Here what I see in my case: 2024-04-25-132444_1920x1080_scrot

The gkrellm on the screenshot has transparent background and updates it every second, but the other parts of the screen are updated only if I open a window on full screen.

llc0930 commented 2 months ago

Today I upgraded from 8bd4132 to cf08a3b and noticed this issue. So I rolled back to 7d0f2da based on 5baec46 mentioned by ortango. Yes, the issue with the root window not redrawing is fixed, but the issue in the video (vgit-92105) started bothering me, the issue started happening in 9210536, and seems to be fixed in commits after 7d0f2da... so now I'm stuck on 3cd107a.

https://github.com/yshui/picom/assets/14966910/28b273da-9dc5-44fc-bc8d-0afe7e3fdba2

yshui commented 2 months ago

Sorry this is because of an oversight of me. Should be fixed now.