Bug 1217786

Summary: On SLowroll picom causes black root screen with the Xorg.bin server using Nvidia GL05
Product: [openSUSE] openSUSE Tumbleweed Reporter: Dr. Werner Fink <werner>
Component: X11 3rd Party DriverAssignee: Mia Herkt <mia>
Status: RESOLVED FIXED QA Contact: Stefan Dirsch <sndirsch>
Severity: Normal    
Priority: P3 - Medium CC: mia, sndirsch, sor.alexei
Version: Current   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE Tumbleweed   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Dr. Werner Fink 2023-12-04 16:42:15 UTC
Starting on the command line or via lxsession (or any other session manager) the
picom command shows a) a blacked root screen as well as b) 100% load of the Xorg.bin server on one CPU and c) endless scrolling error messages:


[ 12/04/23 17:36:58.847 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1001181
[ 12/04/23 17:36:58.849 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1001272
[ 12/04/23 17:36:58.850 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1001363
[ 12/04/23 17:36:58.851 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1001454
[ 12/04/23 17:36:58.853 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1001545
[ 12/04/23 17:36:58.854 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1001636
[ 12/04/23 17:36:58.855 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1001727
[ 12/04/23 17:36:58.857 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1001818
[ 12/04/23 17:36:58.858 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1001909
[ 12/04/23 17:36:58.859 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1002000
[ 12/04/23 17:36:58.861 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1002091
[ 12/04/23 17:36:58.862 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1002182
[ 12/04/23 17:36:58.863 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1002273
[ 12/04/23 17:36:58.865 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1002364
[ 12/04/23 17:36:58.866 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1002455
[ 12/04/23 17:36:58.868 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1002546
[ 12/04/23 17:36:58.869 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1002637
[ 12/04/23 17:36:58.871 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1002728
[ 12/04/23 17:36:58.872 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1002819
[ 12/04/23 17:36:58.874 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1002910
[ 12/04/23 17:36:58.875 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1003001
[ 12/04/23 17:36:58.877 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1003092
[ 12/04/23 17:36:58.878 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1003183
[ 12/04/23 17:36:58.880 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1003274
[ 12/04/23 17:36:58.881 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1003365
[ 12/04/23 17:36:58.883 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1003456
[ 12/04/23 17:36:58.884 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1003547
[ 12/04/23 17:36:58.886 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1003638
[ 12/04/23 17:36:58.887 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1003729
[ 12/04/23 17:36:58.889 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1003820
[ 12/04/23 17:36:58.890 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1003911
[ 12/04/23 17:36:58.892 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1004002
[ 12/04/23 17:36:58.893 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1004093
[ 12/04/23 17:36:58.895 x_log_error WARN ] X error 143 RENDER_PICTURE request 139 minor 5 serial 1004190
Comment 1 Dr. Werner Fink 2023-12-04 17:14:13 UTC
https://github.com/yshui/picom/issues/1150
Comment 2 Dr. Werner Fink 2023-12-04 17:31:16 UTC
rpm -e compton-conf compton-conf-lang picom
Comment 3 Dr. Werner Fink 2023-12-04 17:35:19 UTC
There is still a high load

21139 root      20   0  7.072g 0.186g 0.095g R 98.04 1.200   2:25.55 /usr/bin/Xorg.bin -reset -nolisten tcp -background none -seat seat0 vt3 -auth /run/sddm/xauth_GFKjPk -noreset -displayfd 18                                         
21279 werner    20   0  0.005g 0.002g 0.002g S 50.00 0.014   0:46.69 xprop -display :0.0 -root _NET_ACTIVE_WINDOW
Comment 4 Dr. Werner Fink 2023-12-04 17:37:21 UTC
Also seen

28065 werner    20   0  0.013g 0.006g 0.005g R 30.39 0.037   0:30.19 /usr/libexec/at-spi2/at-spi2-registryd --use-gnome-session
Comment 5 Dr. Werner Fink 2023-12-04 17:46:38 UTC
Interesting the xauthority points for the xprop to a not existing file XAUTHORITY=/tmp/xauth_bSpoEY (at least for me)
Comment 6 Dr. Werner Fink 2023-12-04 17:53:48 UTC
Found the cause of the xprop processes ... it is my

  /local/werner/bin/heartbeat

script which detects is a window is in full screen mode and
disable the blank as well as the dpms ... no idea why this
gets the wrong XAUTHORITY settings
Comment 7 Stefan Dirsch 2024-02-09 05:11:19 UTC
I suggest to try OpenGL backend instead of Xrender (default).

# man picom
[...]
       --backend BACKEND
           Specify the backend to use: xrender, glx, or xr_glx_hybrid.
           xrender is the default one.

           •   xrender backend performs all rendering operations with X Render
               extension. It is what xcompmgr uses, and is generally a safe
               fallback when you encounter rendering artifacts or instability.

           •   glx (OpenGL) backend performs all rendering operations with
               OpenGL. It is more friendly to some VSync methods, and has
               significantly superior performance on color inversion
               (--invert-color-include) or blur (--blur-background). It
               requires proper OpenGL 2.0 support from your driver and
               hardware. You may wish to look at the GLX performance
               optimization options below.  --xrender-sync-fence might be
               needed on some systems to avoid delay in changes of screen
               contents.

How to tell this lxsession I don't know. I'm sorry.

Does this help?
Comment 8 Dr. Werner Fink 2024-02-09 07:36:40 UTC
AFAICR I had tried that by using

 ~/.config/picom.conf
 ~/.config/compton.conf

by setting

 backend = "glx";

meanwhile I had simply removed both compton abd picom as I never used transparent and/or rounded windows on by screens.  Also it seems that xsetroot is incompatible with picom (one have to use hsetroot)
Comment 9 Stefan Dirsch 2024-02-09 09:50:01 UTC
Ok. I'm afraid it's related to G05 driver and/or gfx card. I'm afraid we won't see fixes any longer for G05 driver. Thanks for reporting upstream. I'm subscribed to this ticket now.
Comment 10 Stefan Dirsch 2024-02-09 12:06:12 UTC
Upstream claims this has already been resolved.

https://github.com/yshui/picom/issues/1150#issuecomment-1935725788
https://github.com/yshui/picom/pull/984

This came in after v11.1. I suggest to give the patches a try.
Comment 11 Stefan Dirsch 2024-02-09 12:06:49 UTC
Then make a SR if it helps.
Comment 12 Stefan Dirsch 2024-02-09 12:07:22 UTC
Added picom maintainers.
Comment 13 Stefan Dirsch 2024-02-09 12:08:14 UTC
Reassigning to bugowner of picom.
Comment 14 Alexei Sorokin 2024-02-14 16:44:55 UTC
picom 11.2 published in openSUSE Tumbleweed addresses this.