Details
-
Bug
-
Resolution: Invalid
-
P2: Important
-
None
-
5.6
-
None
-
QtWayland 5.6 branch with HEAD at 759822f33f56acb3e2bacf19c6431ea4fa2be229
Description
When creating a QWidget based scene with a nested QWindow it might happen that the sub-surface gets rendered before the parent is rendered and mapped. This results in a freeze because Mesa waits for the frame callback.
Easy step to reproduce:
kcmshell5 kwineffects
Freeze behavior confirmed with KWin 5.7 and unpublished subcompositor patches and Weston.
Backtrace of freeze (running on Weston):
Thread 4 (Thread 0x7fc4eeb6f700 (LWP 10904)):
#0 0x00007fc5015fee4d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007fc4fb0ea1cc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fc4fb0ea2dc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fc50241266b in QEventDispatcherGlib::processEvents (this=0x7fc4e80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:419
#4 0x00007fc5023be43a in QEventLoop::exec (this=this@entry=0x7fc4eeb6eca0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5 0x00007fc5021f87bc in QThread::exec (this=this@entry=0x7fc5051e5e20 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:503
#6 0x00007fc505177245 in QDBusConnectionManager::run (this=0x7fc5051e5e20 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:181
#7 0x00007fc5021fd369 in QThreadPrivate::start (arg=0x7fc5051e5e20 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:340
#8 0x00007fc4ff988454 in start_thread (arg=0x7fc4eeb6f700) at pthread_create.c:334
#9 0x00007fc501607edd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 3 (Thread 0x7fc4e6662700 (LWP 10905)):
#0 0x00007fc5015fee4d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007fc4fb0ea1cc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fc4fb0ea2dc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fc50241264f in QEventDispatcherGlib::processEvents (this=0x7fc4e00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#4 0x00007fc5023be43a in QEventLoop::exec (this=this@entry=0x7fc4e6661cb0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5 0x00007fc5021f87bc in QThread::exec (this=this@entry=0x17981c0) at thread/qthread.cpp:503
#6 0x00007fc500ad10c5 in QQmlThreadPrivate::run (this=0x17981c0) at qml/ftw/qqmlthread.cpp:141
#7 0x00007fc5021fd369 in QThreadPrivate::start (arg=0x17981c0) at thread/qthread_unix.cpp:340
#8 0x00007fc4ff988454 in start_thread (arg=0x7fc4e6662700) at pthread_create.c:334
#9 0x00007fc501607edd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 2 (Thread 0x7fc4dfd4e700 (LWP 10906)):
#0 0x00007fc5015fee4d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007fc4f3fdd618 in poll (__timeout=-1, __nfds=1, __fds=0x7fc4dfd4d650) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2 wl_display_dispatch_queue (display=0x15641a0, queue=0x166c650) at ../src/wayland-client.c:1574
#3 0x00007fc4f46ed92b in get_back_bo (dri2_surf=dri2_surf@entry=0x7fc4d80033a0) at ../../../../src/egl/drivers/dri2/platform_wayland.c:335
#4 0x00007fc4f46ee0a4 in update_buffers (dri2_surf=dri2_surf@entry=0x7fc4d80033a0) at ../../../../src/egl/drivers/dri2/platform_wayland.c:450
#5 0x00007fc4f46ee0f4 in image_get_buffers (driDrawable=<optimized out>, format=<optimized out>, stamp=<optimized out>, loaderPrivate=0x7fc4d80033a0, buffer_mask=<optimized out>, buffers=0x7fc4dfd4d750)
at ../../../../src/egl/drivers/dri2/platform_wayland.c:569
#6 0x00007fc4e7206b4b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#7 0x00007fc4e7206ea1 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#8 0x00007fc4e71f8b90 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#9 0x00007fc500d2e016 in QSGBatchRenderer::Renderer::renderBatches (this=this@entry=0x7fc4d8004d20) at scenegraph/coreapi/qsgbatchrenderer.cpp:2475
#10 0x00007fc500d337bc in QSGBatchRenderer::Renderer::render (this=<optimized out>) at scenegraph/coreapi/qsgbatchrenderer.cpp:2697
#11 0x00007fc500d3f0bf in QSGRenderer::renderScene (this=0x7fc4d8004d20, bindable=...) at scenegraph/coreapi/qsgrenderer.cpp:217
#12 0x00007fc500d3f8eb in QSGRenderer::renderScene (this=<optimized out>, fboId=<optimized out>) at scenegraph/coreapi/qsgrenderer.cpp:177
#13 0x00007fc500d4f35e in QSGRenderContext::renderNextFrame (this=0x1797a20, renderer=0x7fc4d8004d20, fboId=<optimized out>) at scenegraph/qsgcontext.cpp:555
--Type <return> to continue, or q <return> to quit--
#14 0x00007fc500d940b9 in QQuickWindowPrivate::renderSceneGraph (this=this@entry=0x1671710, size=...) at items/qquickwindow.cpp:424
#15 0x00007fc500d67dba in QSGRenderThread::syncAndRender (this=this@entry=0x196ef30) at scenegraph/qsgthreadedrenderloop.cpp:623
#16 0x00007fc500d6d16c in QSGRenderThread::run (this=0x196ef30) at scenegraph/qsgthreadedrenderloop.cpp:704
#17 0x00007fc5021fd369 in QThreadPrivate::start (arg=0x196ef30) at thread/qthread_unix.cpp:340
#18 0x00007fc4ff988454 in start_thread (arg=0x7fc4dfd4e700) at pthread_create.c:334
#19 0x00007fc501607edd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 1 (Thread 0x7fc504fef900 (LWP 10903)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007fc5021fe10b in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x197d0d0) at thread/qwaitcondition_unix.cpp:136
#2 QWaitCondition::wait (this=<optimized out>, mutex=0x196ef70, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208
#3 0x00007fc500d69e44 in QSGThreadedRenderLoop::polishAndSync (this=this@entry=0x162e1b0, w=<optimized out>, w@entry=0x19a8b10, inExpose=inExpose@entry=true) at scenegraph/qsgthreadedrenderloop.cpp:1177
#4 0x00007fc500d6be6e in QSGThreadedRenderLoop::handleExposure (this=this@entry=0x162e1b0, window=window@entry=0x1657ba0) at scenegraph/qsgthreadedrenderloop.cpp:973
#5 0x00007fc500d6c4ab in QSGThreadedRenderLoop::exposureChanged (this=0x162e1b0, window=0x1657ba0) at scenegraph/qsgthreadedrenderloop.cpp:884
#6 0x00007fc50271365b in QWindow::event (this=this@entry=0x1657ba0, ev=ev@entry=0x7ffd99d69280) at kernel/qwindow.cpp:2096
#7 0x00007fc500d9d865 in QQuickWindow::event (this=0x1657ba0, e=0x7ffd99d69280) at items/qquickwindow.cpp:1473
#8 0x00007fc502d1ec3c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x1657ba0, e=0x7ffd99d69280) at kernel/qapplication.cpp:3714
#9 0x00007fc502d23af6 in QApplication::notify (this=0x7ffd99d69680, receiver=0x1657ba0, e=0x7ffd99d69280) at kernel/qapplication.cpp:3495
#10 0x00007fc5023c0138 in QCoreApplication::notifyInternal2 (receiver=receiver@entry=0x1657ba0, event=event@entry=0x7ffd99d69280) at kernel/qcoreapplication.cpp:1015
#11 0x00007fc502709eb7 in QCoreApplication::sendSpontaneousEvent (event=0x7ffd99d69280, receiver=0x1657ba0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:230
#12 QGuiApplicationPrivate::processExposeEvent (e=0x19800f0) at kernel/qguiapplication.cpp:2732
#13 0x00007fc50270a9bd in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x19800f0) at kernel/qguiapplication.cpp:1714
#14 0x00007fc5026e938b in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:645
#15 0x00007fc4f467b4f0 in userEventSourceDispatch (source=<optimized out>) at eventdispatchers/qeventdispatcher_glib.cpp:70
#16 0x00007fc4fb0e9fd7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007fc4fb0ea230 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007fc4fb0ea2dc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007fc50241264f in QEventDispatcherGlib::processEvents (this=0x15e4530, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#20 0x00007fc5023be43a in QEventLoop::exec (this=this@entry=0x7ffd99d69540, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#21 0x00007fc5023c64ed in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1285
#22 0x00007fc504dc31a0 in kdemain (_argc=2, _argv=0x7ffd99d69fa8) at /home/martin/src/kf5/kde/workspace/kde-cli-tools/kcmshell/main.cpp:294
#23 0x0000000000400988 in main (argc=2, argv=0x7ffd99d69fa8) at /opt/build/kf5/kde/workspace/kde-cli-tools/kcmshell/kcmshell5_dummy.cpp:3
Output with WAYLAND_DEBUG=1:
[3074577.488] -> wl_display@1.get_registry(new id wl_registry@2)
[3074577.607] -> wl_display@1.sync(new id wl_callback@3)
[3074577.802] wl_display@1.delete_id(3)
[3074577.839] wl_registry@2.global(1, "wl_compositor", 3)
[3074577.866] -> wl_registry@2.bind(1, "wl_compositor", 3, new id [unknown]@4)
[3074577.891] wl_registry@2.global(2, "wl_subcompositor", 1)
[3074577.910] -> wl_registry@2.bind(2, "wl_subcompositor", 1, new id [unknown]@5)
[3074577.934] wl_registry@2.global(3, "wl_scaler", 2)
[3074577.951] wl_registry@2.global(4, "presentation", 1)
[3074577.967] wl_registry@2.global(5, "wl_data_device_manager", 2)
[3074577.985] -> wl_registry@2.bind(5, "wl_data_device_manager", 1, new id [unknown]@6)
[3074578.006] wl_registry@2.global(6, "wl_shm", 1)
[3074578.023] -> wl_registry@2.bind(6, "wl_shm", 1, new id [unknown]@7)
[3074578.044] wl_registry@2.global(7, "wl_drm", 2)
[3074578.061] wl_registry@2.global(8, "wl_seat", 4)
[3074578.078] -> wl_registry@2.bind(8, "wl_seat", 3, new id [unknown]@8)
[3074578.102] -> wl_data_device_manager@6.get_data_device(new id wl_data_device@9, wl_seat@8)
[3074578.118] wl_registry@2.global(9, "wl_output", 2)
[3074578.138] -> wl_registry@2.bind(9, "wl_output", 2, new id [unknown]@10)
[3074578.166] -> wl_display@1.sync(new id wl_callback@11)
[3074578.178] wl_registry@2.global(10, "zlinux_dmabuf", 1)
[3074578.194] wl_registry@2.global(11, "wl_input_panel", 1)
[3074578.211] wl_registry@2.global(12, "wl_input_method", 1)
[3074578.227] wl_registry@2.global(13, "wl_text_input_manager", 1)
[3074578.244] -> wl_registry@2.bind(13, "wl_text_input_manager", 1, new id [unknown]@12)
[3074578.266] wl_registry@2.global(14, "wl_shell", 1)
[3074578.282] -> wl_registry@2.bind(14, "wl_shell", 1, new id [unknown]@13)
[3074578.303] wl_registry@2.global(15, "xdg_shell", 1)
[3074578.322] wl_registry@2.global(16, "desktop_shell", 3)
[3074578.339] wl_registry@2.global(17, "workspace_manager", 1)
[3074578.356] wl_registry@2.global(18, "screenshooter", 1)
[3074578.372] wl_callback@3.done(197)
[3074578.479] wl_display@1.delete_id(11)
[3074578.509] wl_seat@8.capabilities(3)
[3074578.541] -> wl_seat@8.get_keyboard(new id wl_keyboard@3)
[3074578.557] -> wl_seat@8.get_pointer(new id wl_pointer@14)
[3074578.569] -> wl_compositor@4.create_surface(new id wl_surface@15)
[3074578.588] wl_seat@8.name("default")
[3074578.599] wl_output@10.geometry(0, 0, 270, 168, 0, "weston-X11", "none", 0)
[3074578.636] wl_output@10.scale(1)
[3074578.646] wl_output@10.mode(3, 1024, 640, 60000)
[3074578.665] wl_output@10.done()
[3074578.689] wl_callback@11.done(197)
[3074578.767] -> wl_shm@7.create_pool(new id wl_shm_pool@11, fd 5, 4096)
[3074579.031] -> wl_shm_pool@11.resize(12288)
[3074579.191] -> wl_shm_pool@11.resize(28672)
[3074579.430] -> wl_shm_pool@11.resize(61440)
[3074579.879] -> wl_shm_pool@11.resize(126976)
[3074581.100] -> wl_shm_pool@11.resize(258048)
[3074582.338] -> wl_shm_pool@11.resize(520192)
[3074584.978] -> wl_shm_pool@11.resize(1044480)
[3074590.831] -> wl_shm_pool@11.resize(2093056)
kcmshell5(10903)/(default) [31munknown[0m: QObject::connect: invalid null parameter
[3074617.142] -> wl_display@1.get_registry(new id wl_registry@16)
[3074617.159] -> wl_display@1.sync(new id wl_callback@17)
[3074617.201] -> wl_display@1.sync(new id wl_callback@18)
[3074617.462] wl_display@1.delete_id(17)
[3074617.485] wl_display@1.delete_id(18)
[3074617.498] wl_keyboard@3.keymap(1, fd 5, 58455)
[3074620.875] wl_registry@16.global(1, "wl_compositor", 3)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Wayland Interface: wl_compositor / 1 / 3
[3074620.960] wl_registry@16.global(2, "wl_subcompositor", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Wayland Interface: wl_subcompositor / 2 / 1
[3074620.993] wl_registry@16.global(3, "wl_scaler", 2)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: wl_scaler / 3 / 2
[3074621.020] wl_registry@16.global(4, "presentation", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: presentation / 4 / 1
[3074621.074] wl_registry@16.global(5, "wl_data_device_manager", 2)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Wayland Interface: wl_data_device_manager / 5 / 2
[3074621.104] wl_registry@16.global(6, "wl_shm", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Wayland Interface: wl_shm / 6 / 1
[3074621.129] wl_registry@16.global(7, "wl_drm", 2)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: wl_drm / 7 / 2
[3074621.154] wl_registry@16.global(8, "wl_seat", 4)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Wayland Interface: wl_seat / 8 / 4
[3074621.178] wl_registry@16.global(9, "wl_output", 2)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Wayland Interface: wl_output / 9 / 2
[3074621.202] wl_registry@16.global(10, "zlinux_dmabuf", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: zlinux_dmabuf / 10 / 1
[3074621.226] wl_registry@16.global(11, "wl_input_panel", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: wl_input_panel / 11 / 1
[3074621.263] wl_registry@16.global(12, "wl_input_method", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: wl_input_method / 12 / 1
[3074621.288] wl_registry@16.global(13, "wl_text_input_manager", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: wl_text_input_manager / 13 / 1
[3074621.313] wl_registry@16.global(14, "wl_shell", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Wayland Interface: wl_shell / 14 / 1
[3074621.337] wl_registry@16.global(15, "xdg_shell", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: xdg_shell / 15 / 1
[3074621.361] wl_registry@16.global(16, "desktop_shell", 3)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: desktop_shell / 16 / 3
[3074621.385] wl_registry@16.global(17, "workspace_manager", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: workspace_manager / 17 / 1
[3074621.409] wl_registry@16.global(18, "screenshooter", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: screenshooter / 18 / 1
[3074621.433] wl_callback@17.done(197)
[3074621.459] wl_callback@18.done(197)
[3074625.358] -> wl_display@1.get_registry(new id wl_registry@18)
[3074625.379] -> wl_display@1.sync(new id wl_callback@19)
[3074625.403] -> wl_display@1.sync(new id wl_callback@20)
[3074625.549] wl_display@1.delete_id(19)
[3074625.571] wl_display@1.delete_id(20)
[3074625.583] wl_registry@18.global(1, "wl_compositor", 3)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Wayland Interface: wl_compositor / 1 / 3
[3074625.620] wl_registry@18.global(2, "wl_subcompositor", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Wayland Interface: wl_subcompositor / 2 / 1
[3074625.646] wl_registry@18.global(3, "wl_scaler", 2)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: wl_scaler / 3 / 2
[3074625.670] wl_registry@18.global(4, "presentation", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: presentation / 4 / 1
[3074625.701] wl_registry@18.global(5, "wl_data_device_manager", 2)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Wayland Interface: wl_data_device_manager / 5 / 2
[3074625.725] wl_registry@18.global(6, "wl_shm", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Wayland Interface: wl_shm / 6 / 1
[3074625.748] wl_registry@18.global(7, "wl_drm", 2)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: wl_drm / 7 / 2
[3074625.771] wl_registry@18.global(8, "wl_seat", 4)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Wayland Interface: wl_seat / 8 / 4
[3074625.794] wl_registry@18.global(9, "wl_output", 2)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Wayland Interface: wl_output / 9 / 2
[3074625.816] wl_registry@18.global(10, "zlinux_dmabuf", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: zlinux_dmabuf / 10 / 1
[3074625.840] wl_registry@18.global(11, "wl_input_panel", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: wl_input_panel / 11 / 1
[3074625.863] wl_registry@18.global(12, "wl_input_method", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: wl_input_method / 12 / 1
[3074625.886] wl_registry@18.global(13, "wl_text_input_manager", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: wl_text_input_manager / 13 / 1
[3074625.909] wl_registry@18.global(14, "wl_shell", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Wayland Interface: wl_shell / 14 / 1
[3074625.932] wl_registry@18.global(15, "xdg_shell", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: xdg_shell / 15 / 1
[3074625.955] wl_registry@18.global(16, "desktop_shell", 3)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: desktop_shell / 16 / 3
[3074625.978] wl_registry@18.global(17, "workspace_manager", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: workspace_manager / 17 / 1
[3074626.001] wl_registry@18.global(18, "screenshooter", 1)
kcmshell5(10903)/(kwayland-client) [31m[34mKWayland::Client::Registry::Private::handleAnnounce[0m: Unknown interface announced: screenshooter / 18 / 1
[3074626.024] wl_callback@19.done(197)
[3074626.081] -> wl_registry@18.bind(6, "wl_shm", 1, new id [unknown]@21)
[3074626.182] -> wl_shm@21.create_pool(new id wl_shm_pool@22, fd 7, 1024)
[3074626.205] wl_callback@20.done(197)
kcmshell5(10903)/(kf5.kservice.sycoca) [31m[34mKSycocaPrivate::openDatabase[0m: Opening ksycoca from "/home/martin/.cache/ksycoca5_en_Fv39m5HIz7dPXY1e3YmXwbSdNQg="
kcmshell5(10903)/(kf5.kservice.sycoca) [31m[34mTimestampChecker::checkTimestamps[0m: checking file timestamps
kcmshell5(10903)/(default) [31m[34munknown[0m: Using Wayland-EGL
[3074701.664] -> wl_display@1.get_registry(new id wl_registry@20)
[3074701.695] -> wl_display@1.sync(new id wl_callback@23)
[3074701.879] wl_display@1.delete_id(23)
[3074701.904] wl_registry@20.global(1, "wl_compositor", 3)
[3074701.925] wl_registry@20.global(2, "wl_subcompositor", 1)
[3074701.941] wl_registry@20.global(3, "wl_scaler", 2)
[3074701.955] wl_registry@20.global(4, "presentation", 1)
[3074701.979] wl_registry@20.global(5, "wl_data_device_manager", 2)
[3074701.994] wl_registry@20.global(6, "wl_shm", 1)
[3074702.008] wl_registry@20.global(7, "wl_drm", 2)
[3074702.025] -> wl_registry@20.bind(7, "wl_drm", 2, new id [unknown]@24)
[3074702.045] wl_registry@20.global(8, "wl_seat", 4)
[3074702.060] wl_registry@20.global(9, "wl_output", 2)
[3074702.074] wl_registry@20.global(10, "zlinux_dmabuf", 1)
[3074702.088] wl_registry@20.global(11, "wl_input_panel", 1)
[3074702.102] wl_registry@20.global(12, "wl_input_method", 1)
[3074702.116] wl_registry@20.global(13, "wl_text_input_manager", 1)
[3074702.130] wl_registry@20.global(14, "wl_shell", 1)
[3074702.144] wl_registry@20.global(15, "xdg_shell", 1)
[3074702.158] wl_registry@20.global(16, "desktop_shell", 3)
[3074702.173] wl_registry@20.global(17, "workspace_manager", 1)
[3074702.187] wl_registry@20.global(18, "screenshooter", 1)
[3074702.201] wl_callback@23.done(197)
[3074702.220] -> wl_display@1.sync(new id wl_callback@23)
[3074702.348] wl_display@1.delete_id(23)
[3074702.372] wl_drm@24.device("/dev/dri/renderD128")
[3074702.425] wl_drm@24.format(875713089)
[3074702.437] wl_drm@24.format(875713112)
[3074702.446] wl_drm@24.format(909199186)
[3074702.453] wl_drm@24.format(961959257)
[3074702.461] wl_drm@24.format(825316697)
[3074702.469] wl_drm@24.format(842093913)
[3074702.477] wl_drm@24.format(909202777)
[3074702.485] wl_drm@24.format(875713881)
[3074702.492] wl_drm@24.format(842094158)
[3074702.500] wl_drm@24.format(909203022)
[3074702.508] wl_drm@24.format(1448695129)
[3074702.516] wl_drm@24.capabilities(1)
[3074702.524] wl_callback@23.done(197)
[3074702.534] -> wl_display@1.sync(new id wl_callback@23)
[3074702.628] wl_display@1.delete_id(23)
[3074702.654] wl_callback@23.done(197)
[3074876.813] -> wl_compositor@4.create_surface(new id wl_surface@23)
[3074876.857] -> wl_shell@13.get_shell_surface(new id wl_shell_surface@25, wl_surface@23)
[3074876.886] -> wl_shell_surface@25.set_title("")
[3074876.911] -> wl_shell_surface@25.set_class("org.kde.kcmshell5")
[3074876.925] -> wl_shell_surface@25.set_toplevel()
[3074876.933] -> wl_surface@23.set_buffer_scale(1)
[3074876.958] -> wl_surface@23.set_buffer_transform(0)
[3074876.968] -> wl_surface@23.commit()
[3074877.005] -> wl_shell_surface@25.set_title("Desktop Effects")
[3074877.040] -> wl_shell_surface@25.set_title("Desktop Effects")
[3074877.862] -> wl_compositor@4.create_surface(new id wl_surface@26)
[3074877.884] -> wl_subcompositor@5.get_subsurface(new id wl_subsurface@27, wl_surface@26, wl_surface@23)
[3074877.907] -> wl_subsurface@27.set_desync()
[3074877.914] -> wl_surface@26.set_buffer_scale(1)
[3074877.924] -> wl_subsurface@27.set_position(10, 64)
[3074877.937] -> wl_surface@26.set_buffer_transform(0)
[3074877.946] -> wl_surface@26.commit()
[3074877.992] -> wl_subsurface@27.set_position(10, 64)
[3074878.239] -> wl_subsurface@27.set_position(10, 64)
[3074878.316] -> wl_subsurface@27.set_position(10, 64)
[3074878.413] -> wl_shm_pool@11.create_buffer(new id wl_buffer@28, 77824, 32, 32, 128, 0)
[3074878.447] -> wl_pointer@14.set_cursor(0, wl_surface@15, 4, 4)
[3074878.466] -> wl_surface@15.attach(wl_buffer@28, 0, 0)
[3074878.481] -> wl_surface@15.damage(0, 0, 32, 32)
[3074878.499] -> wl_surface@15.commit()
[3074878.518] -> wl_pointer@14.set_cursor(0, wl_surface@15, 4, 4)
[3074878.539] -> wl_surface@15.attach(wl_buffer@28, 0, 0)
[3074878.555] -> wl_surface@15.damage(0, 0, 32, 32)
[3074878.573] -> wl_surface@15.commit()
kcmshell5(10903)/(default) [31mfromCompatibilityJson[0m: Constructing a KPluginInfo object from old style JSON. Please use kcoreaddons_desktop_to_json() for "/opt/kf5/lib/x86_64-linux-gnu/plugins/kwin/effects/configs/kcm_kwin4_genericscripted.so" instead of kservice_desktop_to_json() in your CMake code.
[3074923.531] -> wl_compositor@4.create_surface(new id wl_surface@29)
[3074923.771] -> wl_surface@29.destroy()
[3074963.583] -> wl_surface@26.frame(new id wl_callback@30)
[3074963.617] -> wl_drm@24.create_prime_buffer(new id wl_buffer@31, fd 15, 535, 212, 875713089, 0, 2560, 0, 0, 0, 0)
[3074963.657] -> wl_surface@26.attach(wl_buffer@31, 0, 0)
[3074963.668] -> wl_surface@26.damage(0, 0, 2147483647, 2147483647)
[3074964.136] -> wl_surface@26.commit()
From the output we can clearly see that the wl_surface@23 never gets rendered, but the subsurface for which it is the parent surface gets rendered.