Ticket #297 (closed defect: fixed)

Opened 3 years ago

Last modified 7 weeks ago

screen blanking broken (obsolete rules.yaml)

Reported by: spaetz Owned by: ainulindale
Priority: major Milestone:
Component: SHR Image Version: SHR-unstable
Keywords: Cc:

Description (last modified by spaetz) (diff)

Our current /etc/freesmartphone/oevents/rules.yaml
(in ipkg frameworkd-config-shr-0.8.4.4+gitr1080+c38059ea32a8ef32c1a1d7b05f1bde709b6c83c3-r1)

contains screen blanking/unblanking rules:
{{{ #

# Idleness Brightness Handling
#
trigger: IdleState?()
filters: HasAttr?(status, "busy")
actions: SetDisplayBrightness?("pcf50633_bl", 90)

-

trigger: IdleState?()
filters: HasAttr?(status, "idle_dim")
actions: SetDisplayBrightness?("c", 20)

-

trigger: IdleState?()
filters: HasAttr?(status, "idle_prelock")
actions: SetDisplayBrightness?("pcf50633_bl", 0)

}}}

This causes this dbus call to blank the screen:

2009.01.30 22:30:26 oeventsd.action INFO call dbus signal /org/freesmartphone/Device/Display/pcf50633_bl SetBrightness?((90,))

which fails with

2009.01.30 22:30:26 oeventsd.action ERROR signal SetBrightness? emited an error org.freedesktop.DBus.Error.UnknownMethod?: Method "SetBrightness?" with signature "i" on interface "org.freesmartphone.Device.Display" doesn't exist

It seems that something had changed and the Display is now just enumerated as "0". This works:

mdbus -s org.freesmartphone.odeviced /org/freesmartphone/Device/Display/0 org.freesmartphone.Device.Display.SetBrightness? 80

So what we need to do in order to fix this is update rules.yaml. The current FSO upstream uses Display name "0" rather than "pcf50633_bl" and everything seems happy.

Upstream file:  http://git.freesmartphone.org/?p=framework.git;a=blob;f=etc/freesmartphone/oevents/rules.yaml;h=f82114f0e2bb95267f706d41e4b6bb5a68e28ecf;hb=HEAD

So we could fix this by updating the package of patching our own version, as far as I can see.

Change History

comment:1 Changed 3 years ago by spaetz

  • Description modified (diff)

OK, just tested it, just replacing all occurrences of pc f50633_bl with 0 in

 http://git.shr-project.org/git/?p=shr-overlay.git;a=blob;f=openembedded/packages/frameworkd-config-shr/frameworkd-config-shr/rules.yaml

makes screen blanking work again. One further problem is that illume "Power" settings also have blanking turned on by default, and those overlap and confuse each other.

comment:2 Changed 3 years ago by spaetz

  • Priority changed from minor to major
  • Summary changed from screen blanking broken to screen blanking broken (obsolete rules.yaml)

comment:3 Changed 3 years ago by spaetz

I am a bit confused about who brings in that file.

opkg search /etc/freesmartphone/oevents/rules.yaml
frameworkd-config-shr - 0.8.4.4+gitr1080+c38059ea32a8ef32c1a1d7b05f1bde709b6c83c3-r1 - /etc/freesmartphone/oevents/rules.yaml

but unpacking the files, it seems to be in

frameworkd-config_0.8.4.9+gitr1104+e9ce74390961554e7a7af4a6c7c90f7c1b389288-r4_om-gta02.ipk

Perhaps someone knows better than me how and where that is created

comment:4 Changed 3 years ago by spaetz

After talking to raster on IRC, I am convinced that the approach taken by FSO is very hacky and should not be implemented. It works behind X's back (just tweaking the backlight) rather than taking advantage of X feature (xscreensaver, dpms (real screen suspending!). What it should do is

a) either issue the appropriate "xset" commands to enable/disable/invoke the screen saver or

b) it frameworkd should send appropriate signals that a client (e.g. illume power settings) could listen to and issue the correct commands. This would be preferable, as the power app runs as the user and knows the DISPLAY var, whereas frameworkd.conf runs (potentially) as a different user and would have to hard code an assumed DISPLAY variable.

comment:5 Changed 3 years ago by spaetz

  • Status changed from new to closed
  • Resolution set to fixed

comment:6 Changed 7 weeks ago by morphis

  • Milestone MS1 deleted

Milestone MS1 deleted

Note: See TracTickets for help on using tickets.