Sailfish Community News, 24th February 2022, Xperia 10 III

Subscribe to future posts here :bell:

Sailfish OS update from Jolla

Just as the last newsletter went to press, those of you on the Early Access stream will have received a notification asking you to update to Sailfish OS Release 4.3.0.15. This interim release addresses an important polkit-related security advisory that was released after the original 4.3.0 Suomenlinna release went out. As well as fixing the security flaw, it also prepares your device for the next upcoming full Sailfish OS release by installing changes needed to support the upgraded archiving format that we’ll be using in the next update. And it also allows for an easier SDK setup process.

The release has since gone out to all users and we’re happy to see it’s received a positive reception. Although it’s not intended to provide new features, as you can see there’s nevertheless been a lot that’s gone into it.

In the last newsletter we highlighted the release of the Sailfish SDK version 3.8 to the Early Access channels. This has also now gone from Early Access to general release. For more details about this, see the release notes or the summary in the previous newsletter as already mentioned. As well as this full release, the SDK team also released the Platform SDK chroot targets for 4.3.0.15.

As we prepare for the next release, it’s also worth giving advance warning that one of the changes in the next release is also likely to cause the location of app icons in the app drawer, as well as any folders you may have there, to get reset. This is unfortunate but unavoidable, so we recommend you take a note (or maybe a screenshot) of the locations of the apps before the upgrade so you can rearrange them correctly again afterwards.

Finally, an announcement that will be important if you’re involved in porting Sailfish OS to other platforms. Our hardware adaptation team has forked the pulseaudio-modules-droid package to make Android 11+ based adaptations easier to maintain.

The original modules have been renamed to pulseaudio-modules-droid-q and will continue to be usable as is in current adaptations, you just need to replace used repository.

Jolla at MWC Barcelona 2022

We’re very happy that Jolla will be returning to the exhibition floor at MWC in Barcelona next week. As one of the world’s largest mobile connectivity events, we’re excited to be attending.

If you’re attending yourself, please do drop by our stand, 7G23 in Hall 7, and say hello; we’d love to see you. And if you’re in the vicinity of Barcelona this Sunday 27th February we’d also love for you to join us at an informal community meet-up outside of MWC. If you’d like to be there, please drop us a private message to let us know so we can provide more details.

Xperia 10 III hardware adaptation

In the last newsletter we talked about the release of the official instructions for building Sailfish OS for the Xperia 10 III. It was great to see the response, and especially from those of you keen to contribute to the development process by giving it a go.

The team at Jolla have worked extremely hard to provide excellent instructions. Nevertheless, they’re also very open about the fact that the instructions are primarily aimed at those with some experience in Sailfish OS hardware adaptation, rather than for general users. Reference to the Hardware Adaptation Development Kit is even a required part of the process. Given this, as someone who isn’t familiar with hardware adaptation, I was interested to give them a go and find out exactly how much understanding of the process is really needed in order to get Sailfish OS up and running on an Xperia 10 III.

So I decided to have a go at following the instructions to find out. Now as a Jolla developer I’m pretty familiar with the Sailfish OS userspace. But like any operating system there are many different layers to it: from the user interface and apps at the top down through the middleware, into the kernel, the hardware adaptation and the drivers at the bottom, closest to the metal. There’s even a clearly marked boundary in our repository structure between the operating system and the hardware adaptation.

Anything lower than the middleware falls well outside my understanding. So I approached building an Xperia 10 III image just like any other non-porter might*. So how did I get on?

Thankfully the instructions are very clear and detailed. Building an Xperia 10 III image isn’t like porting to a new platform, because someone else has already figured out all of the problems already. So unlike the instructions in the HADK which require interactive investigation, the instructions for building an image don’t require thought, only diligence and patience.

Nevertheless, the instructions do mirror the structure of the HADK, and there are quite a few steps involved. You start by prepping your device, much as you would if you were flashing an officially supported image. You must then set up your Platform SDK in a very specific way for building the images. This includes creating a custom target, as well as a custom Ubuntu Chroot, the former for building the Sailfish OS components, and the latter for building the Android Hardware Adaptation Layer.

There’s quite a lot to download during this set up process and through some of the later stages as well. On my mediocre (for Finland, at least) max 50Mb connection I spent a total of four hours downloading the necessary repositories and images. This isn’t something you’d want to do over a metered or mobile connection.

Having set everything up, you then need to actually start building things. This is a three stage process. First build the Android HAL using an Ubuntu Chroot. I found this to be a lengthy but smooth process. My laptop isn’t powerful compared to a dedicated tower designed for building code (briefly: 16GiB Core i7-1065G7, 8 × 1.30GHz), so I performed all of the steps set with j2. Building the Android HAL took nine hours, but thankfully it didn’t hit any glitches en route, so I could just leave it running overnight.

The subsequent steps involve packaging the Droid HAL, followed by creating the Sailfish OS root filesystem. These steps weren’t so smooth and I hit some bumps along the way. The build process is still very much in development, and while things are still in flux it’s inevitable that there will be some fixes and workarounds needed to get the build to go through.

All in all, these stages took an additional 2 hours of build time, but in much smaller steps punctuated by manual execution of commands as described in the instructions (the longest continuous build stage was for the hybris-hal at 55 minutes).

Finally, having built everything you end up with a zip file similar to the one you’d expect to get as a Sailfish X download, with clear instructions for flashing the resulting images to your device.

The instructions are very clear and precise, but unfortunately my first attempt at getting a bootable image didn’t go according to plan. With the adaptation still in flux and daily updates to both the build engine and adaptation sources, keeping the documentation in sync isn’t a straightforward task. As a result, the instructions weren’t quite ready for someone who wants to step through them mindlessly. So although I did get a set of flashable images, the phone refused to boot past the recovery menu.

Luckily I have a world-class hardware adaptation team on hand to help me out. With some amazing work from them ironing out the glitches, updating the SDK target, the Chroot and the build instructions, I was able to give the process a second attempt.

With the changes in place, things went more smoothly. I was able to get through the commands with minimal intervention and as you read this, all of the remaining glitches should now be ironed out.

Things went more smoothly for other reasons too. It would be a stretch to say I now understand what’s going on, but familiarity with the different stages certainly helps. Plus pushing the job limit up to -j4 also cut 26% off the build time.

With the images flashed to my virgin Xperia 10 III, I pressed down hard on the power button with some trepidation. It’s amazing how long the boot process feels when everything rests on the result. It’s also amazing how good it feels to see the Sailfish OS logo appear on screen for the first time.

Overall for each run I spent around four hours waiting for things to download and eleven hours waiting for things to build, but practically speaking this means you should set aside at least a couple of days to get through the process. With a faster machine and a faster connection, you may be able to reduce this to a day.

As is hopefully clear, the process isn’t for the faint of heart, but it is tractable even without an understanding of the processes happening in the background. There’s something especially fulfilling about running an OS built from source; even if it’s just a hint of what it must feel like to see a genuinely new port boot for the first time.

If you’re planning to test out Sailfish OS on your Xperia 10 III in advance of the official release, then this is the way to do it. Don’t see it as an opportunity to get a release-grade OS — the adaptation is still a work-in-progress — but do see it as an opportunity to contribute by sharing your experiences.

If you do decide to try this out, alongside the documentation, the best place to get answers to specific questions is, as always, the #sailfishos-porters IRC channel.

The important caveat always remains that anything like this is risky and may end up bricking your device. So please only try this if you either know what you’re doing, or are entirely comfortable with this possibility.


*In other words, with an overwhelming feeling of angst and confusion.

Energy from the Community

We have a nice selection of new and updated apps for you as usual. What with February being the worst month of the year again, we’re happy to see a couple of game releases to keep your brain occupied and your spirits high.

Lines

Attendees of the latest Sailfish community meeting will know that the Jolla Store heuristics have been tweaked to allow software for both the latest aarch64 devices, and those running earlier Sailfish OS releases, to happily cohabit. Happily this has allowed Slava Monich (slava) to release all of his popular apps to the Jolla Store for the latest aarch64 devices.

Lines is one of the beneficiaries of this unlocking. Slava describes it as a classic puzzle game, but it’s not one I’ve played in other contexts. It’s sort-of a cross between the colour cominations of Bejeweled and the top-down wandering of NetHack, but without the monsters. The aim is to connect together lines of identically-coloured balls. You can direct the balls to move to any other point on the grid, as long as their path isn’t blocked by the other balls in play. After each move, three new randomly coloured balls with be placed randomly on the board. As time goes by the board becomes increasingly cramped, hindering your attempts to join similarly-coloured balls together. The only relief comes from creating the lines, causing its constituent balls to disappear, and hopefully opening up a pathway for your next move. At the same time, completing lines fills up your points total, the more balls in the line the more points.

The rules are simple, but it can be surprisingly frustrating to have your plans thwarted by the random placing of a ball blocking the only remaining pathway needed to clear the next line. As the board fills up, moves become more scarce and it becomes easier to predict where the next balls will fall, ratcheting up the frustration.

The graphics are also simple, but clean and easy to parse, a far cry from the visual assault you might get from a Popcap game. Whether this is a pro or a con will depend on your perspective.

If you’re looking for a app to pass the time and calm a restless mind, then Lines may be just what you need.

Lines is now available for devices of all varieties from the Jolla Store as well sa from OpenRepos.

Parkscheibe

Another prolific app publisher, Mark Washeim (poetaster) has released an update to his Parking Timer app. Mark has done a sterling job in recent months picking up a whole host of otherwise unmaintained apps. Parkscheibe is one such app, which Mark has taken over from Tobias Planitzer, the original author.

Designed to relieve the burden or remembering when your parking ticket will run out, Parkscheibe essentially a countdown timer, but tailored to suit the parking zone regulation found in many countries across Europe.

The only timer options are 30 minutes, an hour or two hours, which makes the app really simple to operate, and is certainly like to cover the most common inner-city parking scenarios. It’s a little more nuanced though, because you can also set a quantisation level of 15 or 30 minutes. This will round your parking time up to the closest boundary, to mimic different country’s parking requirements. You can also configure the app to give a five minute warning before the time expires. It’s up to you, however, to ensure you’re still within a five minute walk of your car when that happens!

The main page in the app shows a very clear visual indication, in nice Sailfish OS style, of the remaining time. It also captures a nice summary of all of the details you might need: start time, set time and finish time.

It’s a simple app, and while you could do the calculations yourself and set up a timer in the Clock app, Parkscheibe makes the whole process easier, quicker and therefore also less error prone. In short, another nice app from Mark.

Parkscheibe is available from the Jolla Store and OpenRepos.

Tremotesf

After the peer-to-peer frenzy at the turn of the millennium, once the dust had settled, BitTorrent emerged as one of the most successful survivors. No doubt part of that success came from its widespread use for sharing pirated music and video, without any central organisation for the copyright holders to pursue. But it also provides a very convenient way to download and legitimately distribute very large files, such as Linux distro images.

Transmission is a particularly nice, and aggressively cross-platform, BitTorrent client. It doesn’t make much sense to run BitTorrent on a phone, with their relatively small storage space and data caps compared to their desktop and laptop brethren. So Tremotesf provides the ability to control the Transmission client running on your computer from your phone.

The dameon for allowing this control is built in to the Transmission client, all you need do is activate the remote control feature, specify a port for it to listen on, and optionally configure some security. On the Tremotesf side, configuring the connection is also straightforward: minimally set the name, IP address and port for the device running Transmission.

You’ll then immediately see a list of all of your currently active torrents. You can add more, pause them, restart them, investigate their contents (down to the file name level, but no the actual file contents), and so on.

The UI is really nicely designed. It provides a large amount of data in a small space, while fitting in really well with the Sailfish style that we all love. You get notifications for when a file has finished downloading, and various other events, and you can even set up connections to multiple clients.

The latest release of Tremotesf provides various new features, including automatic reconnection to the server, persistent filter and sorting settings, and improved presentation of various pieces of information. You can also now shut down the transmission server directly from your phone.

Tremotesf is written and maintained by Alexey Rochev (equeim) and is available from the Jolla Store and OpenRepos

Machines Vs. Machines

Another release from Mark Washeim (poetaster) this last fortnight comes in the form of Machines Vs. Machines, a game ported over from Ubuntu and originally written by Michael Zanetti. It’s a classic tower-defence style games and comes with two quite distinct variants.

The Machines Vs. Machines variety sees you placing turrets along a path using a finite amount of resources. After a distressingly short interval a parade of robots will head down the path and towards the soft and vulnerable heart at the other end.

Well-placed turrets will fire at the robots as soon as they’re within range, but with a fixed reload time. Placement is key to ensuring you wipe out the robots before they reach that soft spot. If too many of them get through, you’ll fail the level.

The game is easy on the eyes and ears, with bright, colourful and playful graphics. But this belies the rather tough gameplay that requires careful strategising and resource management. Each level requires you to survive ten waves, which even on the normal will require multiple failed attempts before you reach a successful strategy. There is thankfully also an easier level, and also a hard level for the masochists.

If you’re after something cleaner, the “Let’s Shoot the Serif” variant makes for a nice contrast. The titular pun pretty much captures the entire game. Rather than robots you have Times New Roman letters (Serif, geddit?), which inexplicably either shoot or are shot. It’s a relief the developers don’t try to rationalise what’s going on here with a narrative. They’re letters. They’re shooting. If you want it to make more sense, you should stick with the robots.

Both games are a lot of fun. The design doesn’t always fit nicely into the 21:9 form-factor of the Xperia devices, with some crucial help text getting cut off the top or bottom of the screen. But these are minor glitches that I’m sure Mark will be able to iron out in future releases.

The latest version includes various fixes and has been repackaged, and is available from OpenRepos.

Please feed us your news

This is a community update, and frankly we can’t always keep up with all the exciting stuff happening in the Sailfish community. Plus, the less of this we have to actually write ourselves the better. So please help us out by posting your Sailfish news updates to the forum as a reply to this post. We’ll collate as much of it as possible into one easily digestable post for the next update.

And don’t forget to join us at the community meeting every other Thursday on IRC. It’s a great place to discuss any of the content you see here, or to share your ideas for future updates. The next meeting will be on the 3rd March, full details here.

20 Likes

Thanks for the typically enlightening deep dive!

If anyone is interested in building a variant for machines vs. machines, I’m game. It’s very well designed to be extended with new maps, enemies and towers. The biggest challenge is graphics/illustration and sound design. PM me, an or start a thread!

7 Likes

@poetaster and @slava,

Thank you guys for the effort to build and support nice and useful apps aswell as recompile apps to work on x10 ii !

Poetaster when the game appeared in sailfish I had a look on how to build new maps / enemies and turrets, and indeed I remember every robot needed 4 - 6 images for different view angle etc. I appreciate not only that you bring this game in x10 ii (64) but also bring back the visual fire shooting from turrets!

1 Like

My pleasure. I can’t really take credit for the firing fix since a dev. who did a fork for ubuntu touch had discovered the issue before me.

I did reduce the size of media and am working on the packaging https://github.com/poetaster/machines-vs-machines-sfos/issues (at @nephros instigation). If anyone has time (who does!) with suggestions or aid for crunching the media some more (or packaging levels), let me know!

2 Likes

Thank you very much for the updates, and many thanks for the emotional moment! Look forward to the flashable image!

1 Like

first rumours of the Xperia 10 IV:

1 Like

“no mention of 120 Hz refresh rate, so it can be assumed that the Xperia 10 IV remains stuck with a 60 Hz screen”

Who cares, really? And the assumption is just that, an assumption.

“All in all, … the Xperia 10 IV looks to be an incremental upgrade on the Xperia 10 III.”

What a pathetic article. It is almost content free except for “flat edges”.

Clickbait at its worst

4 Likes

frankly, i am extremely happy with the spec of the 10 III (if not the price performance vis-a-vis other android phones), so if the 10 IV is just an ‘incremental upgrade’ then I am perfectly content with that.

only improvement i would really like is Wifi 6.

3 Likes

SFOS doesn’t even work on a III yet :frowning:

2 Likes

It seems like that its more or less the same phone just a little smaller.

1 Like

Fact: iii → 68 x 154 x 8.3 + 4500mAh + Snapdragon 690
Rumour: iv → 67.3 x 153.3 x 8.4 + 4000 mAh (??) + Snapdragon 690

Not sure I’d notice the difference in dimensions and I doubt Sony would release the IV with only a 4000 mAh battery.

1 Like

This topic was automatically closed after 30 days. New replies are no longer allowed.