picom
picom copied to clipboard
Firefox from v. 117 become laggy scroll
Platform
Gentoo amd64
GPU, drivers, and screen setup
AMD RX 6700 XT, mesa-23.2.0, xf86-video-amdgpu-23.0.0, xf86-video-ati-22.0.0, one LG 24GN600 144 MHz monitor
$ glxinfo -B 13:19
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: AMD (0x1002)
Device: AMD Radeon RX 6700 XT (navi22, LLVM 16.0.6, DRM 3.52, 6.4.12-gentoo) (0x73df)
Version: 23.2.0
Accelerated: yes
Video memory: 12288MB
Unified memory: no
Preferred profile: core (0x1)
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
VBO free memory - total: 11881 MB, largest block: 11881 MB
VBO free aux. memory - total: 15953 MB, largest block: 15953 MB
Texture free memory - total: 11881 MB, largest block: 11881 MB
Texture free aux. memory - total: 15953 MB, largest block: 15953 MB
Renderbuffer free memory - total: 11881 MB, largest block: 11881 MB
Renderbuffer free aux. memory - total: 15953 MB, largest block: 15953 MB
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 12288 MB
Total available memory: 28303 MB
Currently available dedicated video memory: 11881 MB
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon RX 6700 XT (navi22, LLVM 16.0.6, DRM 3.52, 6.4.12-gentoo)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 23.2.0-rc2
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.2.0-rc2
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.2.0-rc2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
Environment
openbox-3.6.1
picom version
$ picom --version
vgit-8cc50
and the same problem with picom-10.2.
Diagnostics
**Version:** vgit-8cc50Extensions:
- Shape: Yes
- RandR: Yes
- Present: Present
Misc:
- Use Overlay: No (Another compositor is already running)
- Config file used: /home/user/.config/picom.conf
Drivers (inaccurate):
AMDGPU, Radeon
Backend: glx
- Driver vendors:
- GLX: Mesa Project and SGI
- GL: AMD
- GL renderer: AMD Radeon RX 6700 XT (navi22, LLVM 16.0.6, DRM 3.52, 6.4.12-gentoo)
- Accelerated: 1
Backend: egl
- Driver vendors:
- EGL: Mesa Project
- EGL driver: radeonsi
- GL: AMD
- GL renderer: AMD Radeon RX 6700 XT (navi22, LLVM 16.0.6, DRM 3.52, 6.4.12-gentoo)
Configuration:
Configuration file
# Shadow
shadow = true;
no-dnd-shadow = true;
no-dock-shadow = true;
#shadow-radius = 7;
#shadow-offset-x = -7;
#shadow-offset-y = -7;
shadow-radius = 15;
shadow-offset-x = -15;
shadow-offset-y = -15;
# shadow-opacity = 0.7;
# shadow-red = 0.0;
# shadow-green = 0.0;
# shadow-blue = 0.0;
shadow-exclude = [
"name = 'Notification'",
"n:w:*VirtualBox*",
"i:e:Conky",
"class_g = 'Cairo-clock'",
"class_g ?= 'Notify-osd'",
"class_g ?= 'VirtualBox'",
"class_g ?= 'Xfce4-notifyd'",
"class_g ?= 'Xfce4-power-manager'",
"class_g ?= 'Xfce4-panel'",
"class_g ?= 'Xfce4-screenshooter'",
"class_g = 'firefox' && argb",
"class_g = 'firefox-esr' && argb",
"class_g = 'Navigator' && window_type = 'utility'",
"name *= 'Telegram' && argb"
];
# shadow-exclude = "n:e:Notification";
# shadow-exclude-reg = "x10+0+0";
# xinerama-shadow-crop = true;
# Opacity
inactive-opacity = 1.0;
# active-opacity = 0.8;
frame-opacity = 1.0;
inactive-opacity-override = false;
alpha-step = 0.06;
# inactive-dim = 0.2;
# inactive-dim-fixed = true;
# blur-background = true;
# blur-background-frame = true;
blur-method = "dual_kawase";
# blur-strength = 15;
blur-kern = "3x3box";
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
# blur-background-fixed = true;
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c",
#"class_g ?= 'dunst'",
"(class_g = 'firefox' || class_g = 'firefox-esr' || class_g = 'Thunderbird') && (window_type = 'utility' || window_type = 'popup_menu') && argb"
];
# opacity-rule = [ "80:class_g = 'URxvt'" ];
# Fading
fading = false;
# fade-delta = 30;
fade-in-step = 0.03;
fade-out-step = 0.03;
# no-fading-openclose = true;
# no-fading-destroyed-argb = true;
fade-exclude = [ ];
# Other
#backend = "xrender";
backend = "glx";
#backend = "egl";
#backend = "legacy-backends";
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = true;
detect-client-opacity = true;
vsync = true;
#refresh-rate = 0;
#dbe = false;
paint-on-overlay = true;
#sw-opti = true;
unredir-if-possible = true;
# unredir-if-possible-delay = 5000;
# unredir-if-possible-exclude = [ ];
focus-exclude = [ "class_g = 'Cairo-clock'" ];
detect-transient = true;
detect-client-leader = true;
#invert-color-include = [ ];
resize-damage = 1;
# GLX backend
#glx-no-stencil = true;
glx-copy-from-front = false;
glx-use-copysubbuffermesa = true;
glx-no-rebind-pixmap = true;
use-damage = true;
xrender-sync = true;
#xrender-sync-fence = true; #
#no-ewmh-fullscreen = true; #
use-ewmh-active-win = true; #
# Do not fade destroyed ARGB windows with WM frame. Workaround bugs in Openbox, Fluxbox, etc.
no-fading-destroyed-argb = true;
# Window type settings
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.9; focus = true; full-shadow = false; };
# dock = { shadow = false; clip-shadow-above = true; }
# dnd = { shadow = false; }
# popup_menu = { shadow = false; }
# dropdown_menu = { shadow = false; }
};
Steps of reproduction
- Run Firefox-117.
- Open a page with lots of images and text, for example https://dymontiger.livejournal.com/19195316.html or https://mobile-review.com/all/articles/newphones/5-glavnyh-smartfonov-avgusta/
- Scroll down and up several times. Scrolling becomes laggy. The bad thing is that the bug can't be reproduced the first time. You need to scroll several times. And one more thing: scrolling does not need to be fast.
Expected behavior
- Run Firefox-115.2 (or 116).
- Open a page with lots of images and text, for example https://dymontiger.livejournal.com/19195316.html or https://mobile-review.com/all/articles/newphones/5-glavnyh-smartfonov-avgusta/
- Scroll down and up several times. Scroll is smoothly.
Current Behavior
Scrolling becomes laggy
Stack trace
None
OpenGL trace
If necessary, I will do it.
Other details
With xfce-4.18 there is no problem. With backend= "xrender" - no lags. With backend = "egl" - same problem.
Correction: with backend= "xrender" - there are also lags.
Later I have been testing and searching for the problem for several hours using mozregression. Found a bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1836668 In the patch https://hg.mozilla.org/mozilla-central/rev/e1c387461f14 I saw a new variable: gfx.x11.glx_sgi_video_sync I changed it in about:config in Firefox to true - and everything started working as before.
Please tell me - is this a problem in Firefox or in Picom? But if in Firefox, then why is there no problem in xfce-4.18? Maybe there is some option in the picom settings that would correspond to this innovation in Firefox?