Live data from Hacker News

Bringing the Android kernel back to the mainline

lwn.net

81–90 of 121 posts

Re: Bringing the Android kernel back to the mainline

#81
post #65

Earlier quoted context omitted.

> Also, iPhone 3g is ancient. Released 2008. If I get an x86 laptop from 2008, I can install a modern Ubuntu on it with approximately 0 effort. If anything, it'll usually be better than cutting-edge hardware because the drivers have already been developed and released in a stable Linux version. iOS still loses this comparison.

A 2018 iPhone X is vastly more powerful than a 2008 iPhone 3G, whereas the performance improvement of laptops slowed dramatically after that point. Take a copy of a standard 2008 version of Ubuntu desktop and try and install it on a 1998 laptop. I doubt it’d run at all, not without ditching the default desktop.

You've missed the point entirely. It's about software support (or lack thereof), not how the computational power progressed through the last decade.

Re: Bringing the Android kernel back to the mainline

#82

This is happening because of Project Treble which creating a boundary between device drivers and the kernel. Earlier, kernel versions (even android versions itself) were subject to integration of device drivers into the kernel source code... which took a long time and often resulted in forced obsolescence. By separating out the driver interface using Treble, you can update the kernel and android versions from upstrea…

Sadly, no. Both kernel and device drivers are in the HAL: https://blog.linuxplumbersconf.org/2017/ocw/system/presentat...

Re: Bringing the Android kernel back to the mainline

#83
post #42

Earlier quoted context omitted.

Honestly, it's extremely difficult to update the kernel since it's usually tied to the BSP the SoC vendor is providing. Also, you gotta keep in mind the difficulties associated with the lazy 3rd parties providing drivers for a single kernel version, making updates almost impossible. -- Disclosure : I work for an OEM as a system architect, and it's been one of my goals to try and get newer kernel versions running. (Su…

Is upstreaming hardware drivers to at least staging quality that much of an uphill task? Seems like this should be fixed at the source by having the initial development go straight into mainline. That's what seems to happen for PC hardware anyway.

Upstreaming costs like several times more than just hack it and ship it. It seems that a lot of vendors can't estimate the costs and benefits.

Re: Bringing the Android kernel back to the mainline

#84

Earlier quoted context omitted.

I've read my parent comment as a claim that we are all doomed because Apple might pull the plug one day -- which I dispute on the grounds that historically this hasn't been true. Also, iPhone 3g is ancient. Outside of that I am in full agreement with you. The mobile ecosystem is basically a dystopia where we have zero recourse as you said.

> Also, iPhone 3g is ancient. Released 2008. If I get an x86 laptop from 2008, I can install a modern Ubuntu on it with approximately 0 effort. If anything, it'll usually be better than cutting-edge hardware because the drivers have already been developed and released in a stable Linux version. iOS still loses this comparison.

I’m not saying that you’re not making a valid point, but I would like to point out that you can still install the community-supported whited00r [1] on that 3G and still get some life out of it. Sure it’s probably breaking all sorts of copyright law to do so, and it’s not ideal, but the fact that almost no one on HN seems to know about it, and Apple has ignored it for years, underscores how little demand there is to keep 10 year old devices running.

Meanwhile I have a 5 year old 5S that I use while traveling which runs iOS 12.1 swimmingly, and keeping older devices running longer was a major topic discussed by Lisa Jackson at the last Apple keynote. I fully expect that this old phone will run iOS 13 as well, and I expect that current iOS devices will have increasingly longer usable lifespans than 5-6 years. There isn’t anything close in terms of manufacturer support on the Android side of things.

In terms of keeping phone hardware useful through an alternative OS, you may also want to keep an eye on PostmarketOS [2].

[1] http://www.whited00r.com/features?lang=en

[2] https://wiki.postmarketos.org/wiki/Main_Page

Re: Bringing the Android kernel back to the mainline

#85
post #42

Earlier quoted context omitted.

Is upstreaming hardware drivers to at least staging quality that much of an uphill task? Seems like this should be fixed at the source by having the initial development go straight into mainline. That's what seems to happen for PC hardware anyway.

Upstreaming costs like several times more than just hack it and ship it. It seems that a lot of vendors can't estimate the costs and benefits.

That's exactly it. And even keeping to the preferred/qualified vendor list provided by the SoC vendor does not guarantee that the drivers will be in the mainline... Android's use of the kernel really is fundamentally broken

Re: Bringing the Android kernel back to the mainline

#86
post #65

Earlier quoted context omitted.

A 2018 iPhone X is vastly more powerful than a 2008 iPhone 3G, whereas the performance improvement of laptops slowed dramatically after that point. Take a copy of a standard 2008 version of Ubuntu desktop and try and install it on a 1998 laptop. I doubt it’d run at all, not without ditching the default desktop.

You've missed the point entirely. It's about software support (or lack thereof), not how the computational power progressed through the last decade.

What't the point with software support if OS is unusable? I have iPhone 4S and it became unusuable when iOS 7 was released. I never wanted to upgrade, I wanted to downgrade which was impossible via official means. That's my main problem. If developers don't want to develop for old phones, that's their right. But they must not prevent me from installing old software.

Re: Bringing the Android kernel back to the mainline

#87
post #12

When I buy a laptop I install whatever is the latest version of Ubuntu on it and am done. When I buy an access point I install whatever is the latest version of OpenWrt on it and am done. I've tried to do the same thing with phones using LineageOS but it's hopeless. Devices are often half broken and are never guaranteed to continue being supported because of this kernel mess. It seems there's slow progress being made…

Thanks to Treble, this shouldn't be a problem for phones launched with Pie. It should now be possible to build a single system partition then flash it to any Treble device.

There are builds like this working on many devices right now: https://forum.xda-developers.com/project-treble/trebleenable...

Re: Bringing the Android kernel back to the mainline

#88
post #12

When I buy a laptop I install whatever is the latest version of Ubuntu on it and am done. When I buy an access point I install whatever is the latest version of OpenWrt on it and am done. I've tried to do the same thing with phones using LineageOS but it's hopeless. Devices are often half broken and are never guaranteed to continue being supported because of this kernel mess. It seems there's slow progress being made…

Thanks to Treble, this shouldn't be a problem for phones launched with Pie. It should now be possible to build a single system partition then flash it to any Treble device. There are builds like this working on many devices right now: https://forum.xda-developers.com/project-treble/trebleenable...

Caveat applies though - the hardware layer won't update in this case (which includes the kernel version), so you'll have original (old, maybe buggy or insecure) drivers even though the platform is updated.

It's a huge improvement (a lot of bugs are in platform layer, including the media/stagefright stuff), but not yet perfect.

Re: Bringing the Android kernel back to the mainline

#89
post #75
post #31

Earlier quoted context omitted.

There's a compromise solution to achieve something equivalent. And I say so after having tried many possibilities. Buy a Pixel or any other phone that supports AOSP (Sony does too, with some caveats) and install plain AOSP. It's not perfect as you need a bit of infrastructure to compile it yourself and keep OTA updates. But it's the most practical secure and privacy-respecting option, I think.

Does Pixel work with upstream kernel? Does it use many blobs? Sony Xperia XA2 looks interesting, but not sure how usable it would be with upstream kernel and Mesa.

Pixel uses the same SoC as most other phones and thus has about same amount of blobs. The difference is that Google tends to update the OS faster and they're noticably more hardened in security sense.

Re: Bringing the Android kernel back to the mainline

#90
post #64

Earlier quoted context omitted.

> Also, iPhone 3g is ancient. Released 2008. If I get an x86 laptop from 2008, I can install a modern Ubuntu on it with approximately 0 effort. If anything, it'll usually be better than cutting-edge hardware because the drivers have already been developed and released in a stable Linux version. iOS still loses this comparison.

This. I managed to build recent Linux on a Pentium MMX Mobile (IIRC) laptop from 1998. A cell phone from 5 years ago can't handle a modern operating system, but a 1998 laptop can run Xorg just fine.

iPhone 5s is a cell phone from 5 years ago, and it absolutely does run the latest operating system.
Post reply on HN