Sailfish OS update from Jolla
Sailfish SDK release
Yesterday (22nd of February) a new version of Sailfish SDK was released. The new version bears version number 3.10, and it includes an emulator and build targets for Sailfish OS 4.5.0.18. The greatest new feature in the SDK itself is the ability to maintain patches with the command line tool sfdk
. While that feature is really useful for package maintainers only, as opposed to application developers, all users will benefit from the various bug fixes the new version contains. And those of us who use docker build engine will probably enjoy the fact that installing the build engine is much faster now.
One change in the SDK that is worth mentioning is that from now on the new applications created using the wizards in Qt Creator, or via command line using sfdk init
, will no longer contain YAML files. Instead, the packaging recipes are contained in RPM SPEC files. This does not mean that old applications, packaged with the help of YAML files, would cease to function. The existing YAML files will continue to work, only the new applications will no longer have them.
Minor release for Struven Ketju
The main reason for Sailfish OS 4.5.0.18 Struven ketju minor release was backported ffmpeg 5.0 support for Gecko. We got that promptly done, it was well isolated, and there was a clear need to get video codecs working. The other changes were mostly enablers and fixes for Sailfish SDK release and documentation. The release contained also a regression fix for the lock view ongoing call item being out of the screen. That’s all that it had.
When it comes to releases, last year we tried something a little different. Instead of major releases with long lead times, we had two major releases followed by three minor releases for Vanha Rauma. As there have been recently interesting discussions about how we handle Sailfish OS releases at Jolla, we would like to hear your input regarding releases.
Do you prefer a couple of major releases with big features each year, or quicker, more incremental, and subtle changes?
Please share your thoughts in the comments, and hit the buttons to vote!
- Only major feature releases
- Few major plus a few minor releases
0 voters
Improving mobile data connectivity with the community
I am excited to see how Jussi (@jlaakkonen) and Andrew (@abranson) engaged the community for testing CLAT for IPv6-only mobile networks. I have interviewed Jussi and Andrew regarding their experiences.
As CLAT is not necessarily that well-known technology, could you guys summarize what is this CLAT all about?
IPv6 is a newer form of network addressing with a much larger capacity than the old IPv4 that is rapidly running out of room for devices. Although the two aren’t compatible with each other, it’s possible to use the internet with only an IPv6 address, if your network provides a network bridge to the IPv4 internet (called NAT64) which wraps up the entire IPv4 internet into a small subnet that you can connect to. You usually wouldn’t have to do anything special to use this, as they also specially configure their name servers to make sure that any hostnames you need to connect to point to this bridge (using a mechanism called DNS64), but that doesn’t help if you’re trying to connect to an IPv4 address directly. CLAT helps with that this by detecting a NAT64 bridge if it’s present and creating an IPv4 address on the device to use that.
CLAT has been a feature of Android and iOS for long enough now that some mobile operators feel that they can give only IPv6 addresses to devices that they think can support IPv6, NAT64 and CLAT. The Sony Xperia X10iii is one of those devices, and our users on those networks have had problems on Sailfish OS with connections to the IPv4 internet and also internet sharing (which can only use IPv4 right now) because it does not yet support CLAT. Implementing it will ensure that those devices function as expected on those operators.
I understood that NAT64 is not used by Finnish mobile operators. From how many countries have you received logs?
Andrew: I first encountered this problem on the Orange network in France, but it was originally noticed on Orange Poland. We’ve also received useful logs from users in Germany and Italy.
Could you guys elaborate that how helpful this support from the community was?
Every provider’s network implementation is different, so the only way to be sure that our implementation is correct is for users to try it on their home networks and report back. That’s why it’s been so useful to get people testing this out.
Am I interpreting this right that without support from the community, we’d have been travelling around Europe, gathering logs, and trying to fix it?
Not only that, but roaming tends to trigger a fallback mode where the device is put on a legacy IPv4 network, so not only would we have to travel to every country that does that, but we’d also have to get a mobile subscription in each one.
Energy from the Community
Community Member Nico Cartron Recaps Jolla and Sailfish OS’ Presence at FOSDEM 2023
We’re excited to relive the FOSDEM experience through the eyes of Nico Cartron (@cartron), who has written a comprehensive blog post about Jolla and Sailfish OS at FOSDEM 2023.
In his blog text, Nico highlights Jolla and Sailfish OS’ presence at FOSDEM 2023, providing a detailed account of the company’s stand, presentations, Sailfish OS Dinner, and Sailfish OS BOF. He discusses the shared “Linux on Mobile” stand, where Jolla presented Sailfish OS on various devices, including the PinePhone and some community ports, as well as Björn’s (@Thaodan) presentation on porting Sailfish OS on Sony devices, which attracted a significant audience.
Nico also provides insight into David’s (@flypig) presentation on the SFOS app for Covid exposure, which showcased the advantages of open designs and protocols for non-mainstream mobile operating systems. Finally, he shares his experience of the Sailfish OS Dinner and BOF, where attendees discussed topics ranging from SFOS running on KVM to VoLTE issues. Overall, Nico’s blog text provides a comprehensive overview of Jolla and Sailfish OS’ participation in FOSDEM 2023.
You can read the whole report here. Thanks Nico for writing this!
Sailmates Association Launches!
In the previous newsletter, we highlighted the upcoming Sailmates association, a non-profit association established to support Sailfish OS activities. It’s worth noting that the Sailmates is now up and running! To learn more about becoming a member of Sailmates, visit their website at https://sailmates.net/ or read more here on the forum.
Repository roundup
Some of the merge requests listed here have been already pushed as a hot fix for 4.5.0, like the fix for video playback in the browser.
Telephony stack
-
nemo-qml-plugin-systemsettings
, a QML component used by the Settings app, pvuorela added support to define a different ring tone for SIM card 2. -
voicecall
, the open source part of the calling application, pvuorela changed the ring tone call to accept user defined ring tones by path. -
libphonenumber
, a library for manipulating international phone numbers, mal updated it to 8.12.57.
The browser
-
gecko-dev
, Mozilla’s Gecko web rendering engine, mal cleaned-up the build process with the upgrade of CLang. mal also backport the support forffmpeg
5.0, solving numerous playback issues in the browser.
Sound stack
-
amber-mpris
, QML bindings for remote control of music players, tomin1 pushed a patch not to scale twice the duration in the meta data. flypig 's pull request to let the application choose the prefix for DBus paths has been accepted.
Calendar stack
-
nemo-qml-plugin-calendar
, the QML for calendar access, dcaliste opened a merge request to add support for exceptions on recurring events that modify all future occurrences.
System control
-
yamui
, minimal UI tool for displaying simple graphical indicators, spiiroin reimplemented it with a GLib-based main loop. Like that, yamui can expose a compositor DBus service. spiiroin also cleaned-up the spec file. He also put back the workaround used with Xperia 10 on init to avoid a blank screen. -
yamuisplash
, a simple splash screen for SailfishOS, spiiroin propagated the changes inyamui
. -
lipstick
, the home screen code (open source parts), spiiroin avoided changing the signal handler of SIGTERM. spiiroin created a link between mce and lipstick so the latter can tell the former what it needs to become the compositor. pvuorela cleaned-up old code related to thermal status creating useless blocking DBus calls.
Low level libraries
-
libglibutil
, a library extending GLib with convenient utilities, slava added a module to ref count the GLib weak reference and avoid time consuming calls tog_weak_ref_set()
. -
transfer-engine
, the backend to allow sharing data between apps, attah contributed a fix for uninitialised booleans, and later on pvuorela added another fix for some other unitialised members. -
cairo
, the drawing library, attah is proposing to update it to 1.17.8 and migrate to Meson for the build. -
xslt
, the XML toolkit, mal backported a patch to add missing symbolic links. -
xkeyboard-config
, alternative xkb data files, pvuorela mapped the assistant button on Xperia10iii to a camera button. -
boost
, the C++ library for optimised operations, mal updated it to 1.81.0, also adding compilation of the modules for contact, json, nowide and urls. Signaling module has been removed. -
firejail
, the isolation mechanism for process from the host system, dsuni updated it to 0.9.72.
Software engineering
-
build-compare
, scripts to find out if the build result differs to a former build, mal modified it to ignore changes in rpmlint output.
SDK and developer tools
-
mesa
, graphic libraries, mal updated to 21.3.9, now that LLVM has been updated. -
rust
, the Rust programming language compiler, based on the initial work from rubdos , mal upgraded to 1.61.0. -
abseil-cpp
, a C++ library designed to augment the C++ standard library, mal added this library as a new repository as a new dependency tolibphonenumber
. -
llvm
, the machinery to build compilers, resumed the earlier work of rubdos to update to 14.0.6. -
kf5bluezqt
, the KDE framework handling Bluetooth, martyone added missing QML definitions. -
sdk-build-tools
, scripts used to build the Sailfish SDK in its production environment, martyone added the documentation for KDE Bluez library. -
sailfish-qtcreator
, the Qt IDE, martyone patched it to use a doker volume for/srv/mer
. martyone also disabled reverse path mapping for interactive build-shell and commited a patch not to loose session scope configuration. -
sdk-setup
, part of the Sailfish SDK, vigejolla separated spec file per builder. vigejolla provided a patch formb2
to use git from/usr/local/bin/git
if available. martyone fixed the path toip
insdk-info
. martyone fixed permission issues on installation of the various scripts. -
sdk-test-suite
, the test suite for the SDK tools, vigejolla added some tests checking initialisation withsfdk
. martyone changed the name of the tested branch forharbour-storeman
.
Sailfish OS website
- jovirkku created a document explaing how to update the vendor image.
- jovirkku updated the page for collecting logs. The script doing the collection has been updated, mainly to support Android v11.
- LaakkonenJussi imported the page describing how to setup a firewall.
- jovirkku added columns in the supported device table exposing API level for Android and kernel.
- jovirkku added a paragraph explaining how to reset the browser.
- jpwalden added a page describing issues with the message application (mainly to troubleshoot MMS).
- martyone announced the SDK release 3.10 for early access.
-
martyone mentioned Windows specific issues with
sfdk
. - martyone cleaned-up SDK installation instructions.
- jpwalden created a page describing the note application.
App roundup
We’ve another nice collection of apps today. Although only one of the apps is entirely new, we also have one that’s new to the Jolla Store, and a couple of nice updates as well. As always it’s great to see the high quality of new and updated apps filter through into the Jolla Store, a testament to the continuously high quality of development happening in the Sailfish developer community.
MeeCalc
First up this fortnight we have MeeCalc. Sailfish OS does of course have an official Jolla calculator, but some people may find its hard Silica edges and history tape add too much complexity. If you’re after a simple punch and play calculator, with some soft, nostalgic N9 styling, then MeeCalc is probably what you’re after.
Created by prolific app developer and Sailfish contributor Slava Monich (slava), the latest version handles Sandboxing so that there’s no longer a warning on installation. It’s one of the few apps you’ll find that doesn’t require any more than the minimum default permissions.
In use the app scales nicely to different screen sizes and has big vivid buttons that are hard to miss. And lets be honest, while it’s not trying to conform to the usual Sailfish styling, the N9 style still holds up.
Grab yourself version 1.0.10 from the Jolla Store or Chum.
Order List
Although not a new app, we’ve not covered Order List in the newsletter before. It’s an interesting app which appears to have been designed for quite a specific purpose, but which works very well and is surprisingly adaptable despite this.
Developed by aimless, Order List will allow you to collect together items into a categorised list. It’s especially useful if you want to make repeat orders, but potentially with differing amounts on different occasions. And if the organisation you’re ordering from allows you to place your orders by email, then this is definitely an app you should be trying out.
Populating the lists is easy: each entry has a category, a unit (e.g. “bottle” for drinks, “kg” for sugar, or “aquaria” for crocodiles… or so I imagine), and a name.
Once your list is populated you can easily specify quantities of the defined unit using the nice Silica circular slider widget, in steps of either tens or units. You can also select items to include or exclude by pressing the togglable glass indicator.
Finally, when it’s all ready, select the menu option to send it out to the email client as a neat list in text form for the recipient to act upon.
You can even specify header and footer text for your email, to making it passably human-generated.
Even if you’re not placing orders, it can be a great way to create shopping or other forms of lists, to send to yourself as a universal form of “cloud storage” for future reference.
Version 0.2 of the app addresses Sandboxing issues and is available from the Jolla Store.
Sailtrix
Matrix has become increasingly popular amongst open source communities, and the Sailfish community in particular. Whether you’re following the fortnightly community meetings, keeping up-to-date with Whisperfish development, joining the new Sailmates association, following Sailfish news through one of the many local or national Sailfish groups, or discussing all things Sailfish with the Sailfish OS Fan Club, then you’ll be needing a matrix client to help you do it.
Both Sailtrix and Hydrogen are available as native apps, but you could say that Sailtrix is the more native of the two. For while Hydrogen is brilliantly full-featured for a mobile client, because it’s largely based on cross-platform Web-app code, it doesn’t have the usual Silica look-and-feel.
Sailtrix on the other hand immediately makes you feel at home, with visible ambience and the usual Sailfish widgets in use throughout. Developed by Heng Ye (HengYeDev), it’s a fully-native Sailfish-only client that supports encryption and therefore wide access to matrix groups.
It’s come on a long way since it’s original release in July 2021, so that it’s now a very robust Matrix client. The latest version 1.4 release is also the first to make it into the Jolla Store, which is always great to see as well. This release adds room search, the ability to set the device name (equivalent to the user agent) and emoji verification (which Hydrogen currently doesn’t yet support).
It’s a great app and well worth a try, available from the full set of locations: the Jolla Store, OpenRepos and Chum.
BBK
BBK is another new release for the Jolla Store, this time from Anton Thomasson (attah) of SeaPrint fame. It provides a combination of Web front-end and compiled backend to the Bredbandskollen.se site for measuring your connection upload and download speeds.
I tried it out on a few WiFi connections (train, coffee shop, home) and found the results to be as expected (slow, faster, fastest). There’s a nice visualisation as the app does its work, separated between the download and upload testing.
I also tested against a few online websites purporting to test internet speeds and got very similar results. All very encouraging stuff.
Version 0.3.1 of the app is available on both the Jolla Store and OpenRepos.
Please feed us your news
Our ship can’t set sail without your feedback!
We need your updates, stories, and feedback to keep our community afloat. Whether you’ve discovered a new app, solved a tricky bug, or have a salty tale to tell, we want to hear it all. Please help us out by replying to this post in the forum if you’d like to see something included in the upcoming newsletters!