Commit 2632e418 authored by Roman Gilg's avatar Roman Gilg
Browse files

[platforms/drm] Allow running without outputs

Summary:
Set outputs enablement also when none outputs are present. This patch is
similar to earlier attempt at D17985.

BUG: 402827
BUG: 389551
BUG: 398680
BUG: 413758

Test Plan:
Starting without outputs, manual disconnects and DPMS changes. There is still
an issue when an output gets disconnected while the DPMS is off. But it's an
improvement already.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Maniphest Tasks: T10016

Differential Revision: https://phabricator.kde.org/D26511
parent ee5f63c0
......@@ -350,9 +350,7 @@ void DrmBackend::openDrm()
updateOutputs();
if (m_outputs.isEmpty()) {
qCWarning(KWIN_DRM) << "No outputs, cannot render, will terminate now";
emit initFailed();
return;
qCDebug(KWIN_DRM) << "No connected outputs found on startup.";
}
// setup udevMonitor
......@@ -501,6 +499,7 @@ void DrmBackend::updateOutputs()
m_outputs = connectedOutputs;
m_enabledOutputs = connectedOutputs;
readOutputsConfiguration();
updateOutputsEnabled();
if (!m_outputs.isEmpty()) {
emit screensQueried();
}
......@@ -754,9 +753,6 @@ DrmSurfaceBuffer *DrmBackend::createBuffer(const std::shared_ptr<GbmSurface> &su
void DrmBackend::updateOutputsEnabled()
{
if (m_enabledOutputs.isEmpty()) {
return;
}
bool enabled = false;
for (auto it = m_enabledOutputs.constBegin(); it != m_enabledOutputs.constEnd(); ++it) {
enabled = enabled || (*it)->isDpmsEnabled();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment