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

Reply via email to