Hacker News new | ask | show | jobs
by finaard 628 days ago
The problem is the hardware, not the software. Also, what you want as a paranoid person is your baseband not part of the SoC running your computer - this project hear does that, Jolla and others are using standard Android SoCs.

Jolla added libhybris to make it easy to use Android hardware adaptations - which at that time was needed to get a phone out (ste, which the first Jolla phone was supposed to be based on, decided to get out of the phone chip business during the prototyping phase, and that was the last vendor offering proper Linux drivers). I never was much of a fan of that as you just pull in way too much uncontrollable crap - unfortunately it works good enough that a lot of other projects then also jumped on that, instead of reviving a focus of doing proper Linux drivers (something I was worried might happen when the libhybris development started).

1 comments

I'd argue software is the main problem. If you want to make a new smartphone OS, just target a pixel or something. The driver + kernel stack as pretty close to as open as you'll find anywhere. The hardware is flagship-grade, updated every year, and shipping now.

I've had zero luck putting a non-Android daily driver OS on it though. I'll define daily driver as "all of this works tolerably well":

Phone, SMS/MMS, web browser, podcasts, navigation, music player and camera.

Heck, drop the camera requirement for version one, and then you're down to "video, audio, GPS and phone stuff works".

Jolla's Sailfish OS is used as a daily driver by a small niche in EU, probably tens of thousands of users taking into consideration download and update traffic.

It's definitely usable as a daily driver. There are some rough edges if you only want to use native applications and want to avoid Android applications, which go through an emulation layer. But it's still pretty nice! Things like offline mapping work really well.

You can, by using the libhybris hardware abstraction layer I've mentioned. It is relatively simple, though still requires understanding of how low level stuff works. The main problems there are graphics and modem, both of which typically are not open drivers - and with that you then pull in half of your typical android system into your regular linux distribution just to get the hardware working.

If you don't care about the modem and graphics acceleration (or, in same cases, graphics output at all) you should be able to get it booting with the available kernel relatively easily.

Camera also tends to be not tends to be not that much of an issue - typically there's enough in the available kernel that you can get a gstreamer pipeline running, and then just have to figure out how to make it not look completely shit.

And after all that you still end up having a device with the baseband sitting on your SoC.