<table><tr><td style="">alnikiforov created this revision.<br />alnikiforov added reviewers: apol, davidedmundson.<br />Herald added a project: Plasma.<br />Herald added a subscriber: plasma-devel.<br />alnikiforov requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D27278">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>When DPMS extension isn't available, powerdevil unexpectedly exits due to a call to unavailable DPMS function and Qt error handling for such errors.</p>

<p>Following is a full log of powerdevil process when DPMS extension isn't present:</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="console" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);"><span style="color: #000080">$ /usr/libexec/kf5/org_kde_powerdevil</span>
<span style="color: #808080">QDBusArgument: read from a write-only object</span>
<span style="color: #808080">QDBusArgument: read from a write-only object</span>
<span style="color: #808080">QDBusArgument: read from a write-only object</span>
<span style="color: #808080">powerdevil: No outputs have backlight property</span>
<span style="color: #808080">powerdevil: Xrandr not supported, trying ddc, helper</span>
<span style="color: #808080">powerdevil: [DDCutilBrightness]  0 display(s) were detected</span>
<span style="color: #808080">powerdevil: org.kde5.powerdevil.backlighthelper.brightness failed</span>
<span style="color: #808080">powerdevil: DPMS extension not available</span>
<span style="color: #808080">The X11 connection broke: Unsupported extension used (code 2)</span>
<span style="color: #808080">XIO:  fatal IO error 2 (No such file or directory) on X server ":0" </span>
<span style="color: #808080">      after 408 requests (408 known processed) with 0 events remaining.</span></pre></div>

<p>This was detected while running KDE in a VM (without x2go). For some reason 'xdpyinfo -queryExtensions' didn't report DPMS extension being present.</p>

<p>Only change in 'PowerDevilDPMSAction::onProfileUnload' was required to fix issue for me, but changes in other functions could be needed as well, thus I implemented it. Two calls to m_helper, 'm_helper->startFade()' and 'm_helper->stopFade()', had corresponding conditions left intact since it looks like it doesn't call DPMS-related functions.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R122 Powerdevil</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D27278">https://phabricator.kde.org/D27278</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>daemon/actions/dpms/powerdevildpmsaction.cpp</div></div></div><br /><div><strong>To: </strong>alnikiforov, apol, davidedmundson<br /><strong>Cc: </strong>plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart<br /></div>