Back to Blog home

Kvarken 4.1.0 brings full Sailfish 64-bit support to Sony Xperia 10 II

We’re happy to share with you the many firsts in this release: the 1st fully stacked 64-bit ARM Sailfish OS, that you can download and flash onto the Sony Xperia 10 II, which is also the first Sailfish device with AOSP-10 HW adaptation. The commercial Sailfish X package also introduces the 64-bit Android™ App Support for Xperia 10 II. The package is now available in the Jolla Shop with a limited time offer of 29.90 € for existing Sailfish users (log in to see the discount).

Firstly we’ll cover the new device and the 4.1.0 / Kvarken release highlights, then dive deep into the technical details of how the main milestones came to life.

tl;dr

Kvarken is the first update in the Sailfish 4 series with the above-mentioned 64-bitness and a new Sailfish X device. In another major feature improvement, Android App Support has been updated to the Android 10 API level.

Jolla Store has received many new goodies in Kvarken 4.1.0. Offline location data packages are now available from the Jolla Store, greatly improving the speed of location fixes. With Audio Recorder app you can record voice memos and other audio clips, and Open Forti VPN plugin lets you connect to Fortinet VPNs. Also, Aptoide Android store has been updated to run on the new Android 10 (API level 29).

Other small, but handy features include desktop site mode and ability to install new search engines for Browser, and portrait support for the scientific mode in Calculator.

On the quality front many calendar and contacts sync issues have been squashed, and random reboot issues troubling Xperia 10 have now been sorted out. Further, fixes have been made to get contacts for the 3rd party Signal app working again.

Read more details from the release notes.

Released the Kvarken!

With 4.1.0, we have updated our naming theme for the upcoming Sailfish 4 software releases. We will introduce you to the amazing Unesco World Heritage sites of Finland! The first one, the unique Kvarken Archipelago is Finland’s only Natural World Heritage Site on the UNESCO World Heritage List. Together with Sweden’s High Coast, the Kvarken Archipelago is the best place in the world to experience and understand the land uplift phenomenon caused by the last Ice Age. The 5,600 islands of the Kvarken Archipelago feature unusual ridged washboard moraines, ‘De Geer moraines’, formed by the melting of the continental ice sheet, 10,000 to 24,000 years ago.

Sony Xperia 10 II (Mark Two)

Xperia 10 II is a true gem of a device and shines like one due to its OLED screen. Black pixels are not emitting any illumination whatsoever, thus an absence of backlight gives supreme image depth to the viewer. This brings great reminiscence to the legendary Nokia N9 times, which also had an OLED screen.

Other improvements over its predecessor (Xperia 10) bring a bigger battery, which is also better managed by a newer kernel and the AOSP 10 board support package (and even longer battery life optimisations are in the pipeline). It now also has 4 GB of RAM by default (Xperia 10 single SIM had only 3 GB).

Mark Two has one additional ultrawide camera lens. Jolla Camera app support for multiple lenses is still under development, but community’s Advanced Camera app already supports all three.

Get Sailfish X for Xperia 10 II from the Jolla Shop.

Deep dive into the makings of the 64-bit Sailfish OS

Next we’ll delve into the efforts that brought you Xperia 10 II running Sailfish OS on the 64-bit ARM architecture.

32-bit going on 64-bit

Community has been enquiring Jolla about going 64-bit since its early days. While we appreciated the push, there hasn’t been a pressing case to do the switch, and we kept on supporting a nicely working 32+64-bit architecture sandwich throughout our devices, even after the new CPUs, SoCs, and the Android itself had turned 64-bit.

The benefits that a 64-bit Sailfish OS would bring are not immediately tangible: the quickest gain is being able to install and run 64-bit APKs via our Android App Support. Websites such as ApkPure started offering 64-bit APKs by default, and that introduced an extra burden to the users of 32-bit Sailfish OS. 64-bit however makes us future-proof, where we’ll be able to address devices with larger RAM sizes, and support complex graphics (such as augmented reality and face ID). From the technical side, no longer being 32-bit eases our porting process to the 64-bit Android base, and automatically prevents issues that we otherwise had to work around in the past.

64-bit is no easy feat when your Linux stack is still 32-bit. And when the push came to shove, we turned our heads towards the Sailfish Core, which was the first to be converted. When we introduced our Intel-based device back in the day, we needed to bootstrap our OBS for the new Intel arch, make the necessary sb2 cross-compilers behave, and iron out dozens of RPM packages failing to build.

Achieving AArch64 (another name for ARM64) was no exception, and this time we too strived to align with the upstream RPM repositories (such as Fedora), cleaning up hacks and various custom patches, many of which were already accepted in their main projects and, most importantly, their latest versions would already have many if not all 64-bit issues resolved. This gave a nice opportunity to update quite a few of the core packages.

Once the aarch64 on OBS was all lit green, including the SDK, we took an internal device to pilot the 64-bit HW adaptation for it. The whole team jumped into fixing library paths e.g. (/usr/lib64) and associated issues, until even the hardware adaptation packages were happily churning away on the OBS on all architectures.

If a package builds, it still doesn’t mean it’ll do its job properly on the new architecture. Strangest of things from audio problems to browser crashes, all gotten ultimately resolved by our great teams and community.

Before too long, we had a working prototype to showcase the fully stacked 64-bit Sailfish OS, the Linux kernel, and the underlying Android HW adaptation:

Along came Sony Xperia 10 II and Android 10

We subsequently started to look into consumer devices running Android 10, a natural successor to Xperia 10 (which is based on AOSP 9 adaptation). We knew for certain to keep up with the times, trends, and technology, meaning this next Sailfish X device would have to be 100 % 64-bit ARM, running your favourite GNU/Linux-based mobile OS.

  • A quick clarification of what an underlying Android version adaptation (or base) means: Sony’s Open Devices Program allows anyone to reflash a selection of phones with a plain Android Open Source Project (AOSP) build that you can compile yourself. AOSP follows the same version numbers as the official stock Android that comes when you buy a device. AOSP allows us to build Sailfish OS on top of the underlying bare minimum of Android HW adaptation. The important distinction (that often gets confused) is that our Android App Support version (or API level) is independent from the underlying AOSP base for any given device. So you can have your Xperia XA2 supporting Android 10 apps, whereas the HW layer of the device itself utilises Android 8 (=AOSP-8) Board Support Package.

Just like porting to any newer Android base, we’ve been confronted with many challenges never seen before. The first hurdle was getting the Android Linker Q (which still follows the alphabet notation) supported by libhybris. A wonderful person from the community played around with libhybris and contributed the first approach to the linker, which we then improved upon and completed the integration.

After the rest of HW adaptation packages were happy with Android 10, we booted Xperia 10 II to the Sailfish OS UI (which is the equivalent of reaching the orbit). At this point, we were confident with merging the libhybris PR and published the first instructions so the community could start building and helping out too. Sailfish porters team Xperia 1 and XZ2 quickly jumped aboard, and we thank them for doing it together. Fun fact: one community member (who is now a sailor) started looking into Android 10 way before we did!

We were facing strange issues on Xperia 10 II with the touchscreen sometimes not reacting during the early encryption unlock screen. A surprise solution was to introduce a Sailfish OS logo, which is shown beforehand because that initialises the HWC framebuffer, which in turn always ensures the touchscreen is responsive. What a reason to show a nice splash screen!

Another oddity was that the device played a tone across the increasing frequency range on every boot. The team has pinpointed it to the sound calibration routine and managed to reduce the noise to only the very first boot, whilst collaborating with Sony’s Open Device Program AOSP team. Fun fact: the first time I heard that sound, was during a video call with the team. This proves that porting a device can also happen whilst physically not having the device itself, and only using ssh tunnels when needed. Especially handy when remote work has been at its peak. Yet couple of months later, I too acquired a device and what a joy it was:

Some strangeness was haunting us in the audio routing department. Going from 9 to 10 (and 11), Android altered the way the wired headset paths travel, thus the team came up with a headphones workaround to fix many annoying issues, including but not limited to the delayed activation of accessories. It only goes to show, that porting new HW adaptations can be a truly hard problem!

Given the above challenges, I would like to mention that porting existing devices to the 64-bit world (and newer Androids) places us in the same position between a rock and a hard place as is updating the Xperia X (see the FAQ section at the bottom of the Jolla Shop page). Instead, we strive to bring new tech and devices to the scene (Android 10 | Xperia 10 II), as well as are considering how to support Sailfish OS community ports better in the future of Sailfish X program. We hope for your understanding on the matter.

With this, I wish everyone to enjoy the Xperia 10 II Sailfish OS 4.1.0 release, and happy hacking!

Simonas Leleiva

Gadget inspector, busy restoring the status quo of GNU/Linux OS in consumer electronics! HW Adaptation and L10n engineer for Jolla with strong emphasis on our vibrant community.

32 Comments

  1. Avatar

    Congrats. Do you know how long it’ll take before predictive text will be introduced for the device?

    • Avatar

      I’m also waiting for this since this works really good on Sailfish – better than on other platforms I know.

      • Avatar

        Please! That’s indeed one of the major drawbacks for daily use – besides the strange format and the poor fingerprint sensor of the 10 ii. I’d also be happy with an alpha version of it.

  2. Avatar

    Great news! Can’t wait to update my waiting Mark 2 with the new licence. It’s very important that you keep including devices that are technically up to dat – at least to some degree. I’m willing to accept even the strange form factor for this.
    Keep on keepin’ on! I never want to be urged to refrain from Sailfish for some reason.

  3. Avatar

    So did I understand that last bit correctly that AArch64 support is not coming to any other devices?

    If correct then that’s a shame seeing how my Xperia 10 “MK I” isn’t due for replacement any time soon and getting rid of it just for this creates unnecessary eWaste.

    • Avatar

      I somehow sensed the same. Some subtle hint of leaving the previous devices behind.
      I got trapped with my Xperia X Compact, where they dropped the porting of AD somewhere on the way. Despite hinting they will do.
      This time I choose 10 II over a more suiting XZ Compact (which is also a better phone in my understanding). And I may have taken the “better” decision.

    • Avatar

      1. You don’t have to dispose your old smartphone, you can sell it at the aftermarket, this way you don’t produce eWaste.

      2. Android apps with 32-bit arch are not going anywhere, this architecture will be supported for quite some time yet.

    • Avatar

      We will continue normally to release updates to all devices with the 32-bit version of Sailfish OS and Android App support.

      • Avatar

        That’s not what I asked and your reply is one of those downright insulting PR department non-answers. What I asked was to confirm if the move to AArch64 binaries is restricted to the Xperia 10 II and devices coming out down the line.

        It’s a simple yes or no question.

        AFAIK the only 32 bit ARM device officially supported is the original Jolla phone and support for it ended last year. Hence to bifurcate Jolla on ARM like that sounds to me like an unnecessary duplication of effort.

        • Avatar

          Apologies, I hereby confirm that yes, ARM-64 Sailfish OS is introduced only to Xperia 10 II and future devices.

          Moving all past devices to 64-bit SFOS would be too much effort, as that would also include porting to newer the Android base, and asking all users to reflash (which brings us to the same situation Xperia X is at). Instead we will focus on collaborating with porters where such and other community ports may become possible.

          Jolla has experience in building and deploying multiple architectures simultaneously (think Jolla 1 and Tablet), thus having both ARMs (if you pardon the pun) is handled easier.

          • Avatar

            I have a question slightly related to this discussion (Jolla not having the resources to create a new baseport for older devices to upgrade to new kernel and BSP):

            Would Jolla see a way to make the commercial packages (most interested in Android apps support, and Microsoft Exchange – need them to interoperate with rest of the world) “buyable” by other users?
            Such as users which do not rely on Jolla’s official commercial baseport, users who will not install a commercial Sailfish X distribution on their smartphones?

            The key example would be phones such as the Pine64’s Pinephone. It runs on mainline vanilla kernel using opensource mainline drivers and thus doesn’t require a libhybris baseport.

            That phone is automatically going to benefit from latest drivers as soon as they find their way in upstream kernel.

            But users might want a way to “buy” the official commercial packages.

            Another example would be community ports:
            The community might be able to bring the older phones new baseports (e.g.> porting an AOSP-10, 64-bits ready, baseport to Xperia X or XA2).

            In each case, these are devices which will not require Jolla to make a baseport for a given AOSP version and BSP.

            – in the case of Pine64, they mostly come from the upstream kernel developoment.
            – in the case of Xperia X, XA2, etc. this could come instead from comunity members doing the port.

            If these are stable enough, these could be useable as daily drivers, and thus their user could benefit from the commercial package.

            On the other hand, I understand that paid-for package would normally mean long-term supported by Jolla and supporting these on “moving grounds” bases like community, or constantly-getting-updates-mainline-kernel would be hard.

            Still would be great, and would offer an interesting upgrade path for those geeks who aren’t afraid of running other distros on their hardware.

            (I am personally looking forward to switching to Pinephone at some point in the future as mainline kernel is very important in my eyes.)

            Thanks

  4. Avatar

    Apart from my personal first world problems, this are the best and greatest news for all the delighted cellphone user, who value a OS that respects the human nature. I appreciate the pain you guys took to make this new release happen.
    Thanks to all of you sailors.
    I’m getting the license now.

  5. Avatar

    Big thanks for Sailfish X for Xperia 10 II 🙂

  6. Avatar

    Amazing and well done guys!!

  7. Avatar

    I just wonder if there might be a possibility to get Sailfish X for Xperia 5 II if that device enters Sony’s Open Device Program. I’ve no idea how complicated that would be, but as I own a 5 II I won’t change down to 10 II for a Sailfish Device… (So keep my XA2 for Sailfish…)

  8. Avatar

    Does it mean all packages & apps (including Harbour, Openrepos …) have to be rebuilt to aarch64 or is there some compatibility layer that allow to run 32-bit apps on a 64-bit SFOS device ?

  9. Avatar

    Great news and thanks Jolla!
    Photos from every release are wonderful! It would be great if they were somehow added (portrait photo) in an ambience that would keep up to date with the current version. Is that possible for the next release?

    • Avatar

      Many thanks!

      Making an ambience wallpaper for each release (which is of 1:1 dimensions) out of photographed UNESCO sites is not trivial: the image itself might need extra tweaking and then decisions if it looks the best as light or dark ambience amongst other bits.

      However Jolla sharing the non-cropped hi-res photo is something that I hope could be achieved, if you’re interested to create an ambience yourself.

  10. Avatar

    I see “Sony Xperia 10 II” comes with 2 different storage options: 64GB/4GB and 128GB/4GB.
    Also with single SIM and dual SIM versions.

    When one buy Sailfish OS for 10 II, then download in https://shop.jolla.com/download are available for both single and dual SIM versions:
    Sony Xperia 10 II, dual SIM (xqau52)
    Sony Xperia 10 II, single SIM (xqau51)
    Thanks.

    • Avatar

      The images will accommodate any storage options, so long as you select the correct SIM quantity.

  11. Avatar

    Thank you for the good news and stories from development!

    My current device will last a bit longer, but I have bought a license to support your continued work on Sailfish OS.

  12. Avatar

    I’m glad to ear many users so happy with last updates… unfortunately it’s not the same for me. I’m an old MeeGo and then Sailfish user, I had Nokia N9, then Jolla 1, Intex Aquafish and now Sony XA2… in all these years I had utmost confidence on the OS and it’s definitely matured, but at the same time I saw a decrease in usability. I updated to SFOS 4.1 and as result I had: media galleries no more accessible to android apps (don’t know why…) the update created a second partition on my mass memory… so I downloaded the last full image and reflashed the phone: the result is that now it’s no more possible to choose if I want my data cripted or not with the result that every time I switch on my phone I must enter 2 times the same security code and I must wait that decripts… the impossibility to restore native made backup for an unknown error, impossible to restore other backups that before were perfetly working… in simple terms: my patience is finished. I’m absolutely aware that this OS is made for security, privacy and so on… but at least you must give to the final user the possibility to choose what feature he wants or not to use. To all this you must add all other small things that don’t work as expected from a 7 years old OS… the fingerprint works 1 time on 4 or 5 attempts (then you must enter the code… for the third time…) the camera app is still very poor, the general app starting very slow. I had even the suspect that my phone was the problem… but now that I switched to another OS I can see that no… it’s perfectly working. Hope to see you again… one day.

    • Avatar

      I here you… I’m also considering flashing my XA2 back to Android (I can’t believe I’m saying this). The first experiences with Sailfish were promising and I was fine with the fact that it was largely still in development. But now that years have gone by and Sailfish has been updated to the latest Kvarken, I’m experiencing more and more annoying problems on everyday use: Wifi not working, SIM-card not detected, Android support is a mystery to me (some apps work and others don’t), Bluetooth paring has to be done twice. The thing is that my phone used to work better before but with every update it has became more and more difficult to use.

      It’s really a bummer. I was also considering buying the Xperia 10 but now, who knows…

  13. Avatar

    Aww, looks like I decided to update my First One too soon (I’ve bought a XA2 in April). (My original 8-years-old Jolla still works perfectly fine BTW).

    Still, it’s such a relief to know that I’ll have an opportunity to replace my smartphone in _another_ 5-6 years. I tried to use a modern Android phone and it made me physically sick.

  14. Avatar

    Very nice move guys, but atm a use Xperia XA2 Plus H4493 with 6GB RAM. For my next device i would like to have similar or even better specs, but Xperia 10 II seems a bit under powered for me. I would love to see more potent Sony devices as a daily driver…
    But anyway! Good job!

  15. Avatar

    I plan to get a used Sony Xperia 10 II so that I can install Sailfish on it (long-time N9 user here). Question: when you purchase a license today, will you get free updates for the predictive text feature and future updates (e.g., v4.2, v4.3)? Also, for major updates, would we have to flash the phone and set everything up again, or can it be done OTA?

  16. Avatar

    Bluetooth does not work on my xperia x since I updated to os 4. Anybody has the same problem?

  17. Avatar

    Looks like a bunch of apps are missing in the Store for 10ii. Also Chinese is missing from the input layouts. Will this be back any time soon?

Submit a Comment