This update seems to have seriously messed up multi-monitor support with my laptop. None of the modes which utilize multiple screen at the same time are working correctly anymore. Before the update everything was working as expected.
If you “unify” it will now use separate resolutions for each screen leading to the bigger one only showing a part of the slower screen since the resolution chosen is lower than the one on the smaller one. Or it has a much bigger resolution and it will show the other screen as a smaller part. They now have different resolutions which was never the case before and you need to try to mess around until you find something that works. Before it would select a resolution both screen can work with.
If you use “extend” the “left” and “right” doesn’t seem to be honored anymore.
Also most of the time when you “extend” you won’t be able to access the external desktop with the mouse anymore.
Also the primary display selection appears to be messed up since the display selection dialog now appears on the external display although the built-in one is the primary. So you cannot switch the modes anymore.
kscreen_osd_service is crashing even more often now.
Here’s the backtrace:
#0 0x00007fb3cfd426ff in QWindow::setVisible (this=<optimized out>, visible=false) at kernel/qwindow.cpp:630 #1 0x00007fb3cf8bda51 in QtPrivate::QSlotObjectBase::call (a=<optimized out>, r=<optimized out>, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #2 doActivate<false> (sender=0x5613f5a58200, signal_index=0, argv=0x7ffdba3d4db0) at kernel/qobject.cpp:3919 #3 0x00007fb3cf8bddf4 in QObject::destroyed (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qobject.cpp:219 #4 0x00007fb3cf8b43ac in QObject::~QObject (this=<optimized out>, this=<optimized out>) at kernel/qobject.cpp:1010 #5 0x00007fb3d11d7c2a in KScreen::Output::~Output (this=<optimized out>, this=<optimized out>) at /usr/src/debug/libkscreen/libkscreen-5.26.4/src/output.cpp:176 #6 QtSharedPointer::CustomDeleter<KScreen::Output, QtSharedPointer::NormalDeleter>::execute ( this=<optimized out>) at /usr/include/qt/QtCore/qsharedpointer_impl.h:187 #7 QtSharedPointer::ExternalRefCountWithCustomDeleter<KScreen::Output, QtSharedPointer::NormalDeleter>::deleter (self=<optimized out>) at /usr/include/qt/QtCore/qsharedpointer_impl.h:205 #8 0x00005613f411a956 in QtSharedPointer::ExternalRefCountData::destroy (this=0x5613f5a5b310) at /usr/include/qt/QtCore/qsharedpointer_impl.h:149 #9 QSharedPointer<KScreen::Config>::deref (dd=0x5613f5a5b310) at /usr/include/qt/QtCore/qsharedpointer_impl.h:458 #10 QSharedPointer<KScreen::Output>::deref (dd=<optimized out>, dd=<optimized out>) at /usr/include/qt/QtCore/qsharedpointer_impl.h:454 #11 QSharedPointer<KScreen::Output>::deref (this=<optimized out>, this=<optimized out>) at /usr/include/qt/QtCore/qsharedpointer_impl.h:453 #12 QSharedPointer<KScreen::Output>::~QSharedPointer (this=<optimized out>, this=<optimized out>) at /usr/include/qt/QtCore/qsharedpointer_impl.h:310 #13 KScreen::Osd::~Osd (this=<optimized out>, this=<optimized out>) at /usr/src/debug/kscreen/kscreen-5.26.4/osd/osd.cpp:40 #14 0x00005613f411a9e5 in KScreen::Osd::~Osd (this=<optimized out>, this=<optimized out>) at /usr/src/debug/kscreen/kscreen-5.26.4/osd/osd.cpp:38 #15 qDeleteAll<QMap<QString, KScreen::Osd*>::const_iterator> (end=..., begin=...) at /usr/include/qt/QtCore/qalgorithms.h:320 #16 qDeleteAll<QMap<QString, KScreen::Osd*> > (c=...) at /usr/include/qt/QtCore/qalgorithms.h:328 #17 KScreen::OsdManager::quit (this=0x7ffdba3d53a0) at /usr/src/debug/kscreen/kscreen-5.26.4/osd/osdmanager.cpp:49 #18 0x00007fb3cf8b0be0 in QObject::event (this=0x7ffdba3d53a0, e=0x7fb3c0001d80) at kernel/qobject.cpp:1347 #19 0x00007fb3cf88cf98 in QCoreApplication::notifyInternal2 (receiver=0x7ffdba3d53a0, event=0x7fb3c0001d80) at kernel/qcoreapplication.cpp:1064 #20 0x00007fb3cf88daa3 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5613f58cd100) at kernel/qcoreapplication.cpp:1821 #21 0x00007fb3cf8d3e68 in postEventSourceDispatch (s=0x5613f58d5e90) at kernel/qeventdispatcher_glib.cpp:277 #22 0x00007fb3cdf1687b in g_main_dispatch (context=0x7fb3c4005010) at ../glib/glib/gmain.c:3444 #23 g_main_context_dispatch (context=0x7fb3c4005010) at ../glib/glib/gmain.c:4162 #24 0x00007fb3cdf6d299 in g_main_context_iterate.constprop.0 (context=0x7fb3c4005010, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4238 #25 0x00007fb3cdf15132 in g_main_context_iteration (context=0x7fb3c4005010, may_block=1) at ../glib/glib/gmain.c:4303 #26 0x00007fb3cf8d7c4c in QEventDispatcherGlib::processEvents (this=0x5613f5900140, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #27 0x00007fb3cf88573c in QEventLoop::exec (this=0x7ffdba3d5300, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #28 0x00007fb3cf890269 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #29 0x00007fb3cfd3a112 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1870 #30 0x00005613f41154db in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kscreen/kscreen-5.26.4/osd/main.cpp:17