16:00:00 <rainemak> #startmeeting Sailfish OS, open source, collaboration -- 14th August 2025
16:00:00 <sailbot> Meeting started Thu Aug 14 16:00:00 2025 UTC. The chair is rainemak. Information about MeetBot at http://wiki.debian.org/MeetBot.
16:00:00 <sailbot> Useful Commands: #action #agreed #help #info #idea #link #topic.
16:00:14 <rainemak> #info Meeting information and agenda can be found here:
16:00:14 <rainemak> #link https://forum.sailfishos.org/t/community-meeting-on-14th-august-2025-new-time-slot/23669
16:00:14 <rainemak> I am the meeting's chairperson today, and will be doing my best to keep time and order. Please respect the timings and bee-hive.
16:00:14 <rainemak> #topic Brief introduction (5 min). Please prefix your name/handle with #info
16:00:39 <rainemak> Community IRC meeting back from vacation and what a precise timing it was
16:00:59 <rainemak> #info Raine Mäkeläinen, Jolla
16:01:14 <mal> #info mal, Jolla
16:01:29 <direc85[m]> #info Matti Viljanen, Jolla
16:01:36 <AffeNull[m]> #info Affe Null, community
16:01:46 <pherjung[m]> #info pherjung, community
16:03:50 <rainemak> We have one topic today but that's a quite interesting one. I reserved 20mins for it but it can be extended as needed.
16:05:15 <rainemak> #topic new camera wrapper API - where to start? (20 mins -- affe_null)
16:05:24 <rainemak> #info <affe_null> In the last meeting, @mal suggested that a new camera API
16:05:24 <rainemak> #info <affe_null> could be developed to replace the existing QtMultimedia one.
16:05:24 <rainemak> #info <affe_null> This could be very useful both for implementing an advanced
16:05:24 <rainemak> #info <affe_null> camera app and for supporting ports based on libcamera.
16:05:25 <rainemak> #info <affe_null> I recently got libcamera working on the Jolla C2 with a
16:05:26 <rainemak> #info <affe_null> close-to-mainline kernel and can help with testing this.
16:05:28 <rainemak> #info <affe_null> I would also like to collect some ideas about the new API, e.g.
16:05:30 <rainemak> #info <affe_null> * should it still be based on gstreamer?
16:05:32 <rainemak> #info <affe_null> * should it still use the old GstPhotography API?
16:05:34 <rainemak> #info <affe_null> * should it be Sailfish-specific or can it be shared with
16:05:36 <rainemak> #info <affe_null>   other mobile Linux projects? should it be Qt-specific?
16:05:38 <rainemak> #info <affe_null> * which features need to be supported that are missing in the
16:05:40 <rainemak> old API?
16:05:42 <rainemak> #info <Jolla> Let’s start from needs/requirements.
16:05:44 <rainemak> #info <Jolla> * Faster Camera startup -> What are current bottlenecks?
16:05:46 <rainemak> -> Analyze first
16:05:48 <rainemak> #info <Jolla> * Something easier to maintain and extend
16:05:50 <rainemak> #info <Jolla> * Upstream should be hosted @ github.com/sailfishos but end result
16:05:52 <rainemak> does not have to be Sailfish-specific (preferably should not be Sailfish-specific)
16:05:57 <rainemak> #info <Jolla> * Can be shared with other mobile Linux projects
16:05:59 <rainemak> #info <Jolla> * Preferably Qt-less so C/C++, thin QML wrapper should be sufficient
16:06:01 <rainemak> #info <Jolla> * Support different low level camera things like gst-droid vs libcamera
16:06:03 <rainemak> #info <Jolla> * Consider PipeWire compatability (whatever that means from implementation point of view)
16:06:16 <rainemak> Let's have an open discussion on this topic.
16:07:02 <rainemak> Camera startup time was mentioned also in the Next gen Jolla Phone poll
16:07:14 <mal> just a small comment to the lower level camera things support, it can be either via gstreamer or directly to droidmedia, depending on what is best way
16:07:41 <rainemak> mal, agree on that
16:08:05 <rainemak> AffeNull[m], what's your take on this?
16:08:18 <AffeNull[m]> gstreamer might help with the encodings, but other than that it seems to make things more complicated (e.g. exposing camera controls)
16:08:37 <AffeNull[m]> the proposed requirements sound good
16:08:41 <CLMA31[m]> Sorry, I am a little late and can't participate fullest as I am on vacation, but I would like to understand related to this topic: would this new API also make it possible to do video recording, for example with C2?
16:08:51 <rainemak> CLMA31[m], no worry... nice to see you
16:08:53 <mal> yes, it has its benefits but also it is rather complex
16:09:15 <mal> also whether the startup time is because of gstreamer or qtmultimedia needs to be checked
16:09:25 <rainemak> CLMA31[m], see this https://forum.sailfishos.org/t/camera-app-hangs-immediately-after-pressing-record-video-button/24462/5?u=rainemak
16:10:24 <CLMA31[m]> Amazing! Thank you Raine
16:10:29 <rainemak> mal, yes, we do have a camera booster to preload libs and precompile QMLs but clearly that's not enough
16:11:04 <AffeNull[m]> mal, could the startup time also be caused by the gst-droid plugins?
16:11:28 <AffeNull[m]> IIRC running gst-inspect-1.0 also takes quite some time to initialize them
16:11:36 <rainemak> by simplifying the pipeline usually you get better results... and see QtMultimedia quite a bit over engineered making many things quite difficult to add
16:11:58 <mal> AffeNull[m]: it can be in gstreamer itself, gst-droid or droidmedia, or qtmultimedia
16:12:29 <mal> I can do some timing checks with gst-inspect to see what I can find out
16:12:50 <rainemak> thanks mal
16:13:42 <mal> and as comparison I can check some camera on laptop or something using gstreamer to see how fast for example some v4l2 camera starts
16:14:39 <rainemak> Implementation effort wise this is easily quite a big effort. Thus, would finalize camera2 api first.
16:15:02 <rainemak> mal, good idea
16:15:28 <CLMA31[m]> Can the new API be developed from the start as in open source collaboration with the community?
16:15:40 <rainemak> CLMA31[m], yes, it should be like that
16:16:45 <mal> maybe somewhere on forum there could be a thread with kind of wishlist for camera features?
16:17:02 <CLMA31[m]> Great! Even tho I don't have skills to contribute on that front, there are a lot of super intelligent people who might help you to do the heavy lifting :)
16:18:02 <rainemak> #action Create Forum topic regarding camera feature wishlist
16:18:05 <CLMA31[m]> Thread would be amazing! The polls seem to generate a lot of buss in the forum
16:18:46 <AffeNull[m]> Regarding the extensibility of the API, we need to define some standard set of camera controls to expose
16:19:03 <mal> related to earlier question about c2 video recording https://forum.sailfishos.org/t/release-notes-tampella-5-0-0-70-jolla-c2-only/24477
16:21:01 <rainemak> Nice! It went already out!
16:21:33 <AffeNull[m]> There are two approaches to exposing camera controls: they can be exposed statically, like in the android HALs, or dynamically, similar to gstreamer. The latter is more extensible but also introduces additional complexity.
16:22:16 <rainemak> CLMA31[m], please trigger an update from your Settings -> Sailfish OS
16:22:37 <mal> or combination or ways, exposing the basic things statically and everything else via some generic command way
16:22:56 <rainemak> combination could work
16:23:10 <AffeNull[m]> that's a good idea. I think at least the zoom control should be exposed statically
16:23:12 <mal> and more statically implemented parts could be added when needed
16:23:18 <rainemak> simple and usual things sounds like a static
16:23:40 <rainemak> AffeNull[m], mal : +1
16:25:08 <rainemak> extending topic by 10mins
16:26:11 <mal> if anyone has any links for what is needed for pipewire compatiblity please give those, would help planning
16:28:15 <AffeNull[m]> pipewire also has libcamera support, but I'm not sure how much control it provides
16:28:16 <rainemak> at the same time we know that audio routing needs to be rewritten for pipewire
16:30:45 <rainemak> I think that camera feature wishlist to the forum serves well for discussion and follow ups
16:30:55 <rainemak> 5 mins left
16:34:29 <rainemak> fantastic discussion! me appreciate. I'll note down that camera feature wishlist topic.
16:34:55 <mal> camera2 should indeed be finished, it's not that far but some remaining issues
16:35:43 <rainemak> alright, let's move on
16:35:54 <rainemak> #topic Open PR discussion (5 mins -- asked by Jolla)
16:37:17 <rainemak> Anybody anything?
16:37:31 <CLMA31[m]> I would like to thank everybody at Jolla from great work! I'm super excited about the possible new Jolla phone with better specs
16:37:56 <rainemak> ^ let's take that on general discussion... but thank you already
16:38:27 <rainemak> silence... let's move to the general discussion
16:38:28 <CLMA31[m]> Ah sorry, never remember the PR=pull request....
16:38:36 <mal> just a mention that there is gcc 13 update PR finally
16:38:37 <rainemak> no worry
16:38:50 <rainemak> mal, that's true and very very close now
16:39:09 <rainemak> we had one nasty qtdeclarative local storage crash to nail down
16:40:09 <rainemak> alright, general it is
16:40:11 <rainemak> #topic General discussion (10 mins)
16:40:55 <rainemak> CLMA31[m], I'll update my template and open up that PR to avoid confusion
16:42:17 <AffeNull[m]> Has anyone investigated why AppSupport appears to be slow on the C2?
16:42:17 <rainemak> PR = public relations vs pull requests :-)
16:42:37 <AffeNull[m]> It seems that Android apps have a low frame rate, sometimes below 30fps.
16:42:55 <mal> how does cpu usage look like?
16:43:24 <rainemak> and do you use some particular app
16:44:22 <AffeNull[m]> I think this also happens with the built-in settings app
16:44:31 <AffeNull[m]> scrolling is not really smooth
16:44:57 <AffeNull[m]> But I'm not sure if this is still true, I haven't tested any official builds for a long time.
16:45:11 <rainemak> AffeNull[m], do it start after some condition or is it present always
16:45:22 <rainemak> does it
16:46:09 <AffeNull[m]> I'll report more once I have more information. I was just wondering if anyone at Jolla has experienced this.
16:46:37 <mal> settings app at least scrolled fine when i just tested
16:47:47 <rainemak> same but like Android Firefox can be easily suffer that kind of symptoms <- there can be multitude of reasons why it triggers with web content
16:49:45 <rainemak> AffeNull[m], thank you for the camera api topic
16:49:50 <rainemak> that was good one
16:50:06 <rainemak> I think it's time to settle next meeting
16:50:18 <rainemak> if no other general topic
16:50:25 <rainemak> #topic Next meeting time and date (5 mins)
16:51:10 <rainemak> I'd say that back to usual biweekly rhythm. This evening time slot works perfectly for me.
16:51:26 <rainemak> Thus, proposing Thursday 28th August at 04:00 PM UTC
16:52:16 <direc85[m]> works for me
16:52:17 <rainemak> August is still a vacation month in central Europe. Those who can join will join.
16:54:55 <rainemak> I'm not hearing objections
16:54:58 <rainemak> #info Next meeting will be held on Thursday 28th August 2025 at 04:00pm UTC: 2025-08-28T1600Z
16:55:35 <rainemak> thank you everybody! if you happen to be still on vacation, enjoy it
16:56:21 <rainemak> #endmeeting