diff --git a/src/plugins/platforms/drm/drm_object.cpp b/src/plugins/platforms/drm/drm_object.cpp index fee607f6d7..6202f5488b 100644 --- a/src/plugins/platforms/drm/drm_object.cpp +++ b/src/plugins/platforms/drm/drm_object.cpp @@ -305,7 +305,12 @@ bool DrmObject::Property::needsCommit() const bool DrmObject::Property::setPropertyLegacy(uint64_t value) { - return drmModeObjectSetProperty(m_obj->m_gpu->fd(), m_obj->id(), m_obj->m_objectType, m_propId, value) == 0; + if (drmModeObjectSetProperty(m_obj->m_gpu->fd(), m_obj->id(), m_obj->m_objectType, m_propId, value) == 0) { + m_current = m_next = m_pending = value; + return true; + } else { + return false; + } } void DrmObject::Property::initEnumMap(drmModePropertyRes *prop) diff --git a/src/plugins/platforms/drm/drm_pipeline.cpp b/src/plugins/platforms/drm/drm_pipeline.cpp index deb3d47fad..f93e72d17c 100644 --- a/src/plugins/platforms/drm/drm_pipeline.cpp +++ b/src/plugins/platforms/drm/drm_pipeline.cpp @@ -260,6 +260,7 @@ bool DrmPipeline::modeset(int modeIndex) } else { m_crtc->setCurrent(m_primaryBuffer); } + m_connector->getProp(DrmConnector::PropertyIndex::Dpms)->setCurrent(DRM_MODE_DPMS_ON); } return true; }