diff --git a/plugins/platforms/drm/drm_backend.cpp b/plugins/platforms/drm/drm_backend.cpp --- a/plugins/platforms/drm/drm_backend.cpp +++ b/plugins/platforms/drm/drm_backend.cpp @@ -387,6 +387,7 @@ } drmoutput->setChanges(changeset); } + emit screens()->changed(); } DrmOutput *DrmBackend::findOutput(quint32 connector) diff --git a/plugins/platforms/drm/drm_output.cpp b/plugins/platforms/drm/drm_output.cpp --- a/plugins/platforms/drm/drm_output.cpp +++ b/plugins/platforms/drm/drm_output.cpp @@ -604,6 +604,7 @@ qCDebug(KWIN_DRM) << "Server setting position: " << m_changeset->position(); m_waylandOutput->setGlobalPosition(m_changeset->position()); m_waylandOutputDevice->setGlobalPosition(m_changeset->position()); + setGlobalPos(m_changeset->position()); // may just work already! } if (m_changeset->scaleChanged()) {