I suspect that e2a0863843f92ab1f2f8d0c785a86570fc04d774 is the cause as it worked on this driver before, and if I do build before it it runs, and there is a function in the stack that seems to be added in this commit, I could be wrong Hopefully the stacktrace is helpful #0 0x00007fd0609931ad in KWin::DrmObject::commitPending (this=0x0) at /srcbuild/kwin/src/backends/drm/drm_object.cpp:109 No locals. #1 0x00007fd0609a76fe in KWin::DrmPipeline::commitPipelines (pipelines=..., mode=mode@entry=KWin::DrmPipeline::CommitMode::Test, unusedObjects=...) at /srcbuild/kwin/src/backends/drm/drm_pipeline.cpp:179 pipeline = @0x560f9eb60ee8: 0x560f9e698080 __for_range = @0x560f9e598558: {d = 0x560f9eb60ed0} __for_begin = 0x560f9eb60ee8 __for_end = 0x560f9eb60ef0 req = 0x560f9eb647d0 flags = 1024 failed = @0x7ffc2536e418: {__pipelines = {d = 0x560f9eb60ed0}, __req = 0x560f9eb647d0, __mode = KWin::DrmPipeline::CommitMode::Test, __flags = @0x7ffc2536e3dc, __unusedObjects = { d = 0x560f9eb65270}} modeset = <optimized out> __PRETTY_FUNCTION__ = "static bool KWin::DrmPipeline::commitPipelines(const QVector<KWin::DrmPipeline*>&, KWin::DrmPipeline::CommitMode, const QVector<KWin::DrmObject*>&)" #2 0x00007fd0609a0f22 in KWin::DrmGpu::checkCrtcAssignment (this=this@entry=0x560f9e5984e0, connectors=..., crtcs=...) at /srcbuild/kwin/src/backends/drm/drm_gpu.cpp:347 leasePipelines = {d = 0x7fd067120720 <QArrayData::shared_null>} unused = {d = 0x560f9eb65270} test = <optimized out> __PRETTY_FUNCTION__ = "bool KWin::DrmGpu::checkCrtcAssignment(QVector<KWin::DrmConnector*>, QVector<KWin::DrmCrtc*>)" connector = <optimized out> pipeline = <optimized out> encoders = {d = 0x7ffc2536e590} #3 0x00007fd0609a11e3 in KWin::DrmGpu::checkCrtcAssignment (this=this@entry=0x560f9e5984e0, connectors=..., crtcs=...) at /srcbuild/kwin/src/backends/drm/drm_gpu.cpp:389 crtcsLeft = {d = 0x560f9eb65220} crtc = @0x560f9eb651e8: 0x560f9e60ae60 __for_range = @0x7ffc2536e628: {d = 0x560f9eb651d0} __for_begin = 0x560f9eb651e8 __for_end = 0x560f9eb651f0 enc = {d = <optimized out>} encoder = @0x560f9eb646b8: 35 __for_range = @0x7ffc2536e588: {d = 0x560f9eb646a0} __for_begin = 0x560f9eb646b8 __for_end = 0x560f9eb646bc __PRETTY_FUNCTION__ = "bool KWin::DrmGpu::checkCrtcAssignment(QVector<KWin::DrmConnector*>, QVector<KWin::DrmCrtc*>)" connector = 0x7ffc2536e590 pipeline = 0x560f9e698080 encoders = {d = 0x560f9eb646a0} #4 0x00007fd0609a1401 in KWin::DrmGpu::testPendingConfiguration (this=this@entry=0x560f9e5984e0) at /srcbuild/kwin/src/backends/drm/drm_gpu.cpp:420 connectors = {d = 0x560f9eb649f0} crtcs = {d = 0x560f9e5f2b40} #5 0x00007fd0609a1c88 in KWin::DrmGpu::updateOutputs (this=this@entry=0x560f9e5984e0) at /srcbuild/kwin/src/backends/drm/drm_gpu.cpp:310 resources = {d = <optimized out>} __PRETTY_FUNCTION__ = "bool KWin::DrmGpu::updateOutputs()" lessees = <optimized out> removedConnectors = {d = 0x7fd067120720 <QArrayData::shared_null>} #6 0x00007fd060990973 in KWin::DrmBackend::updateOutputs (this=0x560f9e52b580) at /srcbuild/kwin/src/backends/drm/drm_backend.cpp:310 gpu = 0x560f9e5984e0 it = 0x560f9e5f2c18 oldOutputs = {d = 0x7fd067120720 <QArrayData::shared_null>} __PRETTY_FUNCTION__ = "void KWin::DrmBackend::updateOutputs()" #7 0x00007fd0670bdf7c in ?? () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #8 0x00007fd068c9e8f7 in KWin::Compositor::setupStart (this=0x560f9e66c380) at /srcbuild/kwin/src/composite.cpp:311 supportedCompositors = {d = 0x560f9e6d7010} userConfigIt = 0x560f9e6d7028 __PRETTY_FUNCTION__ = {<optimized out> <repeats 36 times>} #9 0x00007fd068c9f057 in KWin::WaylandCompositor::start (this=0x560f9e66c380) at /srcbuild/kwin/src/composite.cpp:683 No locals. #10 0x00007fd0670b739c in QObject::event(QEvent*) () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #11 0x00007fd0679140c5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /opt/lib/x86_64-linux-gnu/libQt5Widgets.so.5 No symbol table info available. #12 0x00007fd0670a0afa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #13 0x00007fd0670a0d61 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #14 0x00007fd0670cfaea in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #15 0x0000560f9e1ee360 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () No symbol table info available. #16 0x00007fd06709e692 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #17 0x00007fd0670a2873 in QCoreApplication::exec() () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #18 0x0000560f9e15040a in main (argc=<optimized out>, argv=<optimized out>) at /srcbuild/kwin/src/main_wayland.cpp:740 userSignals = {__val = {2560, 0 <repeats 15 times>}} environment = {d = {d = 0x560f9e503050}} a = {<KWin::ApplicationWaylandAbstract> = {<KWin::Application> = {<QApplication> = {<No data fields>}, static staticMetaObject = {d = {superdata = {direct = 0x7fd067cb4f60 <QApplication::staticMetaObject>}, stringdata = 0x7fd068dd3740 <qt_meta_stringdata_KWin__Application>, data = 0x7fd068dd35e0 <qt_meta_data_KWin__Application>, static_metacall = 0x7fd068c77d58 <KWin::Application::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static crashes = 0, m_eventFilters = {<QListSpecialMethods<QPointer<KWin::X11EventFilterContainer> >> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fd0671211d0 <QListData::shared_null>}, d = 0x7fd0671211d0 <QListData::shared_null>}}, m_genericEventFilters = {<QListSpecialMethods<QPointer<KWin::X11EventFilterContainer> >> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fd0671211d0 <QListData::shared_null>}, d = 0x7fd0671211d0 <QListData::shared_null>}}, m_eventFilter = {d = 0x560f9e537290}, m_configLock = false, m_config = {d = 0x560f9e537450}, m_kxkbConfig = {d = 0x560f9e57f8b0}, m_operationMode = KWin::Application::OperationModeXwayland, m_x11Time = 0, m_rootWindow = 0, m_connection = 0x0, m_defaultScreen = 0x0, m_useKActivities = true, m_platform = 0x560f9e52b580, m_terminating = false, m_isClosingX11Connection = false}, static staticMetaObject = {d = {superdata = {direct = 0x7fd068e9d1e0 <KWin::Application::staticMetaObject>}, stringdata = 0x7fd068dd35a0 <qt_meta_stringdata_KWin__ApplicationWaylandAbstract>, data = 0x7fd068dd3560 <qt_meta_data_KWin__ApplicationWaylandAbstract>, static_metacall = 0x7fd068c75e6a <KWin::ApplicationWaylandAbstract::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7fd068e9d1a0 <KWin::ApplicationWaylandAbstract::staticMetaObject>}, stringdata = 0x560f9e1ef2e0 <qt_meta_stringdata_KWin__ApplicationWayland>, data = 0x560f9e1ef2a0 <qt_meta_data_KWin__ApplicationWayland>, static_metacall = 0x560f9e1515f6 <KWin::ApplicationWayland::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, m_startXWayland = true, m_applicationsToStart = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fd0671211d0 <QListData::shared_null>}, d = 0x7fd0671211d0 <QListData::shared_null>}}, <No data fields>}, m_inputMethodServerToStart = {static null = {<No data fields>}, d = 0x7fd067120720 <QArrayData::shared_null>}, m_environment = {d = {d = 0x560f9e503050}}, m_sessionArgument = {static null = {<No data fields>}, d = 0x560f9e569a70}, m_xwayland = 0x0, m_xwaylandListenFds = {d = 0x7fd067120720 <QArrayData::shared_null>}, m_xwaylandDisplay = {static null = {<No data fields>}, d = 0x7fd067120720 <QArrayData::shared_null>}, m_xwaylandXauthority = {static null = {<No data fields>}, d = 0x7fd067120720 <QArrayData::shared_null>}, m_settingsWatcher = {value = 0x0, d = 0x0}} availablePlugins = {d = 0x560f9e529750} hasPlugin = {__availablePlugins = @0x7ffc2536ecd8} hasSizeOption = <optimized out> hasOutputCountOption = 72 hasX11Option = true hasVirtualOption = true hasWaylandOption = true hasFramebufferOption = true hasDrmOption = <optimized out> xwaylandOption = {d = {d = 0x560f9e506a20}} waylandSocketOption = {d = {d = 0x560f9e544870}} framebufferOption = {d = {d = 0x560f9e546280}} framebufferDeviceOption = {d = {d = 0x560f9e545160}} x11DisplayOption = {d = {d = 0x560f9e544a40}} waylandDisplayOption = {d = {d = 0x560f9e54bfb0}} virtualFbOption = {d = {d = 0x560f9e547900}} widthOption = {d = {d = 0x560f9e539ee0}} heightOption = {d = {d = 0x560f9e54bf20}} scaleOption = {d = {d = 0x560f9e54bf60}} outputCountOption = {d = {d = 0x560f9e537ad0}} waylandSocketFdOption = {d = {d = 0x560f9e5448d0}} xwaylandListenFdOption = {d = {d = 0x560f9e544910}} xwaylandDisplayOption = {d = {d = 0x560f9e511330}} xwaylandXAuthorityOption = {d = {d = 0x560f9e54b2a0}} replaceOption = {d = {d = 0x560f9e54b340}} parser = {d = 0x560f9e544980} drmOption = {d = {d = 0x560f9e569d60}} inputMethodOption = {d = {d = 0x560f9e569e00}} listBackendsOption = {d = {d = 0x560f9e569f00}} screenLockerOption = {d = {d = 0x560f9e569fa0}} noScreenLockerOption = {d = {d = 0x560f9e56a040}} noGlobalShortcutsOption = {d = {d = 0x560f9e56a0e0}} noActivitiesOption = {d = {d = 0x560f9e546f90}} exitWithSessionOption = {d = {d = 0x560f9e569b40}} pluginName = {static null = {<No data fields>}, d = 0x560f9e1f0b20 <KWin::s_drmPlugin::{lambda()#1}::operator()() const::qstring_literal>} initialWindowSize = {wd = <optimized out>, ht = <optimized out>} deviceIdentifier = {d = 0x7fd067120720 <QArrayData::shared_null>} outputCount = <optimized out> outputScale = <optimized out> pluginIt = 0x7ffc2536ede8 server = <optimized out> flags = {i = 624356824} socketName = {static null = {<No data fields>}, d = 0x560f9e547460}
simpledrm is almost certainly lacking a cursor plane. Should be easy enough to fix. Can you attach the output of drm_info, to make sure that is the case?
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/1670
I assume you mean the output of this utility https://github.com/ascent12/drm_info Driver: simpledrm (DRM driver for simple-framebuffer platform devices) version 1.0.0 (20200625) on Linux 5.14.17 DRM_CLIENT_CAP_ASPECT_RATIO supported DRM_CLIENT_CAP_ATOMIC supported DRM_CLIENT_CAP_STEREO_3D supported DRM_CLIENT_CAP_UNIVERSAL_PLANES supported DRM_CLIENT_CAP_WRITEBACK_CONNECTORS supported DRM_CAP_ADDFB2_MODIFIERS = 1 DRM_CAP_ASYNC_PAGE_FLIP = 0 DRM_CAP_CRTC_IN_VBLANK_EVENT = 1 DRM_CAP_CURSOR_HEIGHT = 64 DRM_CAP_CURSOR_WIDTH = 64 DRM_CAP_DUMB_BUFFER = 1 DRM_CAP_DUMB_PREFERRED_DEPTH = 24 DRM_CAP_DUMB_PREFER_SHADOW = 0 DRM_CAP_PAGE_FLIP_TARGET = 0 DRM_CAP_PRIME = 3 DRM_CAP_SYNCOBJ = 0 DRM_CAP_SYNCOBJ_TIMELINE = 0 DRM_CAP_TIMESTAMP_MONOTONIC = 1 DRM_CAP_VBLANK_HIGH_CRTC = 1 Device: platform simple-framebuffer Connectors Connector 0 Object ID: 31 Type: unknown Encoders: {35} Properties "CRTC_ID" (atomic): object CRTC = 34 "DPMS": enum {"On", "Standby", "Suspend", "Off"} = On "EDID" (immutable): blob = <nil> "TILE" (immutable): blob = <nil> "link-status": enum {"Good", "Bad"} = Good "non-desktop" (immutable): range [0, 1] = 0 Encoders Encoder 0 Object ID: 35 Type: none CRTCs: {0} Clones: {0} CRTCs CRTC 0 Object ID: 34 Gamma size: 0 Properties "ACTIVE" (atomic): range [0, 1] = 1 "MODE_ID" (atomic): blob = 800x600 "OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0 "VRR_ENABLED": range [0, 1] = 0 Planes Plane 0 Object ID: 32 CRTCs: {0} Formats: RGB888 (0x34324752) XRGB8888 (0x34325258) ARGB8888 (0x34325241) RGB565 (0x36314752) Properties "CRTC_H" (atomic): range [0, INT32_MAX] = 600 "CRTC_ID" (atomic): object CRTC = 34 "CRTC_W" (atomic): range [0, INT32_MAX] = 800 "CRTC_X" (atomic): signed range [INT32_MIN, INT32_MAX] = 0 "CRTC_Y" (atomic): signed range [INT32_MIN, INT32_MAX] = 0 "FB_ID" (atomic): object FB = 42 "IN_FENCE_FD" (atomic): signed range [-1, INT32_MAX] = -1 "IN_FORMATS" (immutable): blob linear (0x0) RGB888 (0x34324752) XRGB8888 (0x34325258) ARGB8888 (0x34325241) RGB565 (0x36314752) "SRC_H" (atomic): range [0, UINT32_MAX] = 600 "SRC_W" (atomic): range [0, UINT32_MAX] = 800 "SRC_X" (atomic): range [0, UINT32_MAX] = 0 "SRC_Y" (atomic): range [0, UINT32_MAX] = 0 "type" (immutable): enum {"Overlay", "Primary", "Cursor"} = Primary
Yes. The cursor plane is indeed missing; the MR will fix that
(In reply to Zamundaaa from comment #4) > Yes. The cursor plane is indeed missing; the MR will fix that I get a different crash with it now, lots of cursor stuff in the stack, rebuilding it with the Debug symbols again...
After trying the new MR #0 0x00007f9ce36a9982 in QImage::setDevicePixelRatio(double) () from /opt/lib/x86_64-linux-gnu/libQt5Gui.so.5 No symbol table info available. #1 0x00007f9cdcbf7c62 in KWin::DrmOutput::updateCursor (this=0x563036e6ad40) at /srcbuild/kwin/src/backends/drm/drm_output.cpp:144 cursor = 0x563036b4dd70 cursorImage = <incomplete type> c = 0x0 p = {static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f9ce3903e60, data = 0x7f9ce3903d80, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x0}} #2 0x00007f9cdcbee0a0 in KWin::DrmBackend::updateCursor (this=0x5630369fd750) at /srcbuild/kwin/src/backends/drm/drm_backend.cpp:519 output = 0x563036e6ad40 __for_range = @0x5630369fd7d8: {d = 0x56303703a4b0} __for_begin = 0x56303703a4c8 __for_end = 0x56303703a4d0 cursor = <optimized out> success = true __PRETTY_FUNCTION__ = "void KWin::DrmBackend::updateCursor()" #3 0x00007f9ce331af7c in ?? () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #4 0x00007f9ce4ecdbb5 in KWin::Cursors::currentCursorChanged (this=<optimized out>, _t1=<optimized out>) at /srcbuild/kwin/build/src/kwin_autogen/EWIEGA46WW/moc_cursor.cpp:385 _a = {0x0, 0x7ffe5eda60d8} #5 0x00007f9ce331af7c in ?? () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #6 0x00007f9ce4f5f1a7 in operator() (__closure=0x5630371c3500) at /srcbuild/kwin/src/pointer_input.cpp:136 cursor = 0x563036b4dd70 this = 0x563036a8c120 this = <optimized out> cursor = <optimized out> #7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KWin::PointerInputRedirection::init()::<lambda()> >::call ( arg=<optimized out>, f=...) at /opt/include/QtCore/qobjectdefs_impl.h:146 No locals. #8 QtPrivate::Functor<KWin::PointerInputRedirection::init()::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /opt/include/QtCore/qobjectdefs_impl.h:256 No locals. #9 QtPrivate::QFunctorSlotObject<KWin::PointerInputRedirection::init()::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x5630371c34f0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /opt/include/QtCore/qobjectdefs_impl.h:443 No locals. #10 0x00007f9ce331af7c in ?? () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #11 0x00007f9ce4f60437 in KWin::PointerInputRedirection::init (this=0x563036a8c120) at /srcbuild/kwin/src/pointer_input.cpp:139 setupMoveResizeConnection = {__this = <optimized out>} clients = {<QListSpecialMethods<KWin::AbstractClient*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = { _q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x563036a58630}, d = 0x563036a58630}} #12 0x00007f9ce4f35c3d in KWin::InputRedirection::setupWorkspace (this=0x563036a54f70) at /srcbuild/kwin/src/input.cpp:2209 No locals. #13 0x00007f9ce331af7c in ?? () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #14 0x00005630355e1d87 in KWin::ApplicationWayland::continueStartupWithScene (this=0x7ffe5eda6b98) at /srcbuild/kwin/src/main_wayland.cpp:180 __PRETTY_FUNCTION__ = "void KWin::ApplicationWayland::continueStartupWithScene()" #15 0x00007f9ce331af7c in ?? () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #16 0x00007f9ce4efa8d5 in KWin::Compositor::setupStart (this=0x563036b47e90) at /srcbuild/kwin/src/composite.cpp:311 supportedCompositors = {d = 0x563036a1dbf0} userConfigIt = 0x563036a1dc08 __PRETTY_FUNCTION__ = {<optimized out> <repeats 36 times>} #17 0x00007f9ce4efb035 in KWin::WaylandCompositor::start (this=0x563036b47e90) at /srcbuild/kwin/src/composite.cpp:683 No locals. #18 0x00007f9ce331439c in QObject::event(QEvent*) () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #19 0x00007f9ce3b710c5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /opt/lib/x86_64-linux-gnu/libQt5Widgets.so.5 No symbol table info available. #20 0x00007f9ce32fdafa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #21 0x00007f9ce32fdd61 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #22 0x00007f9ce332caea in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #23 0x000056303567ecc8 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () No symbol table info available. #24 0x00007f9ce32fb692 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #25 0x00007f9ce32ff873 in QCoreApplication::exec() () from /opt/lib/x86_64-linux-gnu/libQt5Core.so.5 No symbol table info available. #26 0x00005630355e042a in main (argc=<optimized out>, argv=<optimized out>) at /srcbuild/kwin/src/main_wayland.cpp:740 userSignals = {__val = {2560, 0 <repeats 15 times>}} environment = {d = {d = 0x5630369db050}} a = {<KWin::ApplicationWaylandAbstract> = {<KWin::Application> = {<QApplication> = {<No data fields>}, static staticMetaObject = {d = { superdata = {direct = 0x7f9ce3f11f60 <QApplication::staticMetaObject>}, stringdata = 0x7f9ce502e740 <qt_meta_stringdata_KWin__Application>, data = 0x7f9ce502e5e0 <qt_meta_data_KWin__Application>, static_metacall = 0x7f9ce4ed3d48 <KWin::Application::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static crashes = 0, m_eventFilters = {<QListSpecialMethods<QPointer<KWin::X11EventFilterContainer> >> = {<No data fields>}, {p = { static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f9ce337e1d0 <QListData::shared_null>}, d = 0x7f9ce337e1d0 <QListData::shared_null>}}, m_genericEventFilters = {<QListSpecialMethods<QPointer<KWin::X11EventFilterContainer> >> = {<No data fields>}, {p = { static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f9ce337e1d0 <QListData::shared_null>}, d = 0x7f9ce337e1d0 <QListData::shared_null>}}, m_eventFilter = { d = 0x563036a10640}, m_configLock = false, m_config = {d = 0x563036a1f630}, m_kxkbConfig = {d = 0x563036a58630}, m_operationMode = KWin::Application::OperationModeXwayland, m_x11Time = 0, m_rootWindow = 0, m_connection = 0x0, m_defaultScreen = 0x0, m_useKActivities = true, m_platform = 0x5630369fd750, m_terminating = false, m_isClosingX11Connection = false}, static staticMetaObject = {d = {superdata = { direct = 0x7f9ce50f71e0 <KWin::Application::staticMetaObject>}, stringdata = 0x7f9ce502e5a0 <qt_meta_stringdata_KWin__ApplicationWaylandAbstract>, data = 0x7f9ce502e560 <qt_meta_data_KWin__ApplicationWaylandAbstract>, static_metacall = 0x7f9ce4ed1e5a <KWin::ApplicationWaylandAbstract::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = { direct = 0x7f9ce50f71a0 <KWin::ApplicationWaylandAbstract::staticMetaObject>}, stringdata = 0x56303567f2e0 <qt_meta_stringdata_KWin__ApplicationWayland>, data = 0x56303567f2a0 <qt_meta_data_KWin__ApplicationWayland>, static_metacall = 0x5630355e1616 <KWin::ApplicationWayland::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, m_startXWayland = true, m_applicationsToStart = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f9ce337e1d0 <QListData::shared_null>}, d = 0x7f9ce337e1d0 <QListData::shared_null>}}, <No data fields>}, m_inputMethodServerToStart = {static null = {<No data fields>}, d = 0x7f9ce337d720 <QArrayData::shared_null>}, m_environment = {d = {d = 0x5630369db050}}, m_sessionArgument = {static null = {<No data fields>}, d = 0x563036a1f210}, m_xwayland = 0x0, m_xwaylandListenFds = {d = 0x7f9ce337d720 <QArrayData::shared_null>}, m_xwaylandDisplay = {static null = {<No data fields>}, d = 0x7f9ce337d720 <QArrayData::shared_null>}, m_xwaylandXauthority = {static null = {<No data fields>}, d = 0x7f9ce337d720 <QArrayData::shared_null>}, m_settingsWatcher = {value = 0x0, d = 0x0}} availablePlugins = {d = 0x5630369fac90} hasPlugin = {__availablePlugins = @0x7ffe5eda69e8} hasSizeOption = <optimized out> hasOutputCountOption = 88 hasX11Option = true hasVirtualOption = true hasWaylandOption = true hasFramebufferOption = true hasDrmOption = <optimized out> xwaylandOption = {d = {d = 0x563036a1c5c0}} waylandSocketOption = {d = {d = 0x563036a1bf80}} framebufferOption = {d = {d = 0x563036a23030}} framebufferDeviceOption = {d = {d = 0x563036a22ee0}} x11DisplayOption = {d = {d = 0x563036a1bf20}} waylandDisplayOption = {d = {d = 0x563036a22fd0}} virtualFbOption = {d = {d = 0x563036a1f550}} widthOption = {d = {d = 0x563036a1b9a0}} heightOption = {d = {d = 0x563036a1ceb0}} scaleOption = {d = {d = 0x563036a2d430}} outputCountOption = {d = {d = 0x563036a105b0}} waylandSocketFdOption = {d = {d = 0x563036a22e80}} xwaylandListenFdOption = {d = {d = 0x563036a1c320}} xwaylandDisplayOption = {d = {d = 0x5630369e54a0}} xwaylandXAuthorityOption = {d = {d = 0x563036a23240}} replaceOption = {d = {d = 0x563036a232e0}} parser = {d = 0x563036a1c6f0} drmOption = {d = {d = 0x563036a201b0}} inputMethodOption = {d = {d = 0x563036a201f0}} listBackendsOption = {d = {d = 0x563036a20350}} screenLockerOption = {d = {d = 0x563036a203f0}} noScreenLockerOption = {d = {d = 0x563036a20490}} noGlobalShortcutsOption = {d = {d = 0x563036a20590}} noActivitiesOption = {d = {d = 0x563036a206a0}} exitWithSessionOption = {d = {d = 0x563036a1f2e0}} pluginName = {static null = {<No data fields>}, d = 0x563035680b20 <KWin::s_drmPlugin::{lambda()#1}::operator()() const::qstring_literal>} initialWindowSize = {wd = <optimized out>, ht = <optimized out>} deviceIdentifier = {d = 0x7f9ce337d720 <QArrayData::shared_null>} outputCount = <optimized out> outputScale = <optimized out> pluginIt = 0x7ffe5eda6af8 server = <optimized out> flags = {i = 1591372520} socketName = {static null = {<No data fields>}, d = 0x563036a1bdc0}
Git commit 47d5d50bdfa81dcbdf6351e563d9c78eb30cfc61 by Xaver Hugl. Committed on 16/11/2021 at 15:16. Pushed by zamundaaa into branch 'master'. backends/drm: don't assume we have a cursor plane M +6 -2 src/backends/drm/drm_pipeline.cpp https://invent.kde.org/plasma/kwin/commit/47d5d50bdfa81dcbdf6351e563d9c78eb30cfc61
Rebuilding Master The commit gets me further, but I still get the above new stack trace
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/1684
That one works, it runs again!
Git commit 3e24bc008a1c9b7f38aef15e07902e0d8213b80e by Xaver Hugl. Committed on 22/11/2021 at 08:43. Pushed by zamundaaa into branch 'master'. backends/drm: force soft cursor if image creation fails If the soft cursor is only set but not forced then KWin will try to update cursors again, making it go into code paths that will crash. M +1 -1 src/backends/drm/drm_gpu.cpp https://invent.kde.org/plasma/kwin/commit/3e24bc008a1c9b7f38aef15e07902e0d8213b80e
Thanks!