Deblobbed Android

10 replies [Last post]
koszkonutek
Offline
Joined: 03/19/2020

I don't have any Android device but I would like to be able to develop and test (maybe even use daily) Android apps nevertheless. I am pretty sure I could achieve that with Anbox[1] but there's one tiny problem: it requires me to provide an Android image to start with. Obviously, I want to use a fully deblobbed version of Android (i.e. 100% free software). I could use Replicant but it is quite outdated, so I hope you can point me to some other deblobbed Android forks.

Another issue with images is architecture support. I am currently on aarch64, so most Android images out there should work but just to be future-proof I would like to know about possible images for other architectures or maybe some deblobbed SDKs to build my own.

Anyone, anything?

[1] https://anbox.io/

nadebula.1984
Offline
Joined: 05/01/2018

It's impossible to deblob Android on modern smart phones/tablets. The wireless NICs, modems, graphics, sound cards, and touch screens, etc. all require non-free firmware to work.

koszkonutek
Offline
Joined: 03/19/2020

Sure, but I don't need all the drivers. I just need the userspace of the OS in order to run it in an emulated environment :)

nadebula.1984
Offline
Joined: 05/01/2018

Linux kernel already has all the drivers. The problem is still firmware. Without non-free firmware, your phone/tablet doesn't work at all.

You can try to build a blobless Android derivative. Again, it's useless on modern phones/tablets, because it cannot make the hardware working.

Avron

I am a translator!

Offline
Joined: 08/18/2020

I think the goal is to run free Android applications on PC.

So there should be no need to worry about making any specific phone/tablet hardware work, but I suspect a high resolution touch screen may be necessary in order to make Android applications really usable.

Like I like the pinephone but with an external screen, mouse and keyboard, otherwise it is almost unusable for me.

koszkonutek
Offline
Joined: 03/19/2020

> I think the goal is to run free Android applications on PC.

Exactly. And my PC happens to be RockPro64 in a NAS case, so aarch64 builds of Android are welcome as long as I don't have to use another platform.

> I suspect a high resolution touch screen may be necessary in order to make Android applications really usable.

I have an external HDMI touch screen although not very big. Still, I am interested in trying all the options, touch and non-touch. For some use cases even a less convenient input/display method might be sufficient.

> Like I like the pinephone but with an external screen, mouse and keyboard, otherwise it is almost unusable for me.

Is that due to lack of a proper mobile DE and mobile applications for GNU/Linux? How about running Anbox on PinePhone? Perhaps Android apps running under emulation would be more usable on PinePhone's own screen?

Avron

I am a translator!

Offline
Joined: 08/18/2020

> Is that due to lack of a proper mobile DE and mobile applications for GNU/Linux?

I tried with Mobian only.

Window contents are too much out of screen (not rarely more than 2/3 of contents are out), opening the keyboard makes it even worse, touching the screen to click on a button or text input field often does not work while the same action with the mouse works without problem. That experience comes with rather basic apps, keepassxc, gajim (I tried chatty, the defaut app, it is a little better but still difficult), the recommended way to setup caldav and carddav clients (I have my servers on my Freedombox) is to install Evolution, definitly unsuitable for a phone.

The only app that works rather well is the web browser (its option menu is entirely accessible in landscape mode).

> How about running Anbox on PinePhone? Perhaps Android apps running under emulation would be more usable on PinePhone's own screen?

I did not think about it before, that sounds like a very interesting idea.

The issue might be that the Pinephone screen resolution is way behind the one of recent phones, so developpers may tend to not test their apps with that resolution. But is sounds worth trying indeed.

nadebula.1984
Offline
Joined: 05/01/2018

Even if one needs only to run free/libre Android applications using an emulator, firmware is still a problem. Haven't you seen that so many gaming console/arcade and graphical calculator etc. emulators still require the proprietary BIOS to function?

koszkonutek
Offline
Joined: 03/19/2020

Honestly, I haven't. I only recall one example - that of VirtualBox' BIOS that requires a nonfree compiler and this way makes the entire VirtualBox nonfree.

Android is a different technology, would there really be such problems here? The proprietary BIOS issue seems to be typical for emulation of an entire device in a virtual machine and here we're emulating in a Linux container. Where would the hypothetical firmware from Android image supplied by me to Anbox even run?

Also, Android used to be quite good in this regard. I mean, sure, on phones there are nonfree peripheral firmwares, nonfree bootloaders and nonfree userspace apps but the actual core with relevant APIs implementation has been free.

PublicLewdness
Offline
Joined: 03/15/2020

I may be misunderstanding what you want but what about LinegeOS or /e/ OS ? Neither are blob free but they are degoogled.

koszkonutek
Offline
Joined: 03/19/2020

Do you happen to know where the blobs are? If they're only in kernel, with SDK and userspace blob-free, I am taking it