Ubuntu on a OnePlus 6T: a good start, but too many compromises
tl;dr: much as I love the idea of Ubuntu, or non-Android Linux, on a phone as my day-to-day phone, right now, there are just too many compromises with Ubuntu Touch.
#Installing Ubuntu via UBports on a OnePlus 6T
It was not the simplest of processes, but that was mainly down to a documentation issue.
The phone came with Android 10, and the UBports installer will only work with Android 9.
I downloaded the rollback back file from here.
I used the file manager tool to move it — well, cut and paste it — from the Downloads directory to the root of the Internal Storage (i.e. where all the other directories, like Documents and Downloads, are).
I had to rename it from whatever.zip.jar to whatever.zip before the Local Upgrade tool would see it.
I used System / System Update / gear icon / Local Upgrade, and then tapped on it. It did the rollback.
I enabled developer mode, and then turned on both OEM unlock
and Enable usb debugging
in the System settings.
I thought I was good to go, so I ran the UBports installer.
It failed, without any useful error messages.
The problem was that, while I had enabled OEM unlock
, that just makes it possible to unlock the boot loader, rather than actually unlocking it.
So I:
- downloaded the Android SDK adb tools
- booted the device into fastboot mode, using Vol Up, Vol Down, and Power, at the same time, until it reboot
- connected the phone to my computer with a USB-C cable
- ran
./fastboot oem unlock
on my computer
And it unlocked the bootloader, with a dire warning about not using the device for storing anything sensitive
But doing this make the difference between being able to install it or not, so I accepted the risk.
I then ran the UBPorts installer, and it worked, botting the device into Ubuntu Touch.
Applications / getting stuff done
As much as I like the ideology of running Free / open source software on my phone, and much as though I’d prefer something resembling stock Linux over Android, frankly, I would need to make too many compromises for this to work as my daily device for now (and perhaps forever).
WireGuard (VPN)
No.
I could, I suppose, run an OpenVPN server, just for this phone, but since everything else I use (including my Debian machines) supports WireGuard, and I’m not a fan of openvpn as a protocol, I’m not hugely tempted.
And this is a deal-breaker for me, since I cannot access most of my work stuff without a VPN.
Email, with GPG
Email, yes, via the third party app, Dekka. It’s really rather nice. (And loading remote content is off by default, which I like.)
But no GPG handling.
Phone calls
Untested.
SIP
No.
No SIP applications (yet, at least; it looks as if some people might be working on porting linphone).
Sadly, another dealbreaker for me.
I could use my A&A SIP2SIM, and the OnePlus 6T has dual SIM slots. However, it looks as if only one of them supports a voice service, and I couldn’t get away with only my SIP2SIM SIM for voice.
Matrix
Yes, via the third party app, FluffyChat. This “just worked”.
Signal
Yes, but no. There is a third party app, Axolotl, and I was able to register my account, but it does not sync contacts, so does not appear to be useable.
Bitwarden
No app, so I attempted to use it in the browser, but the experience is not good. The Bitwarden web interface is not optimised for a mobile device.
Nextcloud
Yes-ish.
There is native nextcloud support, integrated into the accounts part of Settings.
But it doesn’t expose the server through the file manager interface, which is a bit odd. I’m not sure what the point was of having a nextcloud account setting if this was not available.
It looks as if there are nextcloud sync apps in the app store, but I am not looking for sync, just access.
Calendar
Sort of, in an irritating way.
There is calDav support in calendar, but it seems to pick up only a delegate calendar, not my actual calendar, and I have not found a way to switch between them.
Worse, there seems to be no way to delete a calendar once added short of ssh’ing into the device and poking around in the ~/.config directory.
I could probably report a bug, and see if I could help get this working.
Contacts
The native contacts app will read contacts from the SIM (does anyone do this still?), and you can integrate it with a Google account, but there is no carddav support.
Camera
Yes. This works well. And the camera seems better than the camera in my iPhone
Offline music
Yes. But I couldn’t find a simple/GUI way of copying music across from macOS, as plugging the device in did not lead to it mounting in Finder.
Never mind: scp
did the trick. And, if I’m honest, I prefer this over iTunes.
Pairing a set of old AirPods worked without any tinkering needed.
No: Twitter and Tweetbot web app clients both crashed immediately on load.
I could use Twitter via the web browser, but Twitter offers a terrible in-browser experience, so I’m not sure I’d bother. You’ve probably heaved a sigh of relief.
Mastodon
Yes! The uMastonauts app works really well.
Jitsi
There is no app for this, and it works in the browser for audio only.
It recognises the microphone, but does not recognise the camera.
Mapping / navigation
It does not come pre-loaded with any mapping, but that’s fine.
The “OpenStore” app store has a mapping app uNav, but this does not have GPS support.
Pure Maps has a location prompt (which I think should mean it is asking for GPS access), but it took a long time to get my location.
Major things missing
iMessage / FaceTime
Not really down to UBports, and clearly something I knew about before embarking on this test. But, since so many of my family and friends use it, it would be a real pain to live without these.
ApplePay / device-based payment
As above, I can’t really complain or pretend to be surprised that ApplePay is not available.
But I’m so used to paying with my phone or watch, that I can’t really imagine using a device which does not offer that. And I don’t think there’s any support for payment cards.
Mobile banking
No mobile banking — at least, not for any of the banks I use.
This is a particular pain because of the enhanced customer verification system, which either needs an SMS (which is not very secure), or else an in-app verification (more secure).
No pay-for-parking apps
Admittedly, I’ve hardly touched these in the last year, but when I need them, it is useful to have them.
You may also like:
- Running Jitsi on a Raspberry Pi 4
- This one simple hack solved my Debian 11 Bluetooth audio problems
- Aztine 15.6 Portable Monitor with Debian 11 on a Surface Pro 6
- Auto-unlocking a LUKS volume on an SD card on boot with Debian 11 Bullseye
- Making a Mac Mini power up when power is restored: Debian 11 version
- Handwriting, and annotating PDFs: a stylus on Debian 10 on Surface Pro 6 compared with an iPad
- Removing the default games in GNOME 3 on Debian 10
- Installing Debian 10 Linux on a Microsoft Surface Pro 6
- Raspberry Pi 4 with the PoE+ HAT: LUKS and a working fan
- Installing vanilla Debian 11 on a Raspberry Pi 4
- Unlocking a LUKS-encrypted partition via ssh on Debian 10 and Debian 11
- Fixing a font which shows in macOS Font Book but not in macOS LibreOffice
- Internet access via iPhone's personal hotspot on Lubuntu 21.04
- Lubuntu 21.04: forcing natural scrolling on a mouse
- Gemini PDA running Debian: a properly portable computer