libera/#maemo-leste/ Tuesday, 2025-04-15

freemangordonarno11: does it make any difference if you start with LIBGL_ALWAYS_SOFTWARE=1 ?07:28
freemangordonor if you unset MESA_LOADER_DRIVER_OVERRIDE07:34
freemangordonboth should result in PVR driver not being loaded07:34
freemangordonif it is still slow, then there is some issue in mesa07:34
arno11freemangordon: yeah, still slow unfortunately09:08
arno11*slow with a good u3, can't imagine how slow it is with class 10 or lower.09:25
arno11but as soon as i set 'force raster widgets' in qt5ct troubleshooting tab, most qt5 apps take 2 sec to start (apart heavyweight stuff like tg ofc)09:28
freemangordonarno11: ok, good to hear it is not PVR related13:04
freemangordonso you think it is IO related?13:05
freemangordonmaybe run some simple qt app through strace, to see what it is doing all that time13:06
WizzupI think strace will reveal the problem honestly13:14
Wizzupif it's that long it's probably stuck in a syscall or so13:14
Wizzupah lol I thought you said apitrace13:15
Wizzupyeah strace13:15
WizzupI actually remember I had some similar issues recently at work, I think it was related to some timeout waiting for an IM13:20
arno11freemangordon: i ran strace on osso_calculator with and without raster tweak. and diff the 2 resulting files: i see hundreds of 'readlink("/usr/share/themes/alpha", 0xbe8c4200, 1023) = -1 EINVAL (Invalid argument)' or similar14:08
arno11*ATM, still checking the files14:10
arno11is there any qt5 basic apps examples in Leste btw ?14:11
buZzyou maybe able to grab any qt5 application from devuan/debian ?14:11
buZzmight be* able14:11
arno11i mean, very simple app to avoid huge strace output14:13
arno11i also see hundreds of 'clock_gettime64(CLOCK_REALTIME, {tv_sec=1744717982, tv_nsec=834382533}) = 014:15
arno11'14:15
arno11bbl14:35
Wizzupcountdowntimer is pretty basic15:16
uvos__simplest possible qt application is starting sphone with the qtloop module but no other modules16:28
uvos__this just creates a QApplication and loop and dose nothing else16:29
uvos__and yes this takes a very long time, even on d416:29
uvos__the QApplication constructor takes forever16:29
uvos__this is why sphone goes through quite a few contortions to avoid calling it unless its absolutely nesscary (ie we are the main sphone process, not one of its children or callers)16:32
Wizzupjust to be clear, what arno is seeing is a regression16:34
Wizzupit's not a 'this takes a long time' problem, it is a 'this now takes much longer' problem16:35
Wizzuparno11: there is no issue for this right?16:39
arno11Wizzup: absolutely no issue with qtloop and sphone16:46
arno11uvos__: and yes that's a totally new issue in daedalus16:47
sicelouvos__: BTW sphone may need some optimizations too. for example, I noticed that on every incoming call, one of the first things it does is to open the  config file to check if an external application is configured to be run16:47
siceloI think a simple optimization is to read that only at startup, not at every incoming call16:47
arno11Wizzup: btw with strace, i see qt apps looking for powervr.ini (and failing ofc). weird, no ?16:50
Wizzupstrace will show you a lot of things16:51
Wizzupnot many of them matter necessarily16:52
WizzupI'm making a log now too16:52
arno11ok cool :)16:52
WizzupMy bet is either one some silly qt thing, the addition of our input module, or some mesa/gl interaction16:53
arno11definitely not the input module btw (i deactivated it, no change with slowness)16:55
Wizzuphow did you deactivate it?16:57
arno11uninstalling qt-i-m iirc16:58
Wizzup8925  16:47:02 openat(AT_FDCWD, "/usr/lib/arm-linux-gnueabihf/qt5/plugins/platformthemes/libqgtk3.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 616:59
Wizzupthis seems a bit strange16:59
Wizzupbut maybe it's not used, will keep looking16:59
arno11i saw it as well17:00
Wizzupok, seems probably not used17:00
arno11agree17:00
arno11do you see lot of /usr/share/theme or icon stuff btw ?17:01
Wizzupstill working on it17:02
Wizzupso far things look ok, but I am only three seconds in17:02
Wizzup(I used --timestamps)17:02
Wizzupso far it's just lib loading, setting up x conn, loading qt plugins17:02
arno11ok (i used timestamps as well)17:03
arno11/usr/share things seem to take a while and are not there if i use raster tweak17:04
Wizzupwell this is just part of the gtk2 engine I think17:06
arno11ok17:06
WizzupI wonder if your tests just don't use the gtk2 theming engine17:08
Wizzup(the fast ones)17:08
arno11i use gtk217:08
Wizzupso after about 10 seconds gtk seems to be loaded as well and fontconfig is done17:08
Wizzupright, but then why do you not see these files being loaded?17:09
arno11misunderstanding:17:09
arno11i don't see them when i use qt5ct tweak17:09
Wizzupthat's what I mean17:10
Wizzupso I suspect that isn't actually using the gtk2 theming engine or something17:10
Wizzupthere's a bunch more loading going on after gtk2 fonts, other gtk libs17:10
Wizzupso my countdowntimer started at 16:46:58 and started actually loading it's own config at 16:47:1217:11
Wizzup14 seconds of font / theme loading17:11
Wizzup(and libs)17:11
arno11(100% sure qt5ct is using gtk2 theming)17:12
arno11ok17:12
WizzupAh, yes, and after that qt starts loading more libs17:12
arno1114 sec, wow17:12
Wizzupthen it loads/scans a million vlc plugins (countdowntimer has some audio through phonon )OD17:13
Wizzupphonon)*17:13
Wizzupthen at 16:47:16 it seems to load maemo-egl integration17:15
Wizzupand then there's a waiting time for a while, polling on what I think is the first x client conn socket, and only after that it continues loading dri things17:16
arno11what a mess for just a basic app lol17:17
Wizzupwelcome to the desktop :)17:18
Wizzupso many things take a long time, but there's no one thing that's just stuck in some timeout17:19
Wizzupthere must be something different in your setup wrt what the env vars are actually set to17:20
Wizzupin your qt5ct, do you have the style override set to maemo5, the qpa platform module set to maemo, and the im module set to him?17:21
arno11style is maemo5, platform maemo and no change for im module17:22
Wizzupno change meaning it's set to 'him' ?17:23
arno11no parameters17:23
Wizzupdoes the virtual keyboard work in qt apps for you with these settings?17:23
Wizzupsay conversations, with the n900 keyboard closed17:23
arno11let me check17:24
Wizzup(it might take a bit of time the first time, so be patient for the purpose of the test)17:24
Wizzup(you'll have to dsmetool -k the conversations binary)17:25
Wizzupwell, depending on if you already got it set up qith qt5ct or not :)O17:25
arno11argh...as usual...kids time when things are interesting...17:26
arno11be back a bit later17:27
Wizzupnp17:30
siceloalways interesting to see how maemo was ahead by many counts ... other projects today are still trying to solve issues Maemo long solved, e.g. https://gstconf.ubicast.tv/videos/embedded-audio-policies-made-easy-with-wireplumber/18:54
Wizzuphopefully we can leverage wireplumber/pipewire at some point if they don't use too much ram18:55
arno11hmm, can't get qt kbd working anymore. no troubles with gtk. will reboot and see20:39
arno11Wizzup: yeah, got qt input and qt5ct stuff both working21:02
arno11hm, in fact it is buggy...21:05
Wizzuparno11: when you say you got it both working, what does that mean, that in your previous tests it wasn't enabled, or?21:08
siceloloxodonta21:16
sicelo-ECHAN, sorry21:16
arno11Wizzup: in my previous tests, it was indeed disabled21:19
arno11now i have both qt kb and qt5ct tweak working21:20
arno11no bug, just a question of proper env var21:20
arno11so the main issue is not qt input21:20
arno11i mean, qt input or not, same results21:22
Wizzupso you're saying the startup times are the same, and the main different is disabling our mesa stack21:27
Wizzupdifference*21:27
Wizzupalthough, I'm still surprised that your setup wouldn't load all the themes and fonts information, there have to be more environment variables at place here21:27
Wizzups/place/play/21:27
arno11i'll pastebin my config in a bit21:32
arno11https://paste.debian.net/hidden/632bdd38/21:37
arno11https://paste.debian.net/hidden/3abf5fba/21:37
arno11that's it21:37
Wizzupok, so you're not using the gtk2 platform theme then, right?21:38
WizzupI bet that this defaults to gtk2 for our default installs21:39
arno11not sure: it uses gtk2 apparently, it needs qt5ct, then qt5ct set gtk221:41
arno11*gtk2 platform21:43
WizzupLooking at your qt5ct config, it seems to set the fonts and themes there, which might be why it's doing less searching for other fonts21:44
Wizzupand you're saying that when you remove 'force_raster_widgets' the startup times increase significantly?21:45
arno11ok21:45
arno11yes it increases a lot21:45
arno11and things are fster than ever with the option activated21:46
arno11*faster21:46
WizzupI wonder if this is the same on chimaera or not22:07
arno11good question, i didn t try22:09
Wizzupso setting it to two should have no effect22:09
Wizzup        int forceRasterWidgets = settings.value("force_raster_widgets", Qt::PartiallyChecked).toInt();22:09
Wizzup        if(!m_isIgnored && forceRasterWidgets == Qt::Checked)22:09
Wizzup            QCoreApplication::setAttribute(Qt::AA_ForceRasterWidgets, true);22:09
Wizzup        else if(!m_isIgnored && forceRasterWidgets == Qt::Unchecked)22:09
Wizzup            QCoreApplication::setAttribute(Qt::AA_ForceRasterWidgets, false);22:09
WizzupI'll double check if this is the case, it depends on the enum values of Qt::Checked nad Qt::Unchecked22:10
Wizzupah, ok, Qt::Checked = 222:10
arno11hm, 2 is the correct value, 100% sure22:10
Wizzupso this becomes:22:11
WizzupMake top-level widgets use pure raster surfaces, and do not support non-native GL-based child widgets.22:11
arno11like if you use the ui to set it, it writes 2 in the qt5ct config file22:11
arno11sorry, missed one of your msgs :P22:12
Wizzup21:46 < arno11> and things are fster than ever with the option activated22:13
Wizzup21:46 < arno11> *faster22:13
Wizzupif I am reading between the lines, can I conclude that say with the qt5ct setup with no raster option, it might be on par with chimaera, but setting this additional option makes things even faster?22:13
arno11yeah22:14
arno11the only issue i see is when i use the option on boot, it makes conversations chat windows buggy (looks like a window stack issue)22:18
arno11if i set the option after boot, no issue22:18
Wizzupyes - the raster fallback breaks qml and many gl apps22:19
arno11ah ok, i was pretty sure it was because of qml22:19
Wizzupqml makes use of transparency and opengl(es) to be fast22:20
arno11ok22:20
Wizzupbut this ultimately probably shows that the mesa or pvr driver have some overhead, but that is not totally unexpected22:20
Wizzupwe'll have to decide how far to go with optimisations and such22:21
arno11yes indeed22:21
Wizzupin any case, I am actually a bit more interested in why otherwise qt5ct makes thing sstart faster22:21
arno11you should try it to see/feel the diff btw22:22
WizzupI mean, I believe you, but I'm wondering why loading another platform module *first* makes things faster, you'd expected it to make things slower22:24
arno11i see22:25
Wizzupor does it just not load our platform plugin?22:25
arno11hmm, don't know22:30
WizzupI have found it to be quit ehard to google for the QT_QPA_PLATFORMTHEME env var22:31
Wizzupeverything just results in qt5ct22:31
Wizzuphttps://github.com/qt/qtbase/blob/750a0b5ef6f1698dcbb01337abc1d9dca0eb3612/src/gui/kernel/qguiapplication.cpp#L153322:36
Wizzuparno11: what is you set standard_dialogs=gtk2 to qmaemo522:42
Wizzupwhat if*22:42
arno11sorry, bbiab22:42
arno11if i set it to maemo and disable raster stuff, it becomes very slow again22:57
arno11@google, yeah even AI is not really useful for that22:58
Wizzuparno11: ok, so your change is simply disabling the maemo style plugin23:09
WizzupNow it makes more sense - qt5ct itself doesn't add anything here, but with your config it disables loading our style plugin (qmaemo5)23:10
Wizzupsorry, not style, but platformtheme23:11
Wizzupso this means that for example the file dialog helper is not present, I think23:12
arno11file dialog helper ?23:12
Wizzuphttps://github.com/maemo-leste/qtstyleplugins/blob/master/src/plugins/platformthemes/maemo5/qmaemo5dialoghelpers.cpp#L16123:14
Wizzupso in this case, I suspect that setting QT_STYLE_OVERRIDE=gtk2 QT_QPA_PLATFORM=maemo QT_QPA_PLATFORMTHEME=gtk2 QT_IM_MODULE=him might not have the slowdown23:15
Wizzupsorry, QT_STYLE_OVERRIDE should remain set to maemo523:15
arno11ok, let me check23:15
Wizzupthis way it starts in about 10 seconds for me23:16
Wizzupthat is QT_STYLE_OVERRIDE=maemo5 QT_QPA_PLATFORM=maemo QT_QPA_PLATFORMTHEME=gtk2 QT_IM_MODULE=him countdowntimer23:17
arno1110 sec is very slow btw :P23:17
Wizzupthat is cold start23:18
Wizzupwarm start it's about 5 seconds23:18
Wizzupwith QT_QPA_PLATFORMTHEME=maemo5 it's about 7-8 seconds23:18
Wizzupcold start meaning the files loaded are not yet in the linux vfs cache (in ram)23:18
arno11yeah i know23:19
arno11still very slow on my device compared to raster23:19
arno11i.e cold start 3 sec for calculator, 1 sec warm start23:20
arno11*with raster23:20
Wizzupok, but let's leave raster out for the moment, because we determined that this is not related to daedalus vs chimaera23:20
arno11sure23:20
Wizzupso you're saying that this 5-7 second startup time was better on chimaera?23:20
arno11probably, yeah but hard to say23:22
arno11i remember starting most qt apps in less than 5-6 sec23:22
Wizzupfor me, calculator cold start time was 11-12 seconds, warm start up time 5-623:23
arno1111-12 sec cold start was a lot on chimaera23:23
arno11iirc, 7-8 sec max23:24
arno11but all of that probably highly depends on sd card23:25
Wizzupok23:25
WizzupI'm inclined to say we have work to do on our qt startup times, for which we should maybe file some issue(s), but at the same time I don't think it makes sense to consider this a blocker for daedalus, would you be inclined to agree?23:26
arno11definitely not a blocker, technically. but i'm worried about users who wait for a good daedalus img23:35
arno11but anyway there is a workaround23:35
Wizzupthe workaround does disable functionality in both cases23:38
arno11sorry but which perceptible functionality ? 3D accel ?23:39
arno11*noticeable23:50
arno11but afterall, basically, only calculator and qalendar are affected OOTB. should be maybe more problematic for OMP btw.23:58

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