Re: [E-devel] enlightenment blanking issue
[email protected] Thu, 18 Aug 2022 22:59:36 +0200
| Newsgroups | gmane.comp.window-managers.enlightenment.devel |
|---|---|
| Message-ID | <[email protected]> |
On 8/18/22 20:59, Carsten Haitzler wrote: > On Thu, 18 Aug 2022 17:08:31 +0200 [email protected] said: > >> On 8/13/22 23:05, Carsten Haitzler wrote: >>> On Sat, 13 Aug 2022 10:58:17 +0200 [email protected] said: >>> >>>> On 8/12/22 20:27, Carsten Haitzler wrote: >>>>> On Fri, 12 Aug 2022 10:02:55 +0100 Carsten Haitzler <[email protected]> >>>>> said: >>>>> >>>>>> On Fri, 12 Aug 2022 10:18:32 +0200 [email protected] said: >>>>>> >>>>>>> On 6/20/22 16:23, Carsten Haitzler wrote: >>>>>>>> On Mon, 20 Jun 2022 15:46: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 >>>>>>>>> >>>>>>>>> I use last e and efl git master versions but this function is not >>>>>>>>> available for me >>>>>>>> >>>>>>>> that menu only appears if some application has used the screensaver >>>>>>>> suspend dbus api that i added recently to e. if no one used the api >>>>>>>> then that menu will not be there. i do see chromium uses it if it is >>>>>>>> there. if it's not there 9the dbus api) then browsers seem to use the >>>>>>>> x screensaver extension to suspend blanking. >>>>>>>> >>>>>>> Enlightenment blanking issue appears after watching Twitter video inside >>>>>>> Firefox, even after closing Twitter window. >>>>>>> But not for all Twitter videos: sometimes blanking works normally, >>>>>>> sometimes not... >>>>>> >>>>>> if e has disabled blanking itself due to a dbus call like above (to >>>>>> inhibit blanking) then you will see from 'set q': >>>>>> >>>>>> Screen Saver: >>>>>> prefer blanking: yes allow exposures: yes >>>>>> timeout: 0 cycle: 0 >>>>>> >>>>>> when blanking is on again you will see: >>>>>> >>>>>> Screen Saver: >>>>>> prefer blanking: yes allow exposures: yes >>>>>> timeout: 1800 cycle: 0 >>>>>> >>>>>> or some timeout number that is more than 0. if there is anything in in >>>>>> the "Blanking Block" submenu of e's main menu - then something has asked >>>>>> to block blanking (e.g. your web browser). if there is nothing in that >>>>>> menu then nothing has asked to do this. you should see the xset q output >>>>>> show a timeout that is more than 0 like above. >>>>>> >>>>>> remember that ANY x client can change screensver timeout - not just q. so >>>>>> this is not a guarantee that e is messing up and not setting this right - >>>>>> some other client might. steam certainly likes to play with screensaver >>>>>> timeout. >>>>>> >>>>>> if the screensaver timeout is more than 0 and the screen doesn't blank, >>>>>> then the problem is probably because some client is using the >>>>>> xscreensaver library to inhibit suspending. clients do this directly to >>>>>> the xserver. the wm is not involved. the only way to release this >>>>>> screensaver inhibiting is for the client that requested it to release it >>>>>> OR to kill/close that client. my guess is your problem lies with >>>>>> firefox. the best test is - kill/close firefox (actually kill/close all >>>>>> x apps/clients other than e) and if the screen starts blanking again - >>>>>> then you know your problem is one of these apps/clients. set your screen >>>>>> blank timeout to something very short like 0.1 minutes in e and test >>>>>> this. that's how i've figured out all the blanking problems and that >>>>>> they are all seemingly coming from web browsers these days and them >>>>>> having video content (n youtube or even in advertisements and other >>>>>> content you don't realize is a video). web browsers only recently >>>>>> started inhibiting screen suspending (in the last year or 2 or so). >>>>>> before that the big culprits were steam and games and they have their >>>>>> own bugs related to this too. >>>>> >>>>> I just tested this with chromium ... and guess what - i saw the same issue >>>>> as you - no blanking blocks but blanking doesnt work... close chromium - >>>>> now it begins to work again. you have bug reports to file with the browser >>>>> developers. they are forcibly holding open some inhibition lock - probably >>>>> with xscreensaver extension. >>>>> >>>> I can't report this bug to firefox team because issue happens only with >>>> enlightenment... As i said, only e has a blanking issue with firefox. >>>> Other solution that works with other wm: xset. >>>> I could use 'xset s 120 +dpms' but it doesnt work with enlightenment >>> >>> I'm doing some deep testing right now. chromium is broken,. firefox works >>> fine actually. chromium itself is broken. proof. using xtrace to trace >>> protocol: >>> >>> https://github.com/yuq/xtrace.git >>> >>> ./xtrace chromium | grep MIT-SCREEN-SAVER-Request >>> ... >>> 000:<:06e0: 8: MIT-SCREEN-SAVER-Request(144,0): QueryVersion major >>> version=1 minor version=1 >>> 000:<:06e1: 8: MIT-SCREEN-SAVER-Request(144,5): Suspend suspend=true(0x01) >>> 000:<:06e4: 8: MIT-SCREEN-SAVER-Request(144,5): Suspend suspend=true(0x01) >>> 000:<:09e9: 8: MIT-SCREEN-SAVER-Request(144,5): Suspend suspend=true(0x01) >>> 000:<:0aa3: 8: MIT-SCREEN-SAVER-Request(144,5): Suspend suspend=false(0x00) >>> 000:<:0aa8: 8: MIT-SCREEN-SAVER-Request(144,5): Suspend suspend=true(0x01) >>> 000:<:0aaa: 8: MIT-SCREEN-SAVER-Request(144,5): Suspend suspend=true(0x01) >>> 000:<:0aad: 8: MIT-SCREEN-SAVER-Request(144,5): Suspend suspend=false(0x00) >>> 000:<:0adf: 8: MIT-SCREEN-SAVER-Request(144,5): Suspend suspend=true(0x01) >>> 000:<:0ae1: 8: MIT-SCREEN-SAVER-Request(144,5): Suspend suspend=true(0x01) >>> >>> manual page for XScreenSaverSuspend: >>> >>> XScreenSaverSuspend temporarily suspends the screensaver and DPMS >>> timer if suspend is 'True', and restarts the timer if suspend is 'False'. >>> This function should be used by applications that don't want >>> the screensaver or DPMS to become activated while they're for example in >>> the process of playing a media sequence, or are otherwise >>> continuously presenting visual information to the user while in a >>> non-interactive state. This function is not intended to be called by >>> an external screensaver application. >>> If XScreenSaverSuspend is called multiple times with suspend >>> set to 'True', it must be called an equal number of times with suspend >>> set to 'False' in order for the screensaver timer to be restarted. This >>> re‐ quest has no affect if a client tries to resume the screensaver without >>> first having suspended it. XScreenSaverSuspend can thus not be >>> used by one client to resume the screensaver if it's been suspended by >>> another client. >>> >>> the 2nd paragraph specifically: "If XScreenSaverSuspend is called multiple >>> times with suspend set to 'True', it must be called an equal number of >>> times with suspend set to 'False' in order for the screensaver timer to be >>> restarted." >>> >>> chromium is provably BROKEN. it suspends multiple times then only >>> un-suspends once to match, it keeps gaining more suspend counts without >>> releasing them. chromium does this even though e offers the dbus >>> screensaver inhibit protocol >>> - it does BOTH. >>> >>> firefox works fine for me here. tested it with youtube videos playing. only >>> tab open is youtube so not complicating things with multiple tabs. chromium >>> is broken. provably. e is not broken. proof above that at least one browser >>> is totally broken. >>> >>> as i said - check set q. see what screensaver and dpms are set to with xset >>> q - if they are set to non-zero values then e has set everything right. if >>> they are set and closing firefox makes it work again... guess what? firefox >>> has a bug. >>> >> 'set q' does nothing for me > > it isn't meant to DO anything. it queries - tells you your status of various > core xserver properties > >> 'set' gives a lot of informations but nothing about blanking >> >> For 2 minutes e blanking setting, i get strange 'timeout: 30' >> xset q >> Xcreen Saver: >> prefer blanking: yes allow exposures: yes >> timeout: 30 cycle: 0 > > that's the DIMMING timeout. you have backlight dimming enabled. > >> Issue doesn't happen with youtube but only with twitter videos. >> Other thing, i forgot to say that, sometimes, enlightenment blanking >> works but not dpms >> However i can see: >> xset q >> DPMS (Energy Star): >> Standby: 130 Suspend: 131 Off: 132 >> DPMS is Enabled >> Monitor is On >> But DPMS doesn't work... > > dpms is set to 130 sec - i assume blanking is 2 min (120sec). dpms is handled > by the xserver itself. xm (e) is just setting it to be on and start at > 130seconds after going idle. > >> As I said, blanking works with all other windowmanager in same >> conditions (after twitter videos playing) with : >> xset s 120 +dpms >> I should like to use xset but strangely, it doesn't work with enlightenment > > and as i said - if you close the browser, it works right? thus the browser is > your problem. pretty simple. :) If i close browser it works right. Blanking works right too with firefox opened in other window manager. but I don't want to use other wm... Issue happens *only with e*, that's why I decently can't report a bug to firefox devs. I think I'm not alone concerned with this problem. Other people can reproduce this blanking issue with twitter videos -- Maderios _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel