Re: [E-devel] enlightenment blanking issue
[email protected] Mon, 20 Jun 2022 22:50:17 +0200
| Newsgroups | gmane.comp.window-managers.enlightenment.devel |
|---|---|
| Message-ID | <[email protected]> |
On 6/20/22 16:21, Carsten Haitzler wrote: > On Mon, 20 Jun 2022 14:01:44 +0200 [email protected] said: > >> On 6/13/22 11:42, Carsten Haitzler wrote: >>> On Sun, 12 Jun 2022 17:13:15 +0200 [email protected] said: >>> >>>> On 6/10/22 10:22, Carsten Haitzler wrote: >>>>> On Fri, 10 Jun 2022 08:45:44 +0200 [email protected] said: >>>>> >>>>>> On 6/9/22 23:53, Carsten Haitzler wrote: >>>>>>> On Thu, 9 Jun 2022 22:41:08 +0200 [email protected] said: >>>>>>> >>>>>>>> On 6/9/22 12:16, Carsten Haitzler wrote: >>>>>>>>> On Thu, 9 Jun 2022 10:41:25 +0200 [email protected] said: >>>>>>>>> >>>>>>>>>> On 6/9/22 09:55, Carsten Haitzler wrote: >>>>>>>>>>> On Wed, 8 Jun 2022 19:50:27 +0200 [email protected] said: >>>>>>>>>>> >>>>>>>>>>>> On 6/8/22 19:17, Carsten Haitzler wrote: >>>>>>>>>>>>> On Wed, 8 Jun 2022 15:39:17 +0200 [email protected] said: >>>>>>>>>>>>> >>>>>>>>>>>>> actually wait - is this a laptop? or using ddc? dimming timeout >>>>>>>>>>>>> set? then the 30 sec may be the dimming timeout. e will run a >>>>>>>>>>>>> timer after that that then totally blanks the screen. this timer >>>>>>>>>>>>> is cancelled when the screensaver is cancelled (when the screen >>>>>>>>>>>>> dims the screen is basically in screensaver mode) >>>>>>>>>>>> It's just a laptop >>>>>>>>>>> >>>>>>>>>>> ok - that explains the 30 sec then - that's the dimming timeout. >>>>>>>>>>> does the screen dim automatically after 30 sec of idle input? >>>>>>>>>> No, screen doesn't dim after 30 sec of idle input. >>>>>>>>>> Screen blanks after 2 minutes (according to settings), but sometimes, >>>>>>>>>> maybe once a day, it doesn't blank at all. If i restart e, it blanks >>>>>>>>>> normally. >>>>>>>>> >>>>>>>>> that's odd. screen should dim. you have backlight support? does it >>>>>>>>> work manually with the gadget? >>>>>>>> >>>>>>>> Yes that's odd...I have backlight support and gadget in shelf. See >>>>>>>> settings in attached file >>>>>>> >>>>>>> so backlight controls work? you can manually change brightness? does the >>>>>>> backlight dim after 30 sec of no input if you leave things idle? btw >>>>>>> your normal backlight is 5% .. that's really odd.... it should be >>>>>>> HIGHER than the dim level of 30%... >>>>>> >>>>>> I set backlight higher than dim level, and dim works now. >>>>>> Maybe this explains why, sometimes, blanking doesn't work, but it >>>>>> happens randomly... >>>>> >>>>> well now you at least have saner backlight settings (these are not >>>>> defaults >>>>> - the defaults are 100% and 30% for normal and dim levels). the first >>>>> thing you should look for is if the screen dims after 30 sec od idle - if >>>>> it does then screensaver is then activating. e uses the x screensaver >>>>> notify event fromto dim the backlight (and screensaver deactivate to >>>>> un-dim (go back to bright)). once idle e runs a timer that then waits for >>>>> "the rest of the time" until the screen needs to go blank. so if dim >>>>> timeout is 30 sec, and blanking time is 2 min, then e runs a timer for >>>>> 1.5min. when this timer is hit then e will "fade to blank" and fade out >>>>> the rest of the backlight to off too. x's dpms timeouts are set to expire >>>>> a little bit after this "fade to black" (about 10 seconds after as you >>>>> can see in xset's dpms settings) so the screen will completely power off >>>>> then (but will appear black by this point). >>>>> >>>>> so the first thing to do is to notice... is the dimming happening? if it >>>>> is not then there is a problem earlier on with screensaver notify events >>>>> not happening. that means either the x screensaver has been suspended in >>>>> some way (it was totally turned off - some apps go mess with screensaver >>>>> settings - xset q will tell you if screensaver is on or off and the >>>>> timeout) and some apps may take a screensaver "block" from x and ask it to >>>>> temporarily suspend the screensaver. chromium and chrome based browsers >>>>> will do this when playing videos - sometimes ads on a web page can cause >>>>> this if they play videos. youtube does it... the best way to eliminate >>>>> this is to close your browser and see if the problem continues. steam >>>>> will also kill off blanking even if it just runs as a service in the >>>>> background and no game is running. this s an ongoing issue with sdl/steam >>>>> actively trying to keep the screen alive. in git i just added support for >>>>> a dbus service used by some other wm's and de's that does the same as the >>>>> x screensaver suspend/block feature - but it's asking whoever runs the >>>>> dbus service to suspend blanking/screensaver - in this case e will >>>>> advertise this service and it gets the requests. now e knows who asked to >>>>> block the screensaver and will list who asked in a submenu of the main e >>>>> menu under "blanking block". some apps will prefer to use this dbus >>>>> service instead of the x screensaver suspend extension feature, thus it >>>>> may help identify the problem too. you can remove that blank clock by >>>>> just selecting it in the menu and e will remove that blocker. like here: >>>>> >>>>> http://www.enlightenment.org/ss/e-62a2fefb1df8c2.44000455.png >>>>> >>>>> it's very basic but enough to debug it. i'll make it prettier in future >>>>> with eventually a proper dialog or some gadget with popups or some shelf >>>>> indicators etc. >>>> >>>> I see DPMS blanking (but blanking works) doesn't work when other X >>>> session is launched from other user account in the same time. >>>> This issue doesn't happen when using other wm like xfce4, fluxbox... >>> >>> even without screensaver active, dpms should still kick in. e.g.: >>> >>> Screen Saver: >>> prefer blanking: yes allow exposures: yes >>> timeout: 0 cycle: 0 >>> ... >>> DPMS (Energy Star): >>> Standby: 46 Suspend: 47 Off: 48 >>> DPMS is Enabled >>> Monitor is On >>> >>> a timeout of 0 on screensaver disables it - but with dpms still set to a >>> value ... dpms now turns on instantly at 46 seconds. you won't see e nicely >>> fade to black because it won't get a screensaver notify event .. but dpms >>> still happens. dpms is controlled by the xserver. when the timeout is hit >>> then dpms will automatically just happen (it does here). the screen turns >>> off. if this is not happening then the xserver is choosing not to make it >>> happen. either the xserver (and/or driver) has a bug OR more likely some >>> process is suspending screensaver/blanking entirely - as i mentioned. there >>> is an extension to do that. xset q will show if something has manually >>> messed with dpms/screen saver settings but you can't see who/what requested >>> a suspend. something that is an x client has asked to suspend. check what >>> apps you are running that are x clients. something has done this - what - i >>> don't know. check all your processes in details and kill off anything that >>> is not from e or efl ... i guess the problem will go away then. then it's a >>> matter of eliminating the client that causes it. as i mentioned - there are >>> some clients that do this like browsers. steam is worse - it plays with x >>> screesnaver/dpms settings directly AND it has bugs and gets it wrong. i >>> know rage will auto-suspend screensaver if in fullscreen mode. it does this >>> assuming when in fullscreen you want a "media experience". you may have >>> other apps around that do this. you could write a LD_PRELOAD that wraps >>> XScreenSaverSuspend() from libXss and then log all processes calling this >>> to suspend or unsuspend and then find out if someone is doing it... but as >>> i said - the other option is a bug... but dpms is entirely done by the >>> xserver internally. e sets the timeouts to go off after screensaver and so >>> thats why they are set to the timeouts you see - if dpms is not working >>> even with these timeouts set and dpms is enabled (xset q) then ... its the >>> xserver not doing this. >>> >>> there is only one other option i can think of ... there is some input coming >>> in. mouse, touchpad, keyboard ... something .. so input is going into x to >>> keep it alive. i don't remember if the x test extension will have events >>> reset the idle timeout. this would be very very very odd if something was >>> doing this... but it's possible and as i said - i am not sure if xtest >>> extension events reset idle timeout. i'd have to test. >>> >> >> I see enlightenment blanking issue happens when spotify web page is >> opened in firefox. There's no option in firefox, like in vlc or smplayer >> to choose wether allow blanking or no blanking. I think enlightenment >> has too many rights, only the user should be able to choose. > > this is not an enlightenment thing. it's the xserver. any x client can ask the > xserver to suspend blanking. thgere is no permissioning or way to block it. > close firefox (or spotify) and i think it'll start blanking again. i have > noticed if you have some videos playing browsers will suspend blanking (even > video oadvertisments can do it). the browsers do this DIRECTLY with the xserver. > e has no choice in this. they talk to the xserver, not e. they use the x > screensaver extension and ask it to suspend blanking. e is not told. e has no > choice. read up on the x screensaver extension and the suspend api call i > mentioned: XScreenSaverSuspend() > Precisions: I connect to spotify web interface with firefox and play music When music is played, blanking doesn't work but if i stop music playing, blanking works. I tested with e16 'xset s 5 +dpms' Same behaviour... -- Maderios