diff --git a/plugins/platforms/drm/drm_backend.cpp b/plugins/platforms/drm/drm_backend.cpp index a2b70eeb42..bddfad2a4e 100644 --- a/plugins/platforms/drm/drm_backend.cpp +++ b/plugins/platforms/drm/drm_backend.cpp @@ -341,11 +341,14 @@ bool DrmBackend::updateOutputs() if (m_gpus.size() == 0) { return false; } + const auto oldOutputs = m_outputs; for (auto gpu : m_gpus) gpu->updateOutputs(); std::sort(m_outputs.begin(), m_outputs.end(), [] (DrmOutput *a, DrmOutput *b) { return a->m_conn->id() < b->m_conn->id(); }); - readOutputsConfiguration(); + if (oldOutputs != m_outputs) { + readOutputsConfiguration(); + } updateOutputsEnabled(); if (!m_outputs.isEmpty()) { emit screensQueried(); diff --git a/plugins/platforms/drm/drm_output.cpp b/plugins/platforms/drm/drm_output.cpp index cdd954fad0..3808df43b7 100644 --- a/plugins/platforms/drm/drm_output.cpp +++ b/plugins/platforms/drm/drm_output.cpp @@ -352,7 +352,7 @@ void DrmOutput::initEdid(drmModeConnector *connector) } } if (!edid) { - qDebug() << "could not find edid for connector" << connector << connector->connector_id; + qCWarning(KWIN_DRM) << "Could not find edid for connector" << connector << connector->connector_id; return; }