libera/#maemo-leste/ Wednesday, 2022-09-21

freemangordonuvos: https://pastebin.com/qi3etigN08:30
freemangordonkeep in mind that display is not locked, just the brightness is set to 008:37
freemangordonWizzup: what is this? https://github.com/maemo-leste/maemo-system-services/commit/091af968e7a30fee440b4809dee0f5b1973594ef08:57
Wizzupfreemangordon: I think if we remove that, it will 'fail' to start due to some openrc timeout11:06
freemangordonthough so, just wanted a confirmation :)11:08
freemangordonWizzup: are you aware of any type of signal that is send by gnome, kde, whatever when it starts/is started?11:10
freemangordonuvos removed MCE_BOOTUP_SUBMODE but we shall restore that. the issue is that it is cleared on hildon-desktop specific dbus signal11:11
freemangordonbefore I start arguing on whether mce should care about anything non h-d, I would like to know if there exists a standard way of understanding when bootup sequence is over11:14
Wizzupyes, we need that11:14
WizzupI don't know if there's any standard way, probably not...11:14
* freemangordon checks what nemo guys do11:16
freemangordonok, I guess we can create "boot" modules that are specific for each usecase and detect boot process end11:24
freemangordonand we can have hildon_boot module that waits for h-d to start11:25
freemangordonotherwise, this is what SF do: https://github.com/sailfishos/mce/blob/master/modules/display.c#L805011:27
freemangordonhttps://github.com/sailfishos/mce/blob/master/modules/display.c#L515411:27
uvosi strongly doubt that a boot state is needed, what for? because of blanking pause?12:05
freemangordonyes12:05
freemangordonbut, it is not that simple12:05
uvosmce should not be a system deamon at all, thats a hangover from fremantle bad arch12:05
uvosit only dose session things and should be started with the session12:06
uvosand should only affect its session, thats the direction im working12:06
freemangordonmce controls display blanking, so you should know when to blank and when not to12:06
uvosthis also obviates any problems beacuse mce will only start with the session too12:06
freemangordonhow's that? what if we want to display some "session start" vide?12:07
freemangordon*video12:07
uvosstart mce after, the fact that mce, for instance, changes the blanking state of other sessions is highly broken12:07
uvosand that other sessions all talk to the same mce12:07
uvosbecause what it manages is session state, not system state really.12:07
freemangordonhonestly, I don;t understand why do you think mobile phone shall act as a workstation12:08
freemangordonthis multisession thingie brings absolutely nothing to improve UX12:08
uvosofc it dose12:09
freemangordonit just makes things overcomplicated without any gain I can see12:09
freemangordonalso, adding one more module does not stop mce from being whatever you like12:09
freemangordonjust din't load it, right?12:09
uvos1. sane interoperatbility with other uis (you can install hildon and plamo at the same time for instance) giveing user choice. 2. security, currently many things on leste run with root permissions that realy dont need to. 3. mapphones are transforming devices, they DO turn into workstations on demand,12:10
freemangordonin leste there wil never be multisession stuff, as long as it depends on my opinion12:10
freemangordonso, leste *is* hildon more or less, amd all daemons shall support hildon, in the first place12:11
freemangordon*and12:11
freemangordoneverything else is not mission critical12:11
uvosleste should not exist imo12:11
freemangordonthen I wonder what do you do on the channel12:11
uvosidealy it would just be hildon-session and be a part of debian/devuan whatever normal distro12:11
uvosthis means dealing with sessions12:12
freemangordonhow feasible do yo think this is?12:12
uvosso that installing leste dosent break the whole system12:12
freemangordonin 10 years? ... maybe12:12
uvospretty feasible imo12:12
freemangordonno, it tooks years to push a single patch in distros, take my glib patch for example12:12
freemangordonand they constantly remove things12:13
freemangordonwe simply don;t have the manpower to play that gamne12:13
freemangordon*game12:13
freemangordoneither we are distro or we stop doing anything as it does not make sence12:13
uvosyour optinon not mine12:13
freemangordonefforts were done back then by way more powerful players that 3 of us to push hildon in debian12:14
freemangordonfail12:14
uvosif these efforts where as uncompromizing wrt functionaltiy as you sure12:14
norayrthere was someone who became a pmos maintainer for hildon. i think we all want hildon to work on as many distros as possible, we'd like it to be in mobian and maybe debian as well.12:14
freemangordonsure, because I want a mobile I can count on12:14
uvosi can count on means 100% fremantle parity and behavior in detail12:15
freemangordonnorayr: hildon itself works whatever you compile it12:15
uvosofc that makes everything way more work12:15
freemangordonthe point is that hildon as such does not make a mobile OS12:15
freemangordonand *mobile* support is non-existent in big distros12:15
freemangordonthat's why we do what we do12:16
uvosthe other mobile uis work fine as sessions, sure they still have lots of stuff forked to but they actively work on becomeing closer to being "simple desktops"12:16
uvoswayland helps alot with that ofc12:16
freemangordonah, yeah, the next best thing12:17
uvosmce really is only a thing beacuse hildon is a wm12:17
freemangordonhow exactly mutisession helps?12:17
uvoshmm?12:17
uvoshow wayland helps mutisession?12:17
freemangordonUX wise12:18
freemangordonwe were discussion multisession, you brought WL to the table12:18
freemangordonso, ignore WL12:18
uvosi awnsered this question12:18
uvos"1. sane interoperatbility with other uis (you can install hildon and plamo at the same time for instance) giveing user choice. 2. security, currently many things on leste run with root permissions that realy dont need to. 3. mapphones are transforming devices, they DO turn into workstations on demand"12:18
uvospoint 1 is also sane install process on manny devices12:19
freemangordonpushing months of effort in multisession to cover some corner usecaes when we miss basic functionality is not really helpful for the project12:19
freemangordonI care no for other UIs, so this is not an argument12:19
freemangordonlike, it is good to have12:19
freemangordonbut if we don;t have it, well...12:19
uvosbut being a regular xdg session would free lots of time to12:19
uvosbecause we are currently stuck messing with hw support for a handfull of devices12:20
freemangordonhow exactly, if we speek in terms of the boot process. how do you imagine managing the boot session in terms of visual lock, for example?12:20
uvoswhile really we should focus on our session and pool the hw stuf with the other uis by being part of some distro12:20
freemangordonagreed on the HW part12:21
freemangordonbut that's not what I am talking about12:21
uvosbut that requires us to be a sane session12:21
freemangordonok, what about doing it like this:12:21
uvosanyhow so boot with lock12:21
uvos1. phone boots, nodm runs, our session is default, we run tklock as normal12:22
uvosthats how other uis work...12:22
freemangordonlets have some meeting or, dunno, each of us to draft how s/he thinks boot process shall look like12:22
Wizzupso ofonod would not run until our session starts?12:22
freemangordonand then discuss and have a clear picture what we shall aim for12:22
uvosWizzup: maybe sure, that would not be our choice but the distros12:22
WizzupI don't think that's a maybe, I think that's important, also wrt emergency calls12:23
uvosbut ofono running only when our session starts is no problem12:23
Wizzupeither that or the login manager has to handle calls12:23
uvosas we would reccomend nodm as default12:23
norayrthis is also why open nource and democratically governed projects are way better than proprietary ones? nokia or some company would need a product at the market asap, and they would be (and they was) ok with lots of dirty things, they even forked debian, without caring to be at least compatible with sarge repos. and then people were 'porting' mcabber like programs to maemo.12:23
uvosnodm just starts the default session and dose nothing else12:23
uvosWizzup: emergency calls would work as before, currently you cant place one untill our "session" starts anyhow12:24
uvosits just that session has leaks all over the place is the difference12:24
uvosnow if the user decides to install some other dm other than nodm thats his problem12:24
Wizzupif we require mce to be part of our session, it still needs to collaborate with us, no?12:25
freemangordonuvos: even in that scenario, mce should know when the init is done12:25
Wizzupthis feels quite fringe to me atm12:25
uvosi dont see why12:25
uvos@mce12:25
uvosit starts at almost the same time as hildon then12:25
freemangordonto not blank the screen before it is needed12:25
uvoswhy would need to know anyhtin12:25
Wizzupsince mce is -our- project12:25
uvosg12:26
uvosif you want to display some video on session start, fine12:26
uvosrun a window that blocks mces balnking via the inhibit dbus interface12:26
uvosno need to invent some new global state12:26
freemangordonno, I don;t want it to blank the screen before DE has finished whatever it has to in its startup12:26
uvosa problem in theory, but not in pactice12:27
freemangordonno, sorry, that's overkill12:27
uvoswhats happeing that the startup of the de is longer than the blaning interval?12:27
freemangordonthis is the problem in practice and I will capture a video to show you12:27
uvosthis is not caused by what you think12:27
freemangordonexactly this is the point12:27
uvosmce has 25 sec on the timer12:27
uvoswhen your blank occures12:28
uvossomething is triggerin an immidate blank either external or some missbhavieing module12:28
uvosthis is not related12:28
WizzupI think we need to strike a balance between how much effort we put in 'making everything fdo compliant' and actually getting something that works well. from my perspective getting something that works well and is single session is a good point to start looking at multi session behaviour, because we have a known-good state12:28
freemangordonif you set blanking to 10 seconds, it blanks 10 seconds after dsme reports "init finished"12:28
Wizzup(and we're not at that state yet imho)12:28
freemangordonagree12:29
uvosright because mce is a system deamon its starting to early12:29
uvosthats why i was talking about where im taking it12:29
uvos(makeing it session only...)12:29
freemangordonsure, but until we have multisession we shall fix that12:29
freemangordonand I think I proposed the least intrusive way12:30
freemangordonwhi, BTW, will continue work even after we have multisesson12:30
freemangordon*which12:30
uvosthe least intrusive way is just to write a xessesion script that kicks mce12:30
uvosno need for any interfaces or modes12:30
freemangordonnot now12:30
freemangordonif ever I am going to12:31
uvosno i mean just restart mces timer12:31
uvosas the first xsession script12:31
uvosyou can just do that with no change to mce12:32
uvosalso btw12:32
freemangordonand what if it takes 120s for h-d to start?12:32
uvossomething external to mce is missbehaveing in your bootup log12:32
uvosand its not in mine so im gona say systemui12:32
freemangordoncould you elaborate?12:33
uvossomething is contiously checking display state and forceing it on via dbus..12:33
uvosso yeah12:33
uvosand the blank there as i said12:33
uvosis not beacuse of the inactivity timer12:33
uvosits something else12:33
freemangordonwhat else?12:33
uvosidk12:33
uvosbut the timer never expires12:33
freemangordonok, but this happens only lemme provide you with some extended logs12:34
freemangordonI put some traces12:34
freemangordonhttps://pastebin.com/qU5K1iXp12:34
uvosSep 21 12:02:55 localhost mce[2733]: inactivity: device inactivity timeout 1012:35
freemangordondisplay_state_trigger 112:35
uvosSep 21 12:03:00 localhost mce[2733]: tklock.c: opening tklock mode 112:35
freemangordonyes12:35
uvosthe display begins blaning 5 sec12:35
uvosafter the timer is reset to 1012:35
uvosits not the timer12:36
uvosthe other log is even clearer12:36
freemangordonsure it is not12:36
uvosbeacuse you had a 30s timer12:36
freemangordonmce tries to tklock12:36
uvossure12:36
uvosby why12:36
uvosbut12:36
uvosthis is the bug12:36
uvosnot something else12:36
freemangordonwith bootmode_state, tklock will know what happens: https://github.com/maemo-leste/mce/blob/59d0d5e18a0b5df5ca752f5888b4207789a4d85b/src/modules/lock-tklock.c#L111012:38
uvossure12:38
uvosbut thats peppering over a problem12:38
uvos*papering12:38
uvosthere is no reason for mce to trigger a lock at that time12:38
uvosit dose so erroniously12:38
freemangordonas I said, mce shall not touch the display until DE had started12:39
uvosit should not, with no requirement for any bootstate12:39
uvosas mce has no reason to trigger a lock until the timer expires is the point12:39
norayrsicelo, btw i forgot to tell you one very bad thing about phosh: you cannot run pidgin on it, as well as any multiwindow program: it gives the focus only to the last opened window of that program and other windows are not responsive at all.12:39
freemangordonbut, it does now because it has no clue if DE has started ot not12:39
uvosno12:40
freemangordonanyway, lunch time, ttyl12:40
uvosits not preventing it becasue it has no clue12:40
uvosthe trigger is still comeing from somehwere12:40
uvosi also wonder whats spamming mce with display reqests...12:41
freemangordonok, I will put traces on the pipe12:41
freemangordonbut, that will not solve the other issue mce shall wait for DE ti signal 'ready' before doing any blanking or whatever12:42
freemangordonmultisession or not12:42
uvosi dont see that as nessecary at all really12:42
uvosits a solution in search of a problem12:43
freemangordonbecause you have determined startup procedure that way12:43
freemangordonwe may want to switch to parallel bot at some point12:43
freemangordon*boot12:43
uvosso12:43
freemangordonand startup times (esp on a fast device) will be very short12:43
uvosgreat12:43
uvoseven less of an issue then12:43
freemangordonno, sorry12:44
uvosunless you mean to say "mce might start even earlier relatvie to other suff then" well depdens helps with that.12:44
freemangordonmce shall have deterministic, not random behaviour when it comes to when to start blanking it terms of startup12:46
freemangordonso, blanking period shall start after DE is ready12:47
freemangordonno way to achieve that without signal from DE12:47
freemangordonso, I am going to write that module. ofc, if you know better/cheaper way to achieve, please share12:48
uvosthere needent be a difference significant to care about, and a bit of randomness is no problem as long as it is a small time compeared to the overall blank interval12:48
uvosbesides the blaning interval was totaly broken on fremantle an no one seam to notice12:49
freemangordonsorry, lunch12:49
uvos(the tlock issue wasent the only one....)12:49
freemangordonttyl12:49
freemangordonI'll capture a video later on to show you why I think UX is broken if we don't serialize12:51
freemangordonbbl12:51
freemangordonuvos: http://46.249.74.23/leste/20220921_001.mp414:04
uvosfreemangordon: the video dosent show anything14:42
uvosfreemangordon: it shows the same thing as the log14:42
uvosfreemangordon: some interaction with systemui/tklock causes mce to turn off the display, this interaction is a bug14:43
uvosits not related to when hildon starts at all14:43
uvosor the timeout or so on14:43
uvoswe need to figure out what is (explicitly) telling mce to blank14:44
uvosdisregarding if its nessecary for other reasons, papering over the problem by adding a global mode that makes mce happen to ignore this request is not the solution14:46
freemangordonok, I'll put additional trtaces14:59
uvosif id have to gues15:04
uvosid say its because there blanking timers in mce tkloc.c15:05
uvosthat do sepcial timeouts for vtklock15:05
uvosbut15:05
uvosusualy tklock blocks these with dnd15:05
uvosso they would seam vestigial15:06
norayri have 'sapwood-server' MUST be started before applications' messages if i run pidgin or other gtk apps from console.15:09
norayrwhat does that mean? can i start that sapwood?15:09
uvosnorayr: whats your DISPLAY?15:09
norayroh i see sapwood server is started15:10
norayruvos - right question. i tried to run pidgin with x forwarding now to reconfigure.15:10
norayrso it's only when the display is not local?15:10
uvossapwood breaks x remoteing15:11
norayrthen other question - which is the default gtk theme? alpha, default, raleigh?15:11
uvosyour DSIPLAY needs to be :0.0 and nothing else15:12
norayri'd like to change it temporarily with gtk-chtheme because this theme doesn't draw some things in pidgin. some edit boxes.15:12
uvosyes also not :015:12
norayrinteresting.15:12
uvosthere is a terrible bug somwhere15:12
uvoswhere something dosent know zaphodhead is a thing15:12
uvosand :0.0 and :0 are aliases15:12
norayror which theme should i install temporarily?15:14
norayrwhich is used now? i cannot see even that by running gtk-chtheme.15:14
uvosim not sure what your asking about themes15:14
norayrhildon draws everything on black, right?15:16
norayrso that's some maemo gtk theme. how is it called?15:16
rafael2k_there is a way to call gtk apps with different theme16:33
rafael2k_I do this for qcam and other apps which misbehave with default maemo theme16:33
rafael2k_for qt stuff at least, I need to use "-platform xcb -style=fusion"16:34
rafael2k_otherwise I get some black on black things16:35
freemangordonuvos: which pipe shall I watch?16:43
freemangordondisplay_brightness_pipe?16:44
freemangordonI guess this comes from alarm_state in tklock16:50
freemangordonalso, I still don;t understand who is going to display alarms if there is no session (like when we are in charge mode)16:52
freemangordonbut that's anotehr story16:52
norayrrafael2k_: how is the state of libcamera?16:58
norayrdo you also consider other devices, not only pinephone?16:59
norayrwill we have camera working on pinephone?16:59
norayrwill we have camera working on droid?16:59
Wizzupeventually, yes17:00
norayreventually i know, and i believe!17:00
norayr(:17:00
norayrit's interesting how is the state, maybe already we can use some cam software (not megapixels), and i don't know?17:01
norayrrafael2k_: i remember i was doing this, yes, running with different gtk themes. i should have scripts somewhere...17:01
norayroh i was exporting like this:, and i had several different gtkrc files: export GTK2_RC_FILES=~/gtkrc_grqi-217:03
uvosfreemangordon: charge mode simply exits to a script on alarm17:05
uvosthis script can do anything17:05
uvosrn it switches runlevels to boot to hildon17:06
uvosconciveably it could start some session too17:06
uvosfreemangordon: so 2 things in your log looks really off17:09
uvosfreemangordon: one is someone is hammering display_status_get_dbus_cb via dbus17:09
freemangordonI will have extended traces in 2-3 minutes17:10
rafael2knorayr: status is "works for me" state, as nobody else tested17:10
freemangordonbuilding ATM17:10
uvosand the other thing is after Submode changed to 513 someone requests display off via display_state_pipe17:11
rafael2knorayr: the idea on using libcamera is exactly for having a low-level which can support multiple hardware17:11
uvossomeone is also hammering display on at the same time17:11
uvos(probubly dbus it comes right agter display_status_get_dbus_cb)\17:12
uvos(probubly dbus it comes right agter display_status_get_dbus_cb)17:12
freemangordonI don't have any idea how to check who calls that17:12
rafael2kneed to leave now, but anyone wants to discuss the the camera architecture on maemo, we can talk tomorrow17:12
freemangordon(dbus call I mean)17:12
rafael2kbtw, camera is working on pinephone, we just don't have proper userland support yet17:13
uvoswell some other process is calling display_status_get_dbus_cb and then the display on req several times per second in your log17:13
uvosthats.. not great even if its not the cause of the current problem17:13
uvospretty sure its systemui as it dosent occure in my log17:14
freemangordonseveral times per second?17:15
uvosyes look at 9:12:58 in your first log17:15
uvosbut it also continues elsewhere17:16
uvosanyhow it stoppes before the real problem starts17:17
uvosso its unlikely to be related17:17
freemangordonhmm, right17:19
freemangordonuvos: we geg   device_inactive_trigger in display.c17:22
freemangordon*get17:22
freemangordonhmm, maybe this happens after timeout17:23
freemangordonlemme pastebin the log17:23
uvosso who calles it17:23
uvosclearly not inactivity_timeout_cb17:23
freemangordonhttps://pastebin.com/iAu5mS3z17:24
uvosso the only users of device_inactive_pipe are: camera (not loaded), inactivity-inhibit (dosent call inactive), lock-generic (not loaded), battery-upower (hmm), inactivity (not it), lock-tklock (this one maybe), event-input17:25
uvoscant be tklock.c either17:26
freemangordonlooks like inactivity17:26
uvoscant be battery-upower17:26
freemangordonSep 21 18:16:11 localhost mce[2726]: device_inactive_trigger device_inactive 1 !!!!!!17:27
freemangordonSep 21 18:15:42 localhost mce[2726]: inactivity: device inactivity timeout 3017:27
freemangordon30 seconds17:27
uvosdosen jive with your logs17:28
uvosSep 21 18:21:37 localhost mce[2726]: inactivity: device inactivity timeout 3017:28
uvosSep 21 18:21:37 localhost mce[2726]: display: Sending display status: dimmed17:28
uvos< 1s17:28
freemangordonthis is after that17:28
uvossure if you wait 30s it will dim17:28
freemangordonlook at 18:16:1117:29
uvosbut thats not the problem here, its that it dims way before that17:29
freemangordonyes, it dims @ 18:15:4217:29
freemangordonugh, I got lost17:30
freemangordonit dims @  18:16:1117:30
freemangordonmaybe as a result of "Received init done notification"17:31
uvosit dimms at 18:16:11 beause the timer expired17:31
freemangordonor maybe because the last timer reset was 30 seconds ago17:31
freemangordonyes17:31
uvosbut that wasent in the other logs17:32
freemangordonbut by that time it still boots17:32
freemangordonmaybe traces change some timing17:32
uvosnah we where just looking at the wrong event17:33
freemangordoncould be17:33
freemangordonwhere is the correct one?17:33
uvosno idea why it dimms later17:33
uvosyeah the other logs have just one dimmed event17:34
uvosand its right after a timer reset17:34
uvosah no17:34
uvosi get it17:34
uvosit is the timer17:34
freemangordonmhm17:34
uvoseven in the other logs17:35
freemangordon"Sending inactivity status: inactive"17:35
uvosbecause the dim has its own timer too17:35
uvosso it comes 2 or so s after the timer expires17:35
uvosby that time something reset the timer again17:35
uvosbut that should cancle the dim17:35
uvosso its the same bug as your other bug17:35
freemangordonis it possible it the the same bug17:35
uvosyes17:35
freemangordonright17:35
uvosalrighty then17:36
freemangordonok, please fix as you have time, I will test and will see if we still need startup module17:36
uvosprobubly yes17:37
uvosfor 10s17:37
uvosunfortinatly for now17:37
freemangordonI will make it listen for h-d startup event17:37
uvosno17:37
freemangordonthis module will be specific to hildon17:37
uvossure but17:37
uvosmaybe a xsession script that runs last is sufficant? it could be shipped with mce and would work anyhere17:38
freemangordonit is the same17:38
freemangordonsec17:38
uvosalso dont we have some init script that waits for hildon17:39
uvoswhats that for anyhow?17:39
uvosits just some hack with a sleep17:39
freemangordonwait a minute17:39
freemangordonsee Xsession.post/hildon-desktop-wait17:40
freemangordonthis is that "ready" signal I am talking about17:40
freemangordonexactly what you said17:40
uvosright ok17:40
freemangordonit is not signalled by h-d itself17:40
uvosfine17:40
freemangordongreat that we have a deal :D17:41
uvosmaybe also add a fallback that exits booting mode after some time17:41
freemangordonsure17:41
uvos(long ofc)17:41
freemangordonright17:41
freemangordonactually it is Xsession.post/21hildon-desktop-wait17:42
freemangordonbut that's another story17:42
uvosoh also dont re-add the signal to display.c17:43
uvosit belongs in inactivity.c now17:43
freemangordonsure17:44
freemangordonbut, I'll re-add to tklock17:44
uvosuh17:44
freemangordonwell, ok, will see17:44
freemangordonit might not be needed17:44
uvosthat seams like the wrong place17:44
freemangordonok17:45
freemangordonbut I need that dim bug fixed first17:45
uvossure17:45
freemangordonI won;t have reliable test case otherwise17:45
freemangordonttyl17:46
siceloMaemo Leste21:52
sicelonorayr: about phosh ... you can submit an issue in their bugtracker. they're very welcoming21:57
norayrit's on gnome gitlab right?21:58
norayri commited something to squeekboard about a year ago.21:59
siceloi think so, yes. they have a matrix room too21:59
norayrsicelo, i had an impression it is such a limitation they won't be able to overcome.22:00
sicelowhat makes  you think so?22:01
norayri don't know, the talk in pmos room probably. they didn't give me hope it is possible to overcome the focus issue.22:02
norayri'll try to open the issue, thank you for suggestion.22:02
norayrit didn't come to my mind.22:02
sicelopmOS != phosh. pmOS are just consumers22:04
siceloi don't use pidgin on my desktop, but i don't think wayland and/or sway (wlroots) has a special reason for multi-window applications to have issues. phosh is wlroots based, so i doubt there are real reasons why they couldn't support multi-window22:10
sicelothey might choose not to, but i guess that's not a technical limitation22:10
sicelos/that's not/that would not be/22:10
uvosim probubly not totaly up to date on pidigin development, but isent pidgin still gtk2/x11 only? ie it runs in xwayland on wayland display servers?22:27
uvosif so i would not be terribly suprized if phosh devs have more serious issues to work on than fixing a multi-window x11 app22:28
* numonyx on pidgin+sway. no window focus issue23:01

Generated by irclog2html.py 2.17.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!