Ubuntu Touch is the privacy and freedom-respecting mobile operating system by UBports. Today we are happy to announce the release of Ubuntu Touch OTA-16,
our sixteenth stable update to the system! OTA-16 will be available for
the following supported Ubuntu Touch devices over the next week:
LG Nexus 5
OnePlus One
FairPhone 2
LG Nexus 4
BQ E5 HD Ubuntu Edition
BQ E4.5 Ubuntu Edition
Meizu MX4 Ubuntu Edition
Meizu Pro 5 Ubuntu Edition
BQ M10 (F)HD Ubuntu Edition
Nexus 7 2013 (Wi-Fi and LTE models)
Sony Xperia X
Sony Xperia X Compact
Sony Xperia X Performance
Sony Xperia XZ
Sony Xperia Z4 Tablet
Huawei Nexus 6P
OnePlus 3 and 3T
Xiaomi Redmi 4X
Google Pixel 3a
OnePlus 2
F(x)tec Pro1
Xiaomi Redmi Note 7
Xiaomi Mi A2
Volla Phone
Samsung Galaxy S3 Neo+ (GT-I9301I)
Samsung Galaxy Note 4
The
Pine64 PinePhone and PineTab are updated independently of the rest of
these devices. The stable channel for the PinePhone and PineTab will not
receive an update labeled "OTA-16".
New devices this cycle
With
this update we have new devices officially joining the release cadence!
This means that these devices will now have a "Stable" update channel
available in System Settings -> Updates -> Update Settings ->
Channels. You can install Ubuntu Touch on these devices using the
UBports Installer:
Samsung Galaxy S3 Neo+ (GT-I930I) By Florian
If you're a porter with a near-ready device that is not in the above list, make sure it can be installed with the UBports Installer and has an entry on devices.ubuntu-touch.io.
What's new?
OTA-16 is the second-largest release of Ubuntu Touch ever (OTA-4, the switch from Ubuntu 15.04 to 16.04, being the largest).
In
this release, we upgraded the installed version of the Qt frameworks
from v5.9.5 to v5.12.9. Qt makes up a massive part of Ubuntu Touch, and
using it saves us huge
amounts of time while creating software that can scale between phone,
tablet, and desktop uses. Upgrading it put us back inside Qt's Long-Term
Support cycle and gave us a number of new features we hope to take
advantage of in Ubuntu Touch and the Lomiri operating environment.
Over
1/3 of the binary packages contained in Ubuntu Touch have changed in
this release! This includes not only the various Qt libraries, but also
packages that Qt libraries depend on.
Once
all that work was done, it was time to fix all of our software to
account for deprecated features and new bugs. Rodney left a distinct
mark on this release with all of this work, which has been ongoing since
July last year.
Upgrading
the version of Qt we use and its dependent packages helped prepare us
for the Ubuntu 16.04 -> Ubuntu 20.04 transition, which we are
currently working to complete.
While the Qt upgrade shone a bright light on this release, we found time to test and integrate a number of other features and fixes you're sure to love.
Morph Browser
Morph, Ubuntu Touch's default web browser, has received a number of excellent upgrades during this cycle.
Kugi
completely overhauled the Downloads system, a much-needed change.
Instead of a full-screen page interrupting your browsing at the start
and completion of a download, there is now a simple headerbar icon to
alert you of the download's progress. The icon turns blue and shakes
when your downloads have finished.
The
downloads page has also been supplemented with a "Recent Downloads"
panel. This panel shows any downloads which have been started during the
current browsing session.
Speaking
of the current browsing session, a control has been added to the tab
management page which allows reopening the most recently closed tab.
Chris
re-enabled custom user agents in the browser and added a checkbox which
allows you to "Always Deny" location access to a webpage. He also fixed
the webpage zoom controller, fixing a problem where the page's zoom
didn't always follow your settings.
It
is now easier than ever to use Morph in a tablet or desktop situation.
Tabs are taller and easier to hit, and the browser won't rotate itself
whenever its window is taller than it is wide.
Making devices more ready for your pocket.
The
upgrade of Qt to 5.12 allowed us to finally integrate the gst-droid
work that Ratchanan has been working on for what feels like forever.
This brought video recording support to 32-bit Android 7 devices. The
newer GStreamer support also allowed us to bring up a hardware
accelerated camera viewfinder on the PinePhone.
Alfred
enabled video recording on the Sony Xperia X and fixed problems with
call audio being too loud on the OnePlus 3 and Xperia X.
If
you're a device porter with Android 7 devices and they *don't* support
video recording yet, ask in the UBports Porting group on Telegram. It
might only need a couple of configuration changes to enable camcorder on your device.
Changes for app developers
Qt
5.12 brings its own changes to app development, including a number of
performance improvements and new features. However, we also removed the
Oxide web rendering engine with this release.
Oxide was a Chromium-based web rendering engine created at Canonical for the "Ubuntu for Devices" project. After Canonical dropped that, we knew that we would not be able to maintain the rendering engine.
The
default web browser switched from Oxide to QtWebEngine in OTA-5,
released on October 12, 2018. Since then, we've warned people not to use
the Oxide rendering engine or Ubuntu.Web, its simpler QML component
counterpart. The replacements for these are importing QtWebEngine or,
even better, using the Morph.Web wrapper.
With
Oxide removed, any applications which depend on it directly will cease
to function. Apps which used Ubuntu.Web may still work, but will likely
have unforseen problems. If you're an app developer and you've got an
app which depends on Oxide, we can help you make the transition to
QtWebEngine. Find us at forums.ubports.com, (at)UbuntuAppDevEN on
Telegram, or #ut_appdev:matrix.org on Matrix.
Anbox installers included by default
The Anbox installer is now included with Ubuntu Touch. This allows users of supported Anbox devices
to use Anbox without modifying the Ubuntu Touch root filesystem. It
will also prevent Anbox installations breaking with every update.
Note
that Anbox itself is not installed by default, and it will not run
unless it is installed. To install Anbox, see "How to install" on our Android apps documentation.
Other fixes
This release also features a number of less mainstream fixes that are all exciting to us.
Jami Kettunen added support for controlling the flashlight on Snapdragon 835 and 845 devices.
Lionel
Duboeuf added support for animated images to the default Messaging
application. He also fixed a number of problems with recording audio,
playing back audio, and timing across the core apps.
Ratchanan
was essential to finding and fixing an issue with seemingly random
segmentation faults and "Stack Smashing detected" errors in this
release. The cause was actually an incredibly convoluted web of
assumptions between Android's bionic libc and our glibc which couldn't
be mediated by Libhybris (and not a single case of stack smashing or
segmentation violation). That might be worth a blog post someday...
Edit: A previous version of this post stated that Marius fixed autobrightness on the Volla Phone in this release. While a fix was attempted for autobrightness on the Volla Phone, it did not fix the issue correctly.
Edit: A previous version of this post stated that Marius fixed autobrightness on the Volla Phone in this release. While a fix was attempted for autobrightness on the Volla Phone, it did not fix the issue correctly.
"natur-produkt" fixed switching the mobile data SIM in some cases on Android 9 devices.
Between
his work on TELEports (the Ubuntu Touch Telegram client) and six new
device ports, Florian made it possible to rotate the "spinner" splash
screen upside-down. Who knew some devices had their screens installed
upside-down?
Joan
"Cibersheep" fixed the Catalan keyboard layout, making it far more
consistent. Joan also created the release mascot for OTA-16, the tangram
cat. This release truly was like a cat: All was quiet, until it was
suddenly a complete mess. Everything was all over the place for a while.
But eventually, it settled down and all was beautiful once again.
Mateo
Salta made some quality-of-life tweaks in Morph Browser and
system-settings, including moving the "Update Settings" pane of the
Updates plugin from a strange bottom edge control to the header bar.
Alfred found and fixed an AppArmor error when
using QTemporaryFile after the Qt 5.12 transition. He also made the
Xperia X a stellar device to use every day by improving its battery life
and general stability. In particular, the device always wakes on the
first try with the power button and always wakes for calls and messages.
Caleb
Connolly took some time out of his fervent work on mainline Linux for
the OnePlus 6 to fix haptic and LED feedback on the device with hybris.
We broke Daniel Kutka's fix to tab previews in morph-browser with the Qt 5.12 transition. Luckily, he came back to fix it again.
"NotKit" has mostly been working on pushing Ubuntu Touch onto new, interesting devices. You'll see his work mainly on GitLab in the "Community Ports" section. However, he snuck in a fix for showing the correct device name in the "About" page on some Android 9 devices.
What's next?
Unfortunately, this release marks a slight slowing-down period for Ubuntu Touch updates. We still plan to issue Ubuntu Touch releases
every 6 to 8 weeks as usual, but the changes between releases will
likely be less pronounced. This is due to our continuing work building
Ubuntu Touch based on Ubuntu 20.04, which will better prepare us for the
long-term future.
That
said, there is already plenty in store for OTA-17. On the list of
proposed updates is a navigation history feature when pressing and
holding the Back or Forward buttons in Morph browser, fixes to the
alarm's "snooze" functionality, and new keyboard layouts. It should be exciting, even if it isn't a blockbuster.
How to get OTA-16
Existing Ubuntu Touch users
Existing
users of Ubuntu Touch on `Stable` channel (which is selected by default
in the UBports Installer) will receive the OTA-16 upgrade through the
Updates screen of System Settings. Devices will randomly receive the
update starting today through March 22. This spread is to give us time
to interrupt a bad update in the future (should that ever become
necessary), *not* to accommodate any bandwidth restrictions.
If you would like to receive the update immediately, turn on ADB access and issue the following command over `adb shell`:
sudo system-image-cli -v -p 0 --progress dots
Your device should then download the update and install it. This process may take a while, depending on your download speed.
New Ubuntu Touch users
You will find instructions for installing Ubuntu Touch on your device at devices.ubuntu-touch.io.
"I found an issue!"
Have you found a bug? We want to know!
You can follow our Bug Reporting document to learn how to present the information we'll need to confirm and fix
your issue. Every bit helps. The best way to improve Ubuntu Touch is to
use it and then tell us about the experience.
You should always check to see whether your bug has already been reported on ubports/ubuntu-touch on Github. Browsing open bugs is worth doing, even if you have nothing to
report. This ensures that you can watch for any of the open issues and
help fix them by providing more information.
Changelog
A manually-compiled changelog for this release is posted at https://forums.ubports.com/topic/5837/ubuntu-touch-ota-16-changelog