[mythtv-users] viewer falls asleep with the EPG open - plasma burn in concerns

Johnny Walker johnnyjboss at gmail.com
Mon Mar 29 19:13:47 UTC 2010


On Mon, Mar 29, 2010 at 1:32 PM, Michael T. Dean
<mtdean at thirdcontact.com> wrote:
> On 03/29/2010 10:45 AM, Johnny Walker wrote:
>>
>> On Tue, Mar 23, 2010 at 7:15 PM, Johnny Walker wrote:
>>
>>>
>>> On Thu, Mar 11, 2010 at 9:01 PM, Daniel Kristjansson wrote:
>>>
>>>>
>>>> On Thu, 2010-03-11 at 19:30 -0600, Johnny Walker wrote:
>>>>
>>>>>
>>>>> So the only way I can think to protect my Plasma from EPG burn-in
>>>>> (aside from never falling asleep) would be to re-enable it when the
>>>>> EPG is loaded on the screen, even if I'm still in LIVETV mode.
>>>>>
>>>>> Does this sound correct?
>>>>>
>>>>
>>>> Yes, sounds reasonable.
>>>>
>>>> In working on this I found the following in the code
>>>>
>>>
>>> libmythui/screensaver-x11.cpp:
>>>
>>> if (m_timeoutInterval == -1)
>>>         {
>>>             m_timeoutInterval = GetMythDB()->GetNumSettingOnHost(
>>>                 "xscreensaverInterval", GetMythDB()->GetHostName(), 50) *
>>> 1000;
>>>         }
>>>
>>>         if (m_timeoutInterval>  0)
>>>             StartTimer();
>>>
>>> I don't seem to have 'xscreensaverInterval' in my settings table.
>>>
>>> I grepped my working copy of .22 and I don't see it mentioned anywhere
>>> else.
>>>
>>> The reason I'm asking is - I've put 'xset s 60 60' in my .xsessionrc file
>>> and somehow it's getting changed to 0 which is making my screensaver not
>>> happen when I'm paused.
>>>
>>> I added a call to EnableScreensaver to the NuppelVideoPlayer::Pause
>>> method
>>> but since 'xset q' shows it's back at 0 it does me no good. When I
>>> manually
>>> 'xset s 60 60' again however, it starts working as expected.
>>>
>>> Do any of you know what gives
>>
>> Ok - I've grepped through the code for .22 lookiung for 'xset' and I don't
>> see where the code would be disabling the screen saver.
>>
>
> MythTV never does anything with xset.  It only tests to see if xscreensaver
> or gnome-screensaver is running.  If so, it will "poke" the screensaver once
> every 50sec (the default value of the hidden xscreensaverInterval setting
> you mentioned above) to prevent the screensaver from activating during
> playback.
>
> Note, however, that many screensaver programs will enable/disable things
> like DPMS.
>
>> When I'm in Media Library -->  Watch Videos - and a video ends and returns
>> me
>> to that screen, the display just sits there, waiting to burn in on my
>> Plasma
>> television.
>>
>> If I ssh in to the frontend and run 'xset s 60 60' it starts working and
>> protecting my screen.
>>
>> I'm really concerned about this - it seems like an odd oversight in the
>> functionality. Am I the only one having this issue?
>>
>
> Any reason you're not running one of the supported screensaver programs?
>

Where are those listed? I used the xfrce settings manager to enable
that adorable little ant with a flashlight nose screensaver and it
never appears when mythfrontend is running. When I said previously
that I can enter 'xset s 60 60' and it works as expected, I kinda
lied. The screen dims but Rudolph the Flashlight Ant never appears.

> I have a plan (very low on my TODO list--especially since I don't use
> screensavers on MythTV) to add xdg-screensaver (
> http://portland.freedesktop.org/xdg-utils-1.0beta3/xdg-screensaver.html )
> support to MythTV (see http://portland.freedesktop.org/wiki/ ).  By default,
> MythTV would use xdg-screensaver, if available.  If not, it would fall back
> to the current xscreensaver/gnome-screensaver support.
>
> Since xdg-screensaver works on a completely different principle from
> xscreensaver/gnome-screensaver, we can't just stick xdg-screensaver in place
> of the xscreensaver/gnome-screensaver commands in the current code.  The
> current code never deactivates (or activates) the screensaver program, but
> just sends it messages periodically that it should not activate.  This way,
> if mythfrontend crashes, it doesn't leave the screensaver deactivated.
>
> xdg-screensaver, on the other hand, uses a suspend/resume approach.
>  mythfrontend would ask xdg-screensaver to suspend the screensaver and
> provide a mythfrontend window ID.  Then, when the screensaver should resume,
> mythfrontend would tell xdg-screensaver.  If mythfrontend crashes,
> xdg-screensaver would notice the window with the given ID disappearing and
> would let the screensaver resume normal operations.
>
> If you'd like to work on this, I'd love to be able to mark it off my TODO
> list.  :)
>

I would /LOVE/ to work on this.  Is there already a trac ticket? (I
suppose I could go look)

> And, as you and Daniel are aware, the current code doesn't really handle
> transitions from "suspend" to "resume" very well.  We keep poking the
> screensaver when the EPG is displayed, and there may be other parts of Myth
> where we should disable the screensaver and we don't.  So, even just fixing
> these up would be nice.
>
> Mike

I've been drawing the same conclusions and am glad to hear you confirm
it. I was worried I had something munged up on my system.

-JohnnyJboss


More information about the mythtv-users mailing list