Sailfish OS update from Jolla
We are all here at Jolla excited regarding the progress that we made during the past two weeks. The re-implementation of the telephony stack has been a major push in this project and a tough nut to crack and there we have made some great progress. Phone calls are now working on 2G and 3G networks. VoLTE / oFono radion plugin requires more implementation time.
As communicated at last week’s IRC meeting and yesterday at Jolla C2 community deliverables we’re seeking help from you, Sailfish Community, to get the new version of the telephony binder interface properly tested in various countries – we’re mostly interested in VoLTE and how it behaves but surely the whole stack as well. See details from the C2 community phone deliveries thread. We’re so excited about the progress and breakthroughs in the past two weeks! By working together, I believe that we can pull this off! We have already received a nice amount of community members who’d be willing to test the Jolla C2 Community Phone among the first ones (CBeta members or ones who’d like to participate).
You have also been asking about updates regarding Xperia 10 IV and 10 V. We’re really close to Sauna 4.6 update being ready for these phones. There will be shortcomings like we communicated earlier on the other thread. It sounds like brave ones are willing to take it into use even without a working camera and Xperia 10 V would have issues with battery status reporting. Unfortunately, we have not yet received working vendor blobs but as communicated, we’ll provide instructions on how to update your devices when we have better vendor blobs.
This is just a must thing to mention, David Llewellyn-Jones (@flypig) and his persistence and endurance in updating esr91. What an awesome job you David have done with the help from the community. Your gecko blog has become for many a morning routine. We have promoted the changes required (or so we think) for Sauna 4.6 with esr91 so that those would land along with the Sauna 4.6 update that we’re preparing.
As usual, please enjoy and share your thoughts!
Energy from the Community
It’s overwhelming to see how you all reacted when David reached a point to provide pre-build rpm packages for Gecko esr91 with installation instructions. This really shows the power of the community. Many of you took it, started testing and already reported bugs in github. Please file bugs in GitHub and try to be as precise as you can on the steps on how to reproduce. The bug reporting template you can find from the docs works very well – please utilize it.
You can find Gecko esr91 installation instructions from there:
Repository roundup
Multimedia framework
-
ffmpeg
, a framework to encode and decode multimedia resources, mal updated it to 5.1.6. -
gstreamer
, a multimedia framework, mal upgraded to the latest upstream version 1.24.6. The various plugins were also upgraded accordingly. -
qtgrilo
, a framework for discovering and browsing media, Qt bindings, pvuorela added a function to fetch a media item for an arbitrary row in QML.
User interface
-
qmf-notifications-plugin
, a plugin to send notifications on email changes, dcaliste modified the code to drop unread notifications from the event screen for emails, as soon as such emails are opened in the mail application and not when the process of propagating this read status to the server complete. Now, notifications are immediately removed from the event view when reading emails offline. -
voicecall
, the open source part of the calling application, dcaliste created a plugin to log call history. This plugin simplifies and replaces some code fromcommhistory-daemon
. Initially, call logging was done incommhistory-daemon
by listening to Telepathy (a large communication framework) messages.voicecall
also has a Telepathy plug-in to expose calls to QML, resulting in duplicated code. -
commhistory-daemon
, the daemon handling call and message history, dcaliste removed the code logging calls. pvuorela removed some dead code, unused since Meego era. mal fixed building issues with GCC 11 and newer.
Low-level libraries
-
dsme
, device state management entity, spiiroin modified DSME logic so that RTC (real-time clock) device is opened only when there is an actual need for it and closed once the need is gone. Indeed, some Android services insist on inspecting the RTC time on startup. Having DSME hold on to the RTC device permanently causes such services to be blocked. -
nfcd
, the daemon for near field communication, slava modified the code to makendef-share
tool works more reliably: deactivating the interface right after the final response has been sent over NFC may be too early for the other side - it may still need some time to fully process our response. -
libconnman-qt
, QML bindings for the connection manager, pvuorela ensured logging categories are in-use by the library, and avoided cases where datatypes are not properly registered for NetworkTechnology objects in QML.
Developer’s corner
-
spectacle
, a Python tool to generate RPM packaging files, nephros renamedSafeConfigParser
toConfigParser
, since Python 3.2 changed the name and now Python 3.12 is removing the old name. -
orc
, a library to generate optimized code operating on arrays of data, mal updated it to 0.4.39. -
libngf-qt
, Qt-based client library for Non-Graphic Feedback daemon, neochapay updated the repository for Qt6. -
libusb-moded-qt
, a library of Qt bindings for usb_moded, neochapay fixed hard-coded path to Qt5. -
sdk-build-tools
, scripts used to build the Sailfish SDK in its production environment, martyone based the tools on Ubuntu 22.04 for the host parts and also used MSYS2 as package providers on Windows. -
sailfish-qtcreator
, the Qt IDE, martyone upgraded internal GDB to 12.1.
App roundup
In the app roundup today we’re going for games and native games at that. Sailfish OS is blessed with a surprisingly wide selection of games, especially given the amazing work done by glitchapp (RosSigudottir) with the LÖVE 2D game framework and Mark Washeim’s (poetaster’s) amazing efforts with his array of WebView apps such as Mah Solitaire.
But today we’re looking at something slightly different. We have two games from Adam Pigg (piggz) written using Qt to make best use of your phone’s capabilities and Sailfish OS in particular. While neither are new developments, they’ve not previously featured in the newsletter before so are both definitely worth taking a look at.
The other game is WORDLE which recently saw a new update from long-term Sailfish OS developer Slava Monich (Slava). We’re going to start with WORDLE which is now at version 1.1.3. While we’ve covered the game in the past it continues to be popular and falls solidly in the category of head-scratching puzzle games.
It’s a game that’s tricky to describe but easy to play. You, the player, get six guesses to identify a five-letter word. Each guess you make must be a real word itself — no random collections of letters — and if you get it wrong each of the letters will be highlighted in an appropriate way. Green means the right letter in the right place. Yellow is the right letter in the wrong place. Grey means the wrong letter in any place.
The game cleverly hits a sweet spot in terms of difficulty, strategy and luck. To win you’ll need to build on a good vocabulary and the ability to permute letters in your head. As you progress the number of possibilities that work reduces, which should make life easier, but there have been many an occasion when I’ve been left confused and bemused trying to find any word — literally any word — that fits.
Slava’s Sailfish OS implementation is one of the better ones. No ads, no restrictions, clean and responsive interface. It has a large dictionary to draw from covering twelve different languages. Plus there are the nice flourishes that are the hallmark of Slava’s well-written apps.
The latest version brings the game up to 1.1.3 with a brilliant new statistics page, improved layout and improved dictionaries. If you’ve not already tried it it’s well worth a play. And if you have, it’s worth grabbing the upgrade. It’s available from the Jolla Store, OpenRepos and Chum…
Next up we have Galaxy Attack HD from Adam Pigg. The game takes the form of classic space invaders but with upgraded graphics and twenty-first-century controls. All of the classic elements remain: a synchronised grid of enemy invaders scrolls across the screen, gradually moving down towards your battleship at the bottom. The invaders drop bombs which must be dodged or hidden from. Between you and the invaders are four inadequate force-fields that wear down as the bombs land on them.
While your battleship is equipped with a vertical-shooting cannon, care must be taken not to accidentally destroy the shields from underneath. And so the game of skill and tactics unfolds.
The graphics are a nice upgrade on the original with three different types of animated enemies, plus the occasional horizontally scrolling mother ship. The sounds make an appropriately shrill “pew pew” sound when you tap the screen and, in the neatest touch of all, you control the horizontal movement of your battleship by tilting the phone to the left and the right.
While the gameplay might be straight out of the seventies the updated graphics and controls give it a fresh feel. It’s smooth and responsive and the only downside is that the physicality of the tilting controls means the bombs can sometimes feel impossible to dodge. I probably need to practice my phone-tilting technique.
Galaxy Attach HD is available from OpenRepos and Chum with the latest version at 1.0.9.1
Finally, we have Galaxy Attack’s companion game Jewel Rush also from Adam. This addictive, chirpy, game is an interesting spin on Tetris. We have dominoes rather than pentominoes for the polyominoes. This brings back memories of Puyo Puyo but again with a twist: matching colours don’t disappear until hit by a bomb, a special segment of the domino that’s round rather than jewel-shaped.
As with all of the greatest puzzle-arcade games, it’s simple to pick up, combining a mixture of planning, strategy and dexterity. The graphics are bold and clear. There’s an initially catchy tune but, given its diminutive length, repetition sets in fairly soon and I preferred playing the game with the music turned down.
Controls are entirely touch-based: swipe left and right to move the pieces in the relevant direction, tap to rotate and swipe down to drop. Simple and mostly effective. The very slight delay needed to register a swipe was a source of a little frustration as the top of the screen approaches and negotiating the pieces around the towers below becomes harder and more fraught. But ultimately that’s part of the fun.
Jewel Rush is by no means a new release although both it and Galaxy Attack are relatively new additions to Chum. It’s worth them being there as they both still hold up. Jewel Rush is at version 0.7.0 and is available from both OpenRepos and the Chum repositories. Both games are also available from the Jolla Store, except only as 32-bit binaries so if you’re using a 64-bit device you’ll have to grab them from one of the other locations.
I’ve had a lot of fun enjoying these games this fortnight. Thanks are due, as always, to the tireless work of the developers, both of these lovely apps and all of the other new releases we’ve been seeing recently.
Please feed us your news
Hope you enjoyed reading this community newsletter and feel the excitement! As always, please do not hesitate to share your ideas, thoughts, or suggestions for future newsletter topics. This is your news!
Please also join us at our community meetings on IRC, Matrix and Telegram. The next community meeting will be on the 5th September.