SUMMARY Since a few month (Plasma 5.16 and 5.17), I have the problem that my external screen goes off every time it should be activated automatically. Here are the detailed information: The setting is the following: I have a laptop (Thinkpad T470) and an external screen (Dell U2715H) connected via Displayport the the dock of the laptop. Normally, the laptop screen is active. However, when plugged into the dock, I want that the laptop screen is disabled and the external screen become the main monitor. STEPS TO REPRODUCE 1. Plug the laptop into the dock. OBSERVED RESULT 1. The external screen goes on, the internal screen goes off. 2. After a few seconds, the external screen goes off as well, leaving me with two turned off screens. 3. Take the laptop off the dock turn the laptop screen on again (often crashing kwin, sometimes plasmashell, too). EXPECTED RESULT 1. The external screen goes on, the internal screen goes off. SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: Gentoo with Linux 4.19.72 (available in About System) KDE Plasma Version: 5.17.1 (was present with 5.16 as well) KDE Frameworks Version: 5.63.0 Qt Version: 5.12.5 ADDITIONAL INFORMATION Workaround: My workaround is to open the systemsettings when the laptop is not yet in the dock, then plugging it into the dock and change very very fast the configuration so the laptop monitor is on as well. After applying, the external monitor usually goes off anyway, but sometimes not. However, the laptop monitor is always on then. Then I switch back the setting to "external monitor on, laptop monitor off" and apply. Now the behaviour is as expected. There was a time where the behaviour was not present. However, I'm not sure, when this was. This was sometime in the lifetime of Plasma 5.16 (I'm pretty sure, this was not related to a Plasma update).
When using my workaround, systemsettings now crashes since quite a time when "discarding" the changes to new monitors. In detail, I have to do the following steps: 1. Open systemsettings 2. Plug the laptop into the dock (which attaches the external monitor). 3. The new monitor configuration is loaded (laptop monitor off, external monitor on). 4. Activate the internal monitor in addition to the external one in systemsettings as soon as possible and apply (I have only a few seconds until the external monitors goes off, again). 5. The new setting is applied. Nevertheless, the external monitor goes off and the internal monitor goes on. 6. Going from the monitor settings in systemsettings back to the overview page. 7. Systemsettings detects a change in the configuration and asks, if it should save or discard the changes. 8. Pressing discard causes a segfault in systemsettings. Here is the console log. Is there a method to get a debug log? ``` % systemsettings5 org.kde.kcoreaddons: Error loading plugin "kcm_kscreen" "Die dynamische Bibliothek konnte nicht gefunden werden." Plugin search paths are ("/usr/lib64/qt5/plugins", "/usr/bin") The environment variable QT_PLUGIN_PATH might be not correctly set file:///usr/lib64/qt5/qml/org/kde/kirigami.2/templates/InlineMessage.qml:136: TypeError: Value is undefined and could not be converted to an object file:///usr/lib64/qt5/qml/org/kde/kirigami.2/templates/InlineMessage.qml:136: TypeError: Value is undefined and could not be converted to an object file:///usr/lib64/qt5/qml/org/kde/kirigami.2/templates/InlineMessage.qml:136: TypeError: Value is undefined and could not be converted to an object file:///usr/lib64/qt5/qml/org/kde/kirigami.2/templates/InlineMessage.qml:136: TypeError: Value is undefined and could not be converted to an object file:///usr/lib64/qt5/qml/org/kde/kirigami.2/templates/InlineMessage.qml:136: TypeError: Value is undefined and could not be converted to an object org.kde.kcoreaddons: Error loading plugin "kcm_nightcolor" "Die dynamische Bibliothek konnte nicht gefunden werden." Plugin search paths are ("/usr/lib64/qt5/plugins", "/usr/bin") The environment variable QT_PLUGIN_PATH might be not correctly set file:///usr/lib64/qt5/qml/org/kde/kirigami.2/templates/InlineMessage.qml:136: TypeError: Value is undefined and could not be converted to an object WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: Phonon::createPath: Cannot connect Phonon::MediaObject ( no objectName ) to Phonon::AudioOutput ( no objectName ). WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded file:///usr/share/kpackage/kcms/kcm_nightcolor/contents/ui/main.qml:203:42: QML LocationsAutoView: Binding loop detected for property "implicitWidth" file:///usr/share/kpackage/kcms/kcm_nightcolor/contents/ui/main.qml:160:9: QML FormLayout: Binding loop detected for property "implicitWidth" file:///usr/share/kpackage/kcms/kcm_nightcolor/contents/ui/main.qml:160:9: QML FormLayout: Binding loop detected for property "implicitWidth" file:///usr/share/kpackage/kcms/kcm_nightcolor/contents/ui/main.qml:191:42: QML TimingsView: Binding loop detected for property "implicitWidth" file:///usr/share/kpackage/kcms/kcm_nightcolor/contents/ui/main.qml:102:9: QML FormLayout: Binding loop detected for property "implicitWidth" zsh: segmentation fault systemsettings5 ```
I have started the whole program in gdb. Here is the backtrace: ``` % gdb systemsettings5 GNU gdb (Gentoo 8.3.1 vanilla) 8.3.1 Copyright (C) 2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-pc-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <https://bugs.gentoo.org/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from systemsettings5... (gdb) run Starting program: /usr/bin/systemsettings5 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7fffe3b4f700 (LWP 6947)] [New Thread 0x7fffdbfff700 (LWP 6948)] [New Thread 0x7fffd97af700 (LWP 6949)] org.kde.kcoreaddons: Error loading plugin "kcm_kscreen" "Die dynamische Bibliothek konnte nicht gefunden werden." Plugin search paths are ("/usr/lib64/qt5/plugins", "/usr/bin") The environment variable QT_PLUGIN_PATH might be not correctly set [New Thread 0x7fffcb5ef700 (LWP 6951)] file:///usr/lib64/qt5/qml/org/kde/kirigami.2/templates/InlineMessage.qml:136: TypeError: Value is undefined and could not be converted to an object file:///usr/lib64/qt5/qml/org/kde/kirigami.2/templates/InlineMessage.qml:136: TypeError: Value is undefined and could not be converted to an object file:///usr/lib64/qt5/qml/org/kde/kirigami.2/templates/InlineMessage.qml:136: TypeError: Value is undefined and could not be converted to an object file:///usr/lib64/qt5/qml/org/kde/kirigami.2/templates/InlineMessage.qml:136: TypeError: Value is undefined and could not be converted to an object file:///usr/lib64/qt5/qml/org/kde/kirigami.2/templates/InlineMessage.qml:136: TypeError: Value is undefined and could not be converted to an object org.kde.kcoreaddons: Error loading plugin "kcm_nightcolor" "Die dynamische Bibliothek konnte nicht gefunden werden." Plugin search paths are ("/usr/lib64/qt5/plugins", "/usr/bin") The environment variable QT_PLUGIN_PATH might be not correctly set file:///usr/lib64/qt5/qml/org/kde/kirigami.2/templates/InlineMessage.qml:136: TypeError: Value is undefined and could not be converted to an object WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: Phonon::createPath: Cannot connect Phonon::MediaObject ( no objectName ) to Phonon::AudioOutput ( no objectName ). WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded file:///usr/share/kpackage/kcms/kcm_nightcolor/contents/ui/main.qml:203:42: QML LocationsAutoView: Binding loop detected for property "implicitWidth" file:///usr/share/kpackage/kcms/kcm_nightcolor/contents/ui/main.qml:160:9: QML FormLayout: Binding loop detected for property "implicitWidth" file:///usr/share/kpackage/kcms/kcm_nightcolor/contents/ui/main.qml:160:9: QML FormLayout: Binding loop detected for property "implicitWidth" file:///usr/share/kpackage/kcms/kcm_nightcolor/contents/ui/main.qml:191:42: QML TimingsView: Binding loop detected for property "implicitWidth" file:///usr/share/kpackage/kcms/kcm_nightcolor/contents/ui/main.qml:102:9: QML FormLayout: Binding loop detected for property "implicitWidth" Thread 1 "systemsettings5" received signal SIGSEGV, Segmentation fault. 0x00007ffff1f22d6d in QQuickWindowPrivate::removeGrabber(QQuickItem*, bool, bool) () from /usr/lib64/libQt5Quick.so.5 (gdb) bt #0 0x00007ffff1f22d6d in QQuickWindowPrivate::removeGrabber(QQuickItem*, bool, bool) () from /usr/lib64/libQt5Quick.so.5 #1 0x00007ffff1f0e41e in QQuickItemPrivate::derefWindow() () from /usr/lib64/libQt5Quick.so.5 #2 0x00007ffff1f105e6 in QQuickItem::~QQuickItem() () from /usr/lib64/libQt5Quick.so.5 #3 0x00007ffff1f3165e in QQmlPrivate::QQmlElement<QQuickRectangle>::~QQmlElement() () from /usr/lib64/libQt5Quick.so.5 #4 0x00007ffff3e86ba0 in QObject::event(QEvent*) () from /usr/lib64/libQt5Core.so.5 #5 0x00007ffff1f0d563 in QQuickItem::event(QEvent*) () from /usr/lib64/libQt5Quick.so.5 #6 0x00007ffff4e21312 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #7 0x00007ffff4e2a880 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #8 0x00007ffff3e5cd7f in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #9 0x00007ffff3e5fc84 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQt5Core.so.5 #10 0x00007ffff3eb0493 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/libQt5Core.so.5 #11 0x00007fffecd5c8b2 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #12 0x00007fffecd5cb40 in g_main_context_iterate.isra () from /usr/lib64/libglib-2.0.so.0 #13 0x00007fffecd5cbcf in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #14 0x00007ffff3eb0230 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #15 0x00007ffff3e5bceb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #16 0x00007ffff3e637b2 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5 #17 0x0000555555560269 in main () (gdb) quit A debugging session is active. Inferior 1 [process 6943] will be killed. Quit anyway? (y or n) y ```
Thank you for the bug report. Unfortunately we were not able to get to it yet. Can we ask you to please check if this is still an issue with Plasma 5.25 or 5.26? If it is, please change the status to CONFIRMED when replying. If not, or if you can't because you no longer use this setup, you can change the status to RESOLVED WORKSFORME. Thanks a lot!
The bug was still present up until a few week. I have another monitor now, which showed the same behavior (other monitors interestingly not). Also kwin seemed to crash in this cases (I have to restart it). However, I have a new Laptop now, thus not able to reprocude it anymore. As a summery: Probably the bug is still present (I have not updated kwin or kscreen since then, but cannot reproduce due to another setup).