libera/#maemo-leste/ Thursday, 2024-01-04

freemangordonWizzup: yes, with haze07:46
freemangordonweather app uses 70MB07:52
freemangordonso I am started to think this is qml07:53
freemangordonWizzup: hmm, not sure if group chats do not work properly in 0.6, will checj07:56
freemangordon*check07:56
freemangordonarno11: how did you set-up the account?07:57
freemangordonI can confirm purple-facebook works properly though, in both pidgin and haze07:58
dsc_qml did not change much since few months08:14
freemangordondid we check the memory usage back then?08:30
dsc_Wizzup has been monitoring it and claims it has onl recently increassed08:35
dsc_I also took some tests months ago but did not remember the values, but nothing out of the ordinary08:35
dsc_< freemangordon> weather app uses 70MB <== how much is conversations currently?08:36
freemangordon9808:36
dsc_iirc was always in this range, maybe even more08:37
dsc_but not a lot more08:37
freemangordonthis is huge08:37
freemangordonmem usage shall be no more than 40MB08:38
freemangordon(lets say)08:38
freemangordonOMP, which is qt as well, uses ~5008:39
dsc_hmm08:39
freemangordonbut conversations being resident all the time shall use less08:39
freemangordonso, my bet is on QML engine08:40
dsc_freemangordon: do you still have that hello-world example around? could you check that?08:40
* freemangordon checks08:40
freemangordonqml_hello uses 52MB08:42
freemangordonthe other one uses 6508:43
freemangordonthat's the one that uses   QQuickWidget08:45
freemangordondsc_: ^^^08:46
dsc_there was a plan to decouple conversations such that a daemon is always running to register incoming messages, and the GUI be a seperate process that communicates with it08:46
dsc_this was resident mem is low08:46
dsc_this way*08:46
dsc_so that is one "solution"08:46
freemangordonno, we shall find a way to reduce mem usage to a sane value08:46
dsc_yes08:46
freemangordonlike using qtwidgets08:46
dsc_and removing the QML?08:47
freemangordoninstead of QQuickWidget08:47
freemangordonnot sure08:47
freemangordonbut we shall remove QQuickWidget at least08:47
freemangordonthis one alone gives 15MB diff in sample apps08:47
dsc_hmm08:47
arno11freemangordon: i can confirm it worked once (with very last tp haze update) then, catastrophical after reboot08:48
freemangordonand is also not recommended by qt docs08:48
freemangordonarno11: ok, but please, explain what did you do08:48
freemangordonand what is catastrophical08:49
dsc_freemangordon: why do you think I made it via QQuickWidget08:49
freemangordonbecause I am looking into the code08:49
arno11fresh install, update to devel + FB plugin and ui08:49
freemangordonhttps://github.com/maemo-leste/conversations/blob/master/src/mainwindow.cpp#L5508:49
dsc_yes, but why08:49
freemangordonno idea08:50
dsc_so I can remove the widget when 10 windows are opened and only 1 is active ^^08:50
dsc_was a attempt at reducing mem footprint08:50
freemangordonsee, I am not blaming you for qml being mem hungry :)08:51
freemangordonwhat I am saying is that we have an issue that shall be fixed08:51
dsc_yes :)08:51
freemangordonif theat measns that we shall remove qml, so be it08:52
freemangordon*means08:52
dsc_quite a lot of work went into that08:52
freemangordonsure, if you find other way, that's fine08:52
freemangordonbut I am afraid there is no, given that simple sample app showing just a drawing takes 65MB08:53
dsc_we've had this interface for a while, only now I am receiving this constraint ^^08:54
freemangordondsc_: how do you think, how usable is app that takes nearly half of the RAM?08:55
freemangordonalso, I still don;t understand why do you take that personally08:56
arno11freemangordon: i think someone (other than me) must check what's going on from a fresh install09:00
freemangordonarno11: please elaborate on "catastrophical"09:02
freemangordonok, I will check when I have time09:02
freemangordonbut still, I see nothing obviously wrong with the latest changes that can result in catastrophe09:02
arno11i'm totally agree09:03
freemangordonso, please give me some details on what's going on09:03
freemangordonare you sure you start tp-haze properly?09:03
arno11yes09:03
freemangordonbecause if account is set to be online, then TP start it for you09:03
freemangordonand you cannot have 2 instances running09:04
arno11let me explain (a bit long)09:04
freemangordonok09:04
dsc_I think for the n900 it is def. a problem09:07
dsc_for the d4 not so much09:07
dsc_I suggest a QtWidgets only version for n90009:08
arno11from a fresh install with devel upgrade and FB plugin and ui, it worked once...then after reboot i got some weird troubles like presence-ui disappering, some apps thinking there is no network, pidgin running @100% cpu, starting PA and python3 threads09:08
dsc_even if QML goes down to 50mb its still too much09:09
dsc_for something that ought to just render text chats...09:10
dsc_so, support to switch between QtWidgets/QtQuick09:10
dsc_im not removing the QML interface completely, ill let you know right now, someone else can do that09:11
dsc_technical implementation would be: 2 binaries that have different linkage09:12
dsc_< dsc_> im not removing the QML interface completely, ill let you know right now, someone else can do that <== what I mean is, if it is decided to get rid of the QML interface in favor of QtWidgets, I wont do that09:13
freemangordondsc_: lets not take any decisions, it my turn out it can be optimized09:13
freemangordonarno11: I would bet you OC too much09:14
dsc_and for both cases, the daemon/client architecture could mitigate the remaining resident memory fears09:14
arno11no even with boost deativated, it doesn't work09:14
arno11and troubles start just after boot so overclock can't be involved09:15
uvos__we could also just have sphone be the default message ui for very memory constrained devices (n900 essentally)09:15
uvos__sure atm that comes with reduced feature set (no group chats, text only messaging) but its tiny09:16
uvos__and i will have to maintain sphones message ui anyhow since i use it oustide of maemo09:16
uvos__i think trying to reduce the memory usage of qml is a fools errand09:17
freemangordonarno11: no idea what's going on with your device, but I can assure you it is not related to fb plugin09:20
freemangordonso, if I were you, I would flash new image, install whatever needed and do not OC until proven stable09:21
freemangordonthen I would OC to 720 and keep it like that for a week or so09:22
freemangordonthen to 80509:22
freemangordonand no more09:22
arno11freemangordon: again, overclock is not in use...09:22
uvos__i used to run my droid 1 (also omap3) at 1050MHz09:22
uvos__:P09:22
freemangordonbut, did you OC before it broke?09:23
arno11overclock can't work on boot09:23
uvos__1ghz wasent usual on those09:23
uvos__*unusual09:23
freemangordonyeah, there are some samples of n900 that were reported to run at 95009:23
freemangordonno idea how stable and for how long :)09:23
uvos__arno11: well one thing is that if you over oc you get memory corruption, which can end up as disk corruption09:24
freemangordonarno11: did you run the device OCed even for a while?09:24
freemangordonexactly09:24
uvos__so you might be hosed even after removeing oc09:24
freemangordonright09:24
freemangordonarno11: and given that you flashed new image because your old one had similar symptoms, I would say it it the OC to blame09:25
freemangordonand you should not push to 85009:25
arno11i use 805 max09:25
freemangordonthe same applies09:25
freemangordoneven that is high09:26
freemangordoncould you run fsck on the fs?09:26
freemangordonthoug, it might show noting09:26
uvos__time for btrfs xD09:27
freemangordon:)09:27
uvos__might actually be a good way to check a oc long term09:27
freemangordonarno11: really, I would recommend to start from scratch and *do not* enable OC09:27
freemangordonthat way if you hit the same issue, we will know it is not OC to blame09:28
arno11ok but i'm writing from the device and got no time to answer to all stuff...09:28
freemangordonI just rebooted my d4, which uses exactly the same fb/haze as your n90009:28
freemangordonand it has absolutely no issue whatsoever09:28
freemangordonhave to run, bbl09:33
dsc_freemangordon: https://github.com/maemo-leste/conversations/tree/noquick10:42
dsc_its a branch with all qml removed, but rtcom/TP still working10:42
dsc_so could check the difference between with/without QML there10:42
dsc_cmake -DCMAKE_BUILD_TYPE=Release -Bbuild .10:43
dsc_make -Cbuild -j4 conversations-tiny10:43
dsc_./build/bin/conversations-tiny10:43
Wizzupdsc_: I get:10:55
Wizzup/home/user/conversations/src/chatwindow.cpp:69:20: error: ‘class Ui::ChatWindow’ has no member named ‘quick’ 69 |   auto *qctx = ui->quick->rootContext();10:55
dsc_Wizzup: make -Cbuild -j4 conversations-tiny10:56
Wizzupok10:56
Wizzupit does save some ram11:00
Wizzupmax heap usage for just the first5 seconds is about 100MB without and 168MB with11:00
Wizzupbut I am not sure if we need to care at this point11:00
Wizzuprtcom-messaging-ui on fremantle uses 6.7% memory on the n900 with some windows open, conversations is 17% on the n900 atm, QML is maybe half of that11:05
Wizzupthere is still plenty of ram available on the n900 too11:05
dsc_still, its quite easy for me to make something switch between QtWidgets/QtQuick11:19
dsc_by having 2 binaries11:19
dsc_so that option is available11:19
WizzupI think we stay the course for now but keep this in mind11:19
Wizzupthere's still the other 60% of memory that goes to non-qml things11:20
WizzupI'd rather have a fully functional conversations with no memleaks and qml than nothing11:20
dsc_:)11:21
Wizzupalso splitting things out in two binaries at this point is also not a good idea, we're still figuring out how to it fully pt aware11:21
Wizzups/pt/tp/11:21
dsc_no I meant we'd have `conversations` and `conversations-tiny`, the latter would omit linkage against Quick11:21
dsc_what you just ran does not link against quick11:22
dsc_so I only need to add a QTextBox for the chat11:23
dsc_etc.11:23
WizzupI mean, you can if you want to toy with it11:23
dsc_above PR is like 70% of that hehe11:23
dsc_and via `cmake -> make` it would generate those 2 targets11:24
dsc_anyway I rather look into room registration right now11:24
WizzupI think both are fine yes11:24
Wizzupwrt room registration, we'll have to join on various times from tp (reconnect due to network, or when the account is first online)11:24
Wizzupand I would use the local_uid as key11:25
dsc_alright11:25
Wizzupand we might want to offer some interface to get the current channels from the tp account class11:25
Wizzuposso-addressbook uses 12.1% ram on n900 btw (compared to 10.3 conversations atm)11:27
Wizzupplus, most of qml might just be shared with other qml apps11:30
Wizzuphttps://forum.qt.io/topic/25330/memory-footprint-of-qml-applications?_=1704364377034&lang=en-US11:30
dsc_< Wizzup> and we might want to offer some interface to get the current channels from the tp account class11:49
dsc_^-- u haz hint as to what method to use or shall I look?11:49
Wizzupdoesn't exist yet11:50
dsc_i know11:52
dsc_https://github.com/KDE/kte-collaborative/blob/master/kte-plugin/ktpintegration/inftube.cpp#L11711:53
dsc_they are doing it by directly asking dbus11:53
dsc_even though they use Tp11:54
dsc_ill look11:54
Wizzupfreemangordon: I don't think that is tp12:00
Wizzupthey are talking to themselves there I think12:00
arno11freemangordon: overclock is not involved, still the same issue, but doing expandcard then reboot, dist-upgrade then reboot, extras installing stuff then reboot, setting up an account with pidgin works (works in every cases with bitlbee and bitlbee-FB), with almost no cpu usage12:05
Wizzupfreemangordon: whatever empathy does to read purple vars, it doesn't use dbus12:05
arno11purple-facebook refuses to connect and presence-ui doesn't work12:05
arno11maybe that's just an issue with my account btw12:05
Wizzupfreemangordon: seems to deal with a tmp file /var/tmp/haze-59dFiV/accounts.xml12:07
freemangordonWizzup: sorry, I am missing the context12:28
freemangordonarno11: please, please, try to not use "does not work" etc, explain what does not work instead12:29
freemangordondoes purple-fb work through pidgin?12:30
freemangordonif it does not, then there is no point to test it with presence-ui, accounts-ui, conversation s, empathy etc12:31
Wizzupfreemangordon: I am trying to understand how empathy gets the purple-specific settings through haze12:32
freemangordonah12:32
freemangordonthey are visible through tp interfaces12:32
Wizzupweird, I did dbus-montor12:32
Wizzupmonitor12:33
Wizzupgrepped for it with empathy running12:33
freemangordonsec, lemme try to find it12:33
Wizzupnothing matched the key names12:33
freemangordonyes, they register pidgin properties as connection/protocol properties12:33
Wizzupbtw, in empathy I now see a channel with the new haze code in slack12:36
Wizzupbut the messages come in as HandleTypeContact12:36
arno11freemangordon: ?? as previoulsy mentioned, pidgin works well with purple-FB, and purple-FB + FB UI refuses to connect (with presence UI not working/displaying)12:36
freemangordonWizzup: yes, how should they come? Like, how do you know who wrote?12:37
Wizzupfreemangordon: they are part of a TextChannel that is a room12:37
freemangordonwait12:37
freemangordonhow do you know who exactly typed that particular message?12:37
freemangordonif we are 3 peuple in a chat12:37
freemangordon*people12:37
freemangordonfor example12:38
Wizzupfreemangordon: message.sender()->id()12:38
freemangordonif message handle is the room handle, how do you know which of the 3 typed that message?12:38
Wizzupthat is not the same as the channel->targetHandleType()12:38
freemangordonwhat is message?12:38
Wizzupany incoming message12:39
freemangordonsac12:39
Wizzupthe channel facilitates the sending and receiving of messages, and the message itself contains who sends it12:39
Wizzupthe channel reports if it is a single 1:1 or room (multi user) channel12:39
Wizzupit looks like in this case in haze this is not correct yet, BUT12:39
Wizzupsomehow empathy gets it ok12:39
Wizzupmaybe it looks at the supported interfaces12:39
freemangordonsee https://github.com/maemo-leste-upstream-forks/telepathy-haze/blob/maemo/chimaera-devel/src/mu-channel.c#L77412:40
freemangordonWizzup: yes, empathy gets it ok12:40
freemangordonthat's why I think I am doing it properly12:40
freemangordonI guess you mean TpMessage or QTpMessage (made-up qt wrapper)12:41
freemangordonthen again, you have sender there12:41
WizzupIt's not correct when compared to telepathy-gabble or telepathy-irc (whatever it is called)12:41
freemangordonis it?12:41
Wizzupit doesn't matter what struct the message is in12:41
freemangordonright12:42
Wizzupso in telepathy-gabble and the telepathy-idle (irc)12:42
freemangordondo you have tp-gabble message structure for multi-user chat incomming message?12:42
freemangordondbus would do the job as well12:42
Wizzupa channel that is a room has a targethandletype that is not HandleTypeContact12:42
Wizzupsure12:43
freemangordonright12:43
Wizzupsec12:43
freemangordonand it is not in case of haze as well12:43
freemangordonsee https://github.com/maemo-leste-upstream-forks/telepathy-haze/blob/maemo/chimaera-devel/src/mu-channel.c#L13612:43
freemangordonsender != target handle type, IIUC12:44
Wizzupempathy gets in the way so much lol12:44
freemangordonWizzup: BTW, I am not saying I didn't do something stupid in tp-haze, feel free to have a look at the code12:45
freemangordonbut i looked in idle code and they set the sender handle as contact12:45
freemangordonnot as a room12:45
* freemangordon checks again12:45
Wizzupfreemangordon: same @ conversations code :p12:46
Wizzup12:45 < freemangordon> but i looked in idle code and they set the sender handle as contact12:47
Wizzupfor every channel?12:47
Wizzupfreemangordon: I see a lot of matches for TP_HANDLE_TYPE_ROOM in telepathy-gabble at least12:48
WizzupI don't have telepathy-idle src here, but will get it12:48
Wizzupfreemangordon: btw check your dm12:48
freemangordonWizzup: ok, look at MessageReceived12:49
freemangordonmessage-sender12:49
freemangordonis 2612:49
freemangordonI can bet this is contact handle, not room12:49
Wizzupof course it is12:49
Wizzupbut look at EnsureChannel12:49
Wizzup      dict entry(12:49
Wizzup         string "org.freedesktop.Telepathy.Channel.TargetHandleType"12:49
Wizzup         variant             uint32 212:49
Wizzup      )12:49
WizzupThat is uint32 212:49
Wizzupnot uint32 1, as it seems to be with haze muc12:50
freemangordonthis is the room handle12:50
Wizzupyes, but with haze muc it is 112:50
freemangordonbut this is for ensure_channel12:50
Wizzupyes, that's the point12:50
freemangordonumm...12:50
Wizzuplet me explain again :)12:50
freemangordonthis is handle, not handle type, or?12:50
Wizzupwhen we get an incoming message, the message arrives on a channel12:50
Wizzupok?12:50
freemangordonah, it is12:50
freemangordonwait, wait12:50
Wizzupsure12:50
freemangordonjust a sec to check something12:50
Wizzupthere is another thing to check, it's called channeltype, I don't know what it is12:52
freemangordonsee https://github.com/maemo-leste-upstream-forks/telepathy-haze/blob/maemo/chimaera-devel/src/mu-channel-manager.c#L52612:52
Wizzupah no, that is just text or not12:52
freemangordonso I don;t know where did you gat that 1 from12:52
freemangordon*get12:53
Wizzupok, let me log and try again12:53
freemangordonare you sure it is MU channel?12:53
freemangordonperhaps run tp-haze with all logs enabled12:54
Wizzupk            dict entry(12:54
Wizzup               string "org.freedesktop.Telepathy.Channel.TargetHandleType"12:54
Wizzup               variant                   uint32 112:54
Wizzup            )12:54
Wizzup            dict entry(12:54
Wizzup               string "org.freedesktop.Telepathy.Channel.TargetHandleType"12:54
Wizzup               variant                   uint32 112:54
Wizzup            )12:54
Wizzuprom dbus-monitor12:55
Wizzupi'll paste it, sec12:55
freemangordonwhat is the path?12:56
Wizzupsee dm12:56
freemangordonhmm12:57
freemangordonwhere does that come from?12:57
Wizzupsorry?12:58
freemangordonmember=NewChannels12:58
freemangordonI mean - where that target handle type comes from12:58
freemangordonlike, I am sure I set to to room everywhere12:58
Wizzupcm12:58
Wizzupit is not impossible that the purple slack plugin does something odd12:59
Wizzupbut conversations receives the wrong type12:59
Wizzupthe channel is made on demand when a message is entered in it13:00
Wizzupalso, I can't join channels from empathy, but that might again be a thing in this specific purple plugin13:00
freemangordonthe same happens with purple-fb, channel is created on-demand13:00
freemangordonyou can't because it is still not supported :)13:00
Wizzupright13:00
Wizzupmaybe check if the handle is 1 or 2 in purple-fb13:00
freemangordonthat's another thing to be implemented (rooms list)13:00
freemangordongoing to13:01
WizzupI think a room list is a list of joinable channels, I don't think you need that implemented to be able to join a channel13:01
Wizzupthat is just for searching channels13:01
dsc_i also came to that guessing conclusion 1hr ago13:02
dsc_while looking at RoomListChannel13:03
freemangordonWizzup: hmm, target handle type is 1 for fb as well13:03
freemangordonmaybe this https://github.com/maemo-leste-upstream-forks/telepathy-haze/blob/maemo/chimaera-devel/src/mu-channel.c#L452 is wrong13:03
* freemangordon checks idle13:03
Wizzupdsc_: yeah just lmk what you need from tp and I can add it13:04
Wizzupdsc_: we already have a qlist of channels per account13:04
Wizzupso I can return those13:04
dsc_Wizzup: where do you have that?13:05
Wizzuptp code, in TelepathyAccount class, also see hasChannel13:06
Wizzupbut I still need to write you an iface to get them13:06
dsc_Wizzup: conversations starts13:07
dsc_then I'd like to ask TP what channels there are (per account)13:07
dsc_er sec13:07
dsc_hasChannel is empty13:08
dsc_channels is empty*13:08
dsc_while Tp is connected to one13:08
dsc_so what do you mean?13:09
dsc_:d13:09
dsc_handleChannels is also not called13:10
Wizzupwait13:11
freemangordonvariant                   uint32 213:13
freemangordon:)13:13
freemangordonok, will push that13:13
dsc_freemangordon: im interested in your memory measurements of this `conversations-tiny`13:17
dsc_98-(conversations-tiny) = qml overhead13:18
freemangordondo you still use qquickwidget?13:18
dsc_no, im not linking against quick anymore at all13:18
freemangordonok13:19
freemangordonwill do later on13:19
freemangordonhave work mtg in 10 minutes13:19
dsc_but it still links rtcom/gtk/telepathy/osso13:19
dsc_so its a good measurement13:19
dsc_sure, thanks13:19
freemangordonalso, I saw abook_init is called twice13:20
freemangordonWizzup: please upgrade tp-haze and check if it is op now13:22
freemangordon*ok13:22
freemangordonkeep in mind invites are still not implemented13:22
Wizzupfreemangordon: now it works13:26
freemangordoncool13:26
Wizzuplogging it as a channel and sending back messages13:26
freemangordon"as a channel"?13:27
freemangordonyou mean mu channel I hope13:27
Wizzuproom13:27
Wizzupwe have to come up with the same terminology I guess13:27
freemangordonmuc == room13:27
WizzupI still use channel as analogous to room13:27
freemangordoni prefer muc13:27
Wizzupexcept specifically in tp context13:28
Wizzupbut this is the #maemo-leste channel13:28
freemangordonthis is what tp plugins use13:28
Wizzupnot the #maemo-leste muc :)13:28
freemangordonheh13:28
freemangordonthis is not TP ;)13:28
freemangordonin TP terms IM channels are still channels13:29
Wizzupyeah13:29
Wizzupbut when I say 'logs as a channel' I mean room13:29
Wizzupsince everything is a channel in tp so the statement wouldn't make sense otherwise13:30
Wizzupbut I will try to do it better13:30
freemangordonthat's why MU vs IM13:31
freemangordonbrb13:31
maemouwDoes Maemo Leste with Pinephone Convergence dock support route 4G connection internet to ethernet?13:47
maemouwAny hints would be welcome how I should route internet to Raspberry Pi2 Industrial from Pinephone?13:52
Wizzupthe usb cable should expose usb net13:53
Wizzuphttps://leste.maemo.org/Status/USB_Peripheral13:53
maemouwso USBA - USB-A from Pinephone to Raspberry PI?13:54
maemouw*USB-A - USB-A cable13:55
Wizzupyes13:57
gnarfaceyou might need RNDIS support compiled in the kernel and the usbnet driver loaded on the rpi?14:01
Wizzupyeah, we currently have rndis...14:01
Wizzupsicelo: should we switch back frmo rndis?14:01
Wizzupto what we had befofe?14:01
Wizzupbefore*14:01
gnarfaceis there something besides RNDIS that can do usb networking on these?14:02
gnarfacei wasn't aware there were alternatives, but it would be nice to have a second option now that RNDIS is being purged from newer kernels14:04
gnarfacei didn't need it for anything but the usbnet part14:04
maemouwthese questions put me back to think is it possible route 4G connection to ethernet, because if so I dont have to configure Pi at all.14:07
gnarfacemaemouw: yea, routing should work like any other linux box14:08
freemangordonWizzup: it is safe to delete rtcom el db, right?14:08
dsc_yes14:08
freemangordonthanks14:09
Wizzupgnarface: yeah there is, the one we were using before14:13
WizzupI don't recall the name, we just went for rndis for windows support, but then windows said they'd drop support for it14:14
maemouwgnarface: Docking bar ethernet port shows up and I am as far that here (how to ping from Pinephone with that port): https://talk.maemo.org/showthread.php?t=10135414:18
maemouwthat question might to to opposite direction...but anyway..14:23
Wizzupbtw, conversations does not yet notice new accounts if they are added after conversations is started14:29
maemouwactual question might be how to get that port to "in use". I am newbie with this kind of stuff..maybe I have forget some basic stuff.14:29
WizzupI'll fix that now14:29
dsc_Wizzup: afraid to ask but leaving a channel? :>14:33
dsc_*without having a channel instance yet14:33
dsc_i.e: tp is already connected to a room but conversations doesnt know it yet14:33
dsc_i'd like to leave the room (without calling joinChannel manually first)14:34
dsc_or maybe a different question: do we currently have other chat clients that could use telepathy?14:35
dsc_if not; the state between conversations:tp could always be 1:1 without having to ask TP for its state (yes, hacky)14:35
dsc_since conversations would be the only way to join a room, hence it should also know which rooms it is in14:36
Wizzuphang on14:47
Wizzupi'll dm14:48
siceloWizzup: what did we have before RNDIS? maybe should do NCM now15:02
Wizzupsicelo: I don't know tbh, just what I thought was 'generic'15:02
bencohwait, windows is dropping support for rndis?15:03
freemangordondsc_: /home/user/tmp/conversations/src/chatwindow.cpp:69:20: error: ‘class Ui::ChatWindow’ has no member named ‘quick’15:04
sicelobencoh: i doubt. but linux has.15:06
Wizzupfreemangordon: use other make command15:06
Wizzupsee backlog15:06
siceloWizzup: we were on ECM before. https://github.com/maemo-leste/hildon-usb-gadgets/commit/78d180f077c528552e538742f54021b33cf63c3b15:07
bencohsicelo: uh15:07
sicelolet's go NCM ... it's successor of ECM15:07
freemangordonWizzup: ok15:11
Wizzupfreemangordon: did you find it?15:14
Wizzupmake -Cbuild -j1 conversations-tiny15:14
Wizzupsicelo: fine by me15:25
Wizzupsicelo: btw, it seems to me that currently in leste the static ip is not longer configured15:25
sicelofor USB?15:29
Wizzupyes15:30
Wizzupif you connect the usb cable and just type 'ifconfig', do you see the ip assigned?15:30
Wizzuphm... it is15:30
WizzupI must remember wrong15:31
gnarfaceoh, maemouw left... if maemo-leste doesn't have some custom tool for this someone tell him to just install ufw or something like that15:34
Wizzupthe wiki mentions how to do it I think15:36
Wizzupbut yeah it needs to be improved15:36
Wizzupideally the dialog that pops up when you plug in would just say "share with pc"15:36
gnarfaceoh, cool15:36
Wizzupit does have "PC Suite mode"15:36
Wizzupwe just never added the code to set up the routing15:36
Wizzupfreemangordon: btw, rtcom accounts ui won't let me add accounts if my disk is 99% full even though I have 1GB free15:54
Wizzupnot really a problem but yeah15:54
sicelogreat @IP. was getting worried for a moment :-)15:55
freemangordondsc_: so, tiny one uses 50MB on startup15:57
freemangordonand 60 MB when it shows the window15:57
freemangordon'normal' uses 55 on startup and 80 with window16:00
freemangordonopening conversation makes it increase to 91MB16:01
freemangordonI wonder how much a simple QMainWindow app will use16:01
Wizzupit does clever things with multiple windows btw16:01
Wizzupfreemangordon: btw, I saw 100MB on startup, so that's funny16:02
freemangordonit seems to depend on the history you have16:02
freemangordonI cleaned rtcom db beforehand16:02
freemangordonso I have only one message there16:02
Wizzupright16:02
freemangordonin the same time h-d uses ~23MB, Xorg less than 20MB16:04
Wizzuposso-addressbook used more ram when it was open for me on fresh n900 install with no contacts16:04
Wizzupto provide some perspective16:04
freemangordonhere, with lots of contacts it uses 26MB16:04
freemangordonincluding my FB contacts with avatars16:05
freemangordonmaybe about 40, no sure16:05
freemangordonall the time I am talking about RES value in top16:05
freemangordonnot sure how correct is that16:06
Wizzupit won't account for shared ram I think16:07
Wizzuprather, it does account for it, but not for the fact that it is shared with others16:07
freemangordonI wonder if making it .launch will have any visible effect16:07
freemangordonat least GTK stuff should be stripped16:07
Wizzupthe qml libraries are already shared through linux16:07
freemangordonnot really16:07
freemangordonno other process is using qml16:07
Wizzupso loading a .so and now changing anything means every application will have the exact same copy open in its own ram?16:08
WizzupI don't think that's how it works right16:08
freemangordonagree, but that's not what I am saying16:08
freemangordon"The non-swapped physical memory a task has used."16:09
freemangordonthat's what RES is16:09
freemangordonlemme remove the swap16:09
freemangordonthis is with no swap https://pastebin.com/ZWKPNJFz16:12
freemangordonadressbook is opened though16:13
freemangordonsee osso-abook-home-applet usage16:13
freemangordonit also uses libabook and I have 2 contacts on the desktop16:13
dsc_so the qml overhead is 20mb16:17
freemangordonat least16:17
freemangordonI will make a simple qwidgets app, to check what is qt minimum16:18
freemangordonsimple qapplication app uses ~30MB16:23
freemangordonsimple gui application with one QPushButton: ~42MB16:25
dsc_its possible to create a custom Qt5 build with features carved out, often applied for embedded devices16:27
dsc_but its a headache16:28
freemangordon40 MB for qt UI application is not that bad16:28
freemangordonI will try to make it .launch to see if it will get better16:29
dsc_:)16:29
freemangordonfrom only GTK booster we gain 1MB16:35
Wizzupguys I am without power, bbl16:36
freemangordondsc_: https://pastebin.com/YKqq1bfW16:37
dsc_freemangordon: what is .laucher?16:44
freemangordondsc_: https://github.com/maemo-leste/maemo-launcher/blob/master/README16:46
dsc_thats nice16:47
freemangordonyeah16:48
freemangordonunfortunately we don;t have qt booster16:48
freemangordonthough I can try to make one :)16:48
dsc_for me its not so much effort to make QtWidgets version as previously suggested16:50
dsc_so thats -20mb16:50
freemangordonor even more16:50
freemangordonso to me it makes sense16:50
freemangordonbut again, as Wizzup said, lets first have it functional16:51
dsc_you'd like to get rid of qml completely?16:51
dsc_for both n900 and d4?16:51
freemangordonperhaps, dunno16:51
freemangordonwhat do we gainfrom using it?16:51
freemangordonalso, does it make sense to support 2 applications?16:52
freemangordonstill, lets not focus on that now16:52
freemangordonlets have the functionality in place first16:53
dsc_what do we gain from not using QML?16:53
freemangordonmemory :)16:53
dsc_how much?16:53
freemangordongiven that omp uses less than half of the memory conv uses, I would say a lot16:54
dsc_that's not a number16:54
freemangordon45 vs 10016:54
dsc_qml uses 100mb? the overhead was 2016:55
dsc_(or more)16:55
dsc_im mostly interested about what percentage it is of d4's total memory16:55
freemangordonwith non-empty db it uses more16:55
freemangordondsc_: it is not about d4 vs n90016:56
freemangordonI have a tablet on my desk with 512 MB16:56
freemangordonn950 has 512 as well16:56
freemangordonif we are to support it someday16:57
dsc_indeed it is not about the device, but about how much resident memory is acceptable16:58
dsc_but if we gain max 20mb/30mb then one wonders how much percentage that is of total16:58
dsc_my point is that if QML is not acceptable then maybe Qt in general is not acceptable16:59
dsc_C/Gtk is always going to be more efficient16:59
freemangordonyeah, but I would trade 10MB for programming efficiency16:59
bencohtbh I'd tend to think core applications should be written in c/gtk, unless <insert reason here>17:00
freemangordonfor conversations it will be a nightmare17:00
bencohindeed17:00
freemangordonbecause of the UI part17:00
freemangordonso I would trade some RAM17:00
freemangordonalso, if I manage to make qt booster, then the penalty will not be that big17:01
freemangordonbut we cannot avoid JS engine penalty, it will always allocate some amoutns of RAM, even if not needed17:01
freemangordon(8MB they are saying)17:01
dsc_picking a framework merely on how efficient it is will always lead to C/Gtk, or some minimalist framework, or assembly... ;)17:02
dsc_people use Qt for speed of development17:02
freemangordonagree17:02
dsc_however like bencoh says it is quite core to the OS17:03
inkybut what about the future? i remember firefox on d4 was okay till chimaera. qt js engine may become much hungrier after one release.17:03
inkyi am afraid just recompiling same code could cause more and more memory usage.17:03
inkyon future platforms.17:03
freemangordonsorry guys, ahve to leave17:03
freemangordonttyl17:03
inkyabout 20 years ago i was only using very weak macihnes. gtk was always much faster than qt, i felt it.17:04
inkydon't know about today, i think gtk4 is very heavy.17:04
freemangordonactually qt's js engine is google's V8 one17:07
freemangordonhard to predict what would happen17:07
uvosif anything gtk4 is heavier than qt5/6 besides qml17:32
uvosso gtk istent going to save you for long17:32
uvosthe gtk booster dosent gain 1mb17:33
bencohlet's move to LVGL :>17:33
uvosthat absurd it gains about 100kb per process, while takeing an to me unkown amount of memory for the deamon itself17:33
uvosit probubly bearly breaks even with few apps running17:34
uvosthe 100kb is also very generously mesured17:34
freemangordonwell, according to top it is slightly > than 1MB17:38
freemangordonhttps://pastebin.com/YKqq1bfW17:38
uvoswe mesured this in detail before with the script that devides for shared memory regions and accounts for xorg surfaces17:39
uvosits essentally nothing17:39
freemangordonuvos: how much memory does it take for all the sybols resolution and gtk/pango/cairo statically allocated data?17:43
freemangordon*symbols17:43
uvosi dont know it in that detail17:44
uvosbut the way we mesured it was takeing private memory, adding the shared memory regions per region devided by the number of procesies that map  that region17:44
uvosand then adding the increase in memory usage of maemo-launcher that is incured when launching the app17:45
uvosthe last part is the vast majoraty of the memory usage in the launcher case17:45
uvosbecause somhow launcher ends up with most of the allocations for some reason17:45
uvosnot sure how that works17:45
uvosin the non launcher case you do the same, just no launcher obv17:46
uvosi did this back when .launches where binaries not shared lib17:46
uvosso you could execute them directly17:46
freemangordonso, how would you explain the pastebin ^^^17:47
freemangordonI did that several times17:47
uvoswel i cant see it17:47
uvosits not available17:47
freemangordonoh, sorry17:47
freemangordon12022 user      20   0  137524  42216  35772 S   0.0   4.1   0:01.55 qttest .launcher17:47
freemangordon12081 user      20   0  136384  43324  36964 S   3.9   4.3   0:01.00 qttest normal17:47
freemangordon43324 vs 4221617:48
uvoslauncher changes accounting17:48
freemangordonthis is a simple application with one push button17:48
uvosyou will note that the launcher will end up with more memory used after the launch17:48
freemangordonlauncher just forks and calls main()17:49
freemangordonI don't see how would that increase any memory of the daemon17:49
uvosit dose for gtk programs, its possible it dosnt here because that happens because of somehting the booster dose17:49
freemangordonbooster does nothing for qt (still)17:50
freemangordonbut qt also uses gtk and pango and cairo (via gtk)17:50
freemangordonso all the data thise FW allocate an process startup is savesd17:50
uvosanyhow its using more shared memory17:50
freemangordonald the glib objects etc17:50
uvoswhich is probubly meaningless17:50
freemangordonjust imagine how much we save from not creating glib object classes17:51
freemangordonI would argue17:51
uvoswell i did this mesurement in high detail on osso-xterm and came up with about 100kb17:51
Wizzupwasn't it more about startup speed than memory saving?17:51
uvosWizzup: no it saves no speed17:51
uvosi also did that mesurement17:52
uvosthat one is still on github17:52
uvosit saves no speed over the readahead replay case17:52
uvoson d417:52
uvosbut it dose decrease cpu usage some, but launching is io bound so it ends up a tie in terms of speed17:52
uvosalso it causes the libs to be in memory allready on first launch17:53
uvosso first launch is faster if you dont have something like systemd-readahead17:53
freemangordonthen your measurements are broken, because it saves all the symbols resolution17:53
freemangordonbecause libs are already there, with symbols resolved17:53
uvossaveing symbols resolution is the reason why it takes less cpu time17:53
uvosbut this has no effect on launch speed17:53
freemangordonhow's that?17:53
uvosbecause the whole process is io bound17:53
uvosthe cpu _is_ more busy but the if you go gtk_init(); return 0; in main the launcher and non launcher process will end up exiting within mesurement error time wise17:54
uvosbut the non launcher process will have kept the cpu more busy17:55
uvosi gues this may not be true on n900 since the io is the same speed but the cpu is slower17:55
uvosanyhow launcher dose help here since we dont have systemd to help us and i keeps all the often used libs in ram17:56
freemangordondoing simply gtk_init() is not the usual case17:56
freemangordonusually you create lots of glib classes17:56
freemangordonand this is where it makes the difference17:56
freemangordonbecause the static memory is already allocated17:57
freemangordonby static I mean it is heap mamory but allocated only once per process lifetime17:57
uvoswell the intention was to make symbol resolution the main part of the execution time17:57
Wizzupdid we ever try ksm?17:57
freemangordonalso, all the so symbols are resolved only once17:57
Wizzupor did this incur pm hit?17:57
uvosto maximise the launcher efect17:57
uvosWizzup: i did17:58
uvosWizzup: it helps some17:58
uvosdont remember the numbers17:58
uvosbut maybe a couple meg on d4 at the expense of a lot of cpu time17:58
Wizzupseems worth doing in any case17:58
Wizzuphmm17:58
uvosn900 cant do it imo17:58
Wizzupa lot of cpu time?17:58
uvosyeah so theres 2 problems with this17:59
uvosi started it on boot and then stoped it after it was done with a pass, it takes a huge amount of cpu time just after boot while its doing its thing (pegging one core)17:59
uvosand it only helps with stuff launched while its active17:59
uvosit could be used on d4 since you have another core to service the user18:00
uvosbut on n900 its going to suck18:00
uvosand a pass takes like 10 minutes18:00
uvosso in the end i dont think its usefull atm18:01
uvossince d4 has no problems with ram anyhoiw18:01
uvosanyhow so my over arching point is that yes maemo launcher helps some, but most of the ram is shared allready so it only helps a little, and you have to take into account the amount of ram used by the launcher itself devided by the launch procesies18:04
uvosalso for speed it helps not very mutch besides being effectively a good disk catch (which is nothing to sneeze at) and maybe a bit more on devices with fast io realtive to cpu (n900)18:05
uvosbut it aint magic18:05
uvos*cache18:06
freemangordonsure it is no magic18:07
freemangordonbut it is not useless as well18:07
uvosi never said its useless, i have questioned the matiniance burde to usefullness ratio in the past (esp problems with glibc) but not the absoult merit. and besides as long as i dont have to maintain it i dont care mutch18:08
uvosalso since qt internals change pretty rapidly i question the wisdom of trying to hack around in those internels with a boost module, but if you want to keep up with that, thats fine.18:09
freemangordonat least we can try18:09
uvossure18:09
freemangordonlike, having QApplication ang QWidget loaded byt the booster18:09
uvossure yeah, also maybe qt has some special proparties that make it mutch more sutable to having more stuff in shm than gtk2 is18:10
uvosi have no idea18:10
Wizzupuvos: wrt ksm using a lot of cpu, was it something that could be tweaked?18:44
uvosi mean not really18:51
uvosfundamentally it needs to compute a hash of every page18:51
uvosthats very expensive no matter how you cut it18:52
Wizzupuvos: right, but if it runs every 15 mins or so19:34
Wizzuphttps://docs.kernel.org/admin-guide/mm/ksm.html#ksm-daemon-sysfs-interface19:35
Wizzupset to 0 to stop ksmd from running but keep merged pages,19:35
Wizzupwould also allow for these tricks19:35
Wizzupbtw, I think since we fixed the ants, some of the shortcuts on the home page sometimes lack an icon19:38
Wizzupcould be completely unrelated, but when I touch them they get their icon back19:38
Wizzupfreemangordon: should there be two create_advanced_settings_page calls in the rtcom accounts plugin19:46
Wizzupfreemangordon: I am not seeing my advanced page params being saved somehow19:50
Wizzupshould we perhaps call rtcom_account_item_save_settings or something19:50
Wizzupor does this work for the fb plugin for sure?19:51
uvosyes i know thats exactly the trick i used20:25
uvosi let it run for a while on boot and then shut it off20:25
uvosit uses a huge amount of cpu and power, we could not turn it on often20:25
uvosbut i saves some ram for the allways resident applications20:25
uvossince we fixed the ants the gpu hangs way more often20:26
uvosat least here20:26
Wizzuphm, I only have that when I go to fullscreen in mpv or so20:26
Wizzupor leave fullscreen20:26
uvosit seams to happen randomly quite often here20:26
Wizzupwhen doing what?20:30
uvosseams random really, when opening the menu in xterm, when opening menus in firefox, when selecting an application in tasknav20:31
uvosanything that creates a surface seams to be liable to cause it20:31
WizzupI never have firefox open20:31
siceloi also see gpu hangs frequently... i think I've mentioned it a number of times20:40
sicelono FF involved... i don't even have it installed20:40
freemangordonWizzup: fb plugin works for sure21:26
freemangordonplease just copy the code and tailor it to your needs21:26
WizzupI copied it 1:121:27
freemangordonit woirks21:27
freemangordon*works21:27
Wizzuphttps://github.com/maemo-leste-extras/rtcom-accounts-plugin-slack21:27
freemangordonso, advanced page does not open?21:27
Wizzupit does21:27
freemangordonsec, I'll clone it21:27
freemangordonah21:27
freemangordonbut?21:27
Wizzupone sec I need to find the vim21:27
Wizzupbasically none of the advanced settings are saved21:28
freemangordonhow do you know that?21:28
freemangordonchecked with mc-tool?21:28
Wizzupthey don't end up in the .cfg file21:28
Wizzuphttps://github.com/maemo-leste-extras/rtcom-accounts-plugin-slack/blob/9a9c346e22792b8c94d4d87070968f5e5d18ea61/data/slack-advanced.glade#L9521:28
Wizzupis this the field that is used to set the key?21:28
freemangordonyes21:29
Wizzupor is somehow the widget id key being parsed21:29
Wizzupok21:29
freemangordonare you sure it is with underscore?21:29
Wizzupyes21:29
freemangordonsec, want to check something21:29
freemangordonWizzup: /home/user/.local/share/telepathy/mission-control/accounts.cfg?21:30
freemangordonalso, are there any errors if you run account-ui from console?21:31
Wizzupfreemangordon: yes that file, and I can controlpanel21:31
WizzupI can try this, in a bit, I'm going to get pulled into another work mtg21:32
freemangordonok, I will try to debug in the meanwhile21:32
freemangordonhow to register an account?21:32
Wizzupnot possible21:33
Wizzupit's an organisational thing21:33
freemangordonheh21:33
freemangordon:)21:33
Wizzupwe could request a free one for maemo21:33
freemangordonso, how to test?21:33
Wizzupbut I don't think you need to register to try to save things21:33
Wizzupjust fill in whatever21:33
freemangordonno, it will not save the account if you don;t login21:34
freemangordonIIRC21:34
freemangordonbut ok, lemme try21:34
Wizzupwhen I typed garbage for the irc setup it worked21:34
Wizzuplike the server was asdfasdf21:34
freemangordonok21:34
freemangordonWizzup: https://pastebin.com/3q3s9ghT21:37
Wizzupfreemangordon: it is for sure21:42
Wizzupempathy sets the same keys, and if I set them in the cfg then it works too21:42
freemangordonI cannot add through empathy21:42
Wizzupwhat do you mean?21:43
freemangordonnothing happens when I press add button21:43
Wizzupfreemangordon: how did you get these errors btw? G_DEBUG_MESSAGES=all accounts-ui ?21:50
freemangordonyes21:50
Wizzupfreemangordon: it looks like they are with - in mc-tool21:52
Wizzup        (bool) open-chat = true21:52
Wizzup        (bool) open-history = true21:52
Wizzupso does haze just convert _ to - ?21:52
freemangordonseems like21:52
freemangordonWizzup: why do you set https://github.com/maemo-leste-extras/rtcom-accounts-plugin-slack/blob/master/src/slack-plugin.c#L6421:58
freemangordonalso, if you cannot create new account, do not expose "new account" button21:58
Wizzupyes, this is not a pkg yet :)21:59
freemangordonah, ok :)21:59
Wizzup  g_object_set(G_OBJECT(service),22:01
Wizzup               "display-name", "Facebook Messenger",22:01
Wizzup               NULL);22:01
Wizzupyou didthis22:01
Wizzupso what's wrong with "Slack" ?22:01
freemangordonBecause it was "Facebook", which is misleading22:02
freemangordonbut I suspect the default name for slack, that comes from the plugin is ok22:02
freemangordonthat's why the reis no need to set it22:02
freemangordonI mean - if you don;t set it explicitly, it uses whatever is provided by the plugin22:03
freemangordonand usually it is fine22:03
freemangordonUp to you ofc22:04
freemangordonWizzup: G_MESSAGES_DEBUG=all /usr/bin/rtcom-accounts-ui22:09
Wizzupah ok ty22:23
Wizzupfreemangordon: changing the _ to - makes it work23:01
Wizzupty23:01
Wizzupfreemangordon: btw you're saying that for facebook you're getting the messages you write elsewhere reported to tp?23:10
Wizzupsay if you write it on some web client or so23:10
Wizzupfreemangordon: also, for the slack purple plugin one can provide either a password or api-token, but I don't really know how to do this wrt rtcom ui23:27
WizzupI suppose I could remove the password cap and then have password and api-token in teh advanced page23:27
Wizzupcool, have icons now too in slack :p23:55

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