I wanted to use Android on Linux, so I searched the web and found https://waydro.id/.
Instead of running in some kind of virtual machine, it seems to run Android slightly more natively on Linux (I really don't know how any of this works).
Here is a small adventure at trying to install it:
$ sudoaptinstallcurl ca-certificates
$ curl-s https://repo.waydro.id |sudobash
$ sudoaptinstall waydroid
$ waydroid init
[11:27:05] Failed to load binder driver
[11:27:05] modprobe: FATAL: Module binder_linux not found in directory /lib/modules/6.13.0-061300-generic
[11:27:05] ERROR: Binder node"binder"for waydroid not found
[11:27:05] See also: https://github.com/waydroid
I don't really know what this error meant, but after searching, it seemed that Waydroid needed "wayland" and I was using X (which are both Desktop thingies which make pixels appear on the screen). I read things about Pop!_OS not having something necessary installed in the kernel, but I could use "DKMS", meaning Dynamic Kernel Module Support. So I tried installing what I'd found links to with:
git clone https://github.com/choff/anbox-modules
cd anbox-modules && ./INSTALL.sh
now when I ran waydroid init it worked, but then I got nothing. I wasn't really sure what I was supposed to be doing to "open" it now that it was "init"'d. So I deleted all I could with
git clone https://github.com/n1lby73/waydroid-installer
cd waydroid-installer
sudobash install_script.sh
The script didn't complete, and complained about modules not installing, specifically that lxd-client could not be installed.
Looking at the script I saw it was trying to run apt install lxd-client but running that myself, it seemed that it didn't exist:
$ sudoaptinstall lxd-client
E: Unable to locate package lxd-client
After searching, it seems lxd-client provides a command lxc, so I looked for how to install lxc, and found it was possible via snap. I've not really used snap before and people have complained about it (about filesize and automatic updates), so I was wary to install it, but I did with:
I removed lxd-client from the install script and re-ran it, and it seemed to work OK. It said it installed a "Wayland" desktop option on my login page if I rebooted.
Opening waydroid
So I rebooted, and on the login screen selected "Pop on Wayland" (I'm still not fully sure what this X/Wayland thing is), and tried starting Waydroid.
…installed some apps and filled one of my screens with a big Android display.
I found the APKs on either F-Droid, which just has them available for download (sweet) or by searching the web and downloading them from sketchy sites.
It seems to work well!
I suppose there's a lot you can do with Waydroid, if you want. I don't think I want.
In some ways, this is an example of the involved-nature of installing things on Linux.
I replaced some things. I didn't manage to replace everything. Change is, and should be, incremental.
Here is a list, mostly copied from my notes, of what I replaced, and what I didn't. The title of each item is verbatim copied from my notes, and I have added context underneath each.
I replaced my Google Drive usage with a weird setup where I use Syncthing to sync several folders between my devices, and to share large files I either upload them to my server (bad advice, technical knowledge needed), or I upload them to Wormhole where they get deleted after 24 hours. I don't have much need to share files for a long time, but I'd consider Nextcloud.
Photos -> ???
I thought about this a lot, but Google Photos is too good for me. Maybe another day.
Calendar -> ???
I installed Tasks and Fossify Calendar. I tried to use them, but in the end, Google Calendar won out, and I still use it.
Keep -> ???
I didn't really replace keep, I just started using it less. I put most of my notes in Obsidian, but I still have it installed. Sometimes, when I want to take a really quick note, I'll put it in there.
Maps -> OpenStreetMap
I still use Google Maps, but I've been using OpenStreetMap more recently, and while interrailing last month, I mainly used OsmAnd because of its great offline maps. Day-to-day, I still use Google Maps, because it has most-or-every business, and websites, and opening times, which OSM tries but just doesn't (yet…) have the data for.
I found Fossify who make "generic apps" for Android like the gallery, file explorer, contacts, calendar, messages, notes, etc. I haven't used many of them, apart from the file explorer, which I like.
Facebook
Facebook -> delete it
my suggested replacement here was "delete it". I haven't. Sometimes I open it for "mindless phone downtime", but I have a 5 minute daily app timer on it, so not for long.
Instagram -> PixelFed
I tried to import my Instagram export into Pixelfed, but it wouldn't work when I deleted my DMs from the files (as these are not needed to import only posts). I raised an issue, and left it at that. Since then, PixelFed has gotten quite a lot more popular. I haven't tried again recently, but I find the main developer of PixelFed a little weird on Mastodon. That means nothing, but… I just haven't tried again.
Messenger/WhatsApp -> Signal
I am slowly convincing friends and group chats to move to Signal. It goes well.
Microsoft
OneDrive -> Cryptpad/Nextcloud or Syncthing
see Google Drive above. I have also stopped using OneDrive.
That site is good. This was probably the biggest switch in this list. I installed Linux in increments, first on my PC, then on my laptop, then on my Gaming PC, which ends up with Steam's Proton able to play anything I could have played on Windows! I'm loving it. I have Pop!_OS, backed up in a custom way.
GitHub -> sourcehut, codeberg, gitlab, etc
I haven't started on this one, even though I should. I have so many things on GitHub, and I feel as if I create a new repository every week. Combine that with all the GitHub actions I use, and I say rightfully that Microsoft has me. It's not what I want, but it's what I have.
I looked into this one a lot, and talked to a few people I knew on Mastodon for advice. Ultimately, I discovered people's opinions and experiences that it was neat, but there were enough compatibility problems to be annoying. Particularly, that banking apps would semi-regularly break on non-stock-Android OSes, and that the banking app companies would say "we don't care". I use a very digital banking app where I only keep between £0 and £50 on my card, and it would be very annoying for me to not shuffle money around easily. I already have boneless Wednesday. I did enjoy installing LineageOS on an old phone though.
The rest
Notion -> Obsidian
Notion is classic lock-in. It was also a place where I had a lot of notes. I made an export, downloaded Obsidian (which, sadly, is still not open source - but your notes are simply text files, so I hazard if it were to go weird, there would be many Open Source pop-ups, or I could use VSCodium, etc.), and imported my export. It worked pretty well. Most files had double spaces where I only had single in Notion, and the databases ended up pretty weird (as loads of flat files), which made my Notion spider diagram look super weird. Anyway, I love Obsidian now. I sync my vault between my devices with Syncthing, and when there are editing conflicts, I use a great plugin.
Several months ago I was removed from a Spotify Family plan that I was on, so stopping my Spotify usage was pretty easy. I didn't resubscribe, and I mainly listen to the radio now (BBC Radio 6 Music ! the best station !). Sometimes, I miss being able to choose what I'm listening to. I tried to get SoundCloud, but it didn't have as much music on as I wanted (or it was restricted to a "super Pro" version). However, I do want it back. I might re-subscribe soon.
to be honest, mine wasn't an evil corporation, I just wanted a new one (I was using 123-reg and it's super annoying to configure my DNS settings). It was difficult to web-search for this, and I ended up using Porkbun, which isn't even on the list above.
email
Format-break. I spent a long time looking at options, and ended up finding a bunch. Here was a list I had:
I wanted to use a custom domain (alifeee.net), I wanted to use wildcard domains (anyone@alifeee.net), I wanted to use maybe a few custom domains (alfierenn.dev), I wanted to use IMAP and SMTP (so I could view my emails with Thunderbird). Turns out those requirements were restrictive to make a lot of the above list bad options, which left me Proton or Mailbox.org.
There was a problem with Proton which I can't remember, so I am using Mailbox.org. I like it. Free your email.
The End
I started the push maybe six months ago. Maybe I did OK, maybe I didn't. But, I certainly made some changes, and I think that's good.
Why not take a look at https://switching.software/ and think about whether you are fine with the number of tentacles that American Big-Tech companies have in your life.
I had an old Android phone I didn't use, and a lover who wanted to use Ankidecks without paying £30 for the Apple version. The Android version is an open source app.
What I'd looked at before
A while ago I looked into installing GrapheneOS or CalyxOS on my Android phone, which is a Google Pixel something, but after researching, found there could be problems with banking apps and other "secure apps", and I decided it wasn't worth the pain.
But, I still wanted to see what it was like, so I looked into installing something that wasn't Android onto my old phone, a Samsung A70. Neither GrapheneOS, nor CalyxOS, nor LineageOS supported the device, which was a bit annoying. One of the greatest uses for me for open source, freeing OSes, seems to be installing them on old software to give it more life (see: Linux), but I suppose these are for different audiences (people who already have a really expensive phone and can afford to now also have privacy).
What guides to follow
After a bit more searching the web, I found an unofficial build for the A70, so I started installing! The process took a while, and I mainly:
...which is a lot of steps, including a lot of strange words. But, probably doable. From here, I describe all the "annoying little specific things I had to do":
I do a lot of this with thermal printers and web servers and... yeah. Here, I make "Samsung phones" (USB devices that have a vendor ID of 04e8) writable by anyone (0666) and owned by the plugdev group (and also add myself to that group).
One thing I find every time with groups is that if you add yourself to one, you aren't in it until you restart the device. Not wanting to restart my PC with all my tabs open, I usually run sudo su alifeee in a terminal and then the "new" user has the group.
install "recovery image"
I'm still not sure what a recovery image is, but I now describe it as "a thing that lets you install other things (OSes)". I had to enable "OEM Unlocking" in the Android developer settings, reboot the device holding all the buttons, then choose "unlock device".
It didn't work (odin said there was an error), and after some advice from the web, I booted to Android, turned on WiFi, and tried again, and it worked. Strange. Then I ran:
$ ./odin4 -a recovery.img.tar -d /dev/bus/usb/001/017
Check file: recovery.img.tar
/dev/bus/usb/001/017
Setup Connection
initializeConnection
Receive PIT Info
success getpit
Upload Binaries
recovery.img
vbmeta.img
Close Connection
install LineageOS
At this point, when I restarted the phone, I had a neat recovery thing with some buttons, that reminded me of SpaceTeam or Space Trader. I clicked apply update > apply from ADB and then uploaded LineageOS and Google Apps with:
$ adb -d sideload lineage-21.0-20241031-UNOFFICIAL-a70q.zip
Total xfer: 1.00x
$ adb -d sideload MindTheGapps-14.0.0-arm64-20250203_200051.zip
Total xfer: 1.00x
…then "reboot system now", and I'm in!
I installed F-Droid, a FLOSS app store, and then AuroraStore, which is a mirror (or something) of the Google Play Store, so you can install Google Apps with it.
the end
I skipped about 3 hours of screwing around, trying to run things, running the wrong things, finding advice on the Internet, discarding advice from the Internet, and otherwise encountering unexpected things. Computing.
But, it was an OK process. Not as fun as when I cracked a Wii. But a (much more usable) neat LineageOS phone as a result.
A few months ago I was trying to find a keyboard to replace SwiftKey (Microsoft's Android keyboard). The other behemoth in the arena is GBoard, Google's Android keyboard. I didn't want to use either of these because... they're privacy-invading megacorps. My morality aligns more with that of switching.software or this page on digital solidarity networks.
What I wanted
I wanted to find a keyboard that had:
autocorrect
(maybe) swipe-typing
clipboard history
a number row on the top
option to change numbers to numberpad
What I chose
(spoilers) I ended up choosing FUTO keyboard, as it seemed ethically good, even though I don't fully enjoy the story of the FUTO organisation. From the about page - it seems fully funded and fully run by one rich guy who escaped silicon valley. I'd rather something more cooperatively minded, but hey-ho.
After using it for a few months, I have gotten used to its quirks (such as not autocorrecting if you are typing a word in between words not separated by a space, etc) and I am not regretting switching nor missing SwiftKey.
The others
Here are the others I considered:
AnySoftKeyboard - "The only Android keyboard you'll ever need. Free as in speech and Free as in beer."
not available for my device because "it was made for an older version of android"
FlorisBoard - "FlorisBoard is a free and open-source keyboard for Android 6.0+ devices. It aims at being modern, user-friendly and customizable while fully respecting your privacy. Currently in early-beta state."
it's not very updated - the road map is long and large
There are no word suggestions or inline autocorrect
There's no numpad
Futo Keyboard - "A modern keyboard that respects your privacy and security, with features such as offline voice input, swipe typing and smart autocorrect."
100mb download??
Heliboard - "A privacy-conscious and customizable open-source keyboard, based on AOSP / OpenBoard with many additional features and improvements, including support for custom dictionaries, themes, and glide typing."
no glide typing by default
Indic Keyboard - "Indic Keyboard is a versatile keyboard for Android users who wish to use Indic and Indian languages to type messages, compose emails and generally prefer to use them in addition to English on their phone."
I don't need Indic
OpenBoard - "OpenBoard is a 100% foss keyboard based on AOSP, with no dependency on Google binaries, that respects your privacy. It is no longer updated, but still works."