Jump to content

Huge changes coming to Android, Google will switch to a mainline kernel with driver modules approach by 2023

Master Disaster

Google have announced some big plans for the future of Android and it sounds like they will be good for users. Essentially the current system works like this...

 

Linux Kernel > Forked by Google and turned into Android > Forked by SOC manufacturers and drivers implemented > Forked by Phone manufacturers and bloat is added > Android (for everything except Pixel devices)

 

The new plan is for Google to stay in control of the Android Kernel and use kernel modules to allow the other people down the chain to add the extra stuff they need, this means what customers get will be more updated, streamlined and centralised and modules can easily be moved to new devices as needed.

 

Quote

Traditionally, the Linux kernel is forked several times before it hits an Android phone, usually by each stakeholder in an Android device. First, Google forks the Linux kernel into "Android common"—the Linux kernel plus a bunch of phone- and Android-specific changes. Then SoC vendors like Qualcomm, Samsung, or MediaTek fork Android Common to make an SoC-specific kernel for each major chip release. Then each device gets a fork of the SoC kernel for device-specific hardware support.

 

Android's kernel fragmentation is a huge mess, and you can imagine how long and difficult the road is for a bugfix at the top of the fork tree to reach to the bottom, where end-users live. The official Android.com documentation notes that "These modifications can be extensive, to the point that as much as 50% of the code running on a device is out-of-tree code (not from upstream Linux or from AOSP common kernels)." It's also a big time sink, and even Google phones typically ship kernels that start at two years old.

 

Google has been on a journey to lessen the distance between Android and Linux with the GKI. The goal is for Google to fork the Linux kernel once for Android, instead of three times, and give SoC and device manufacturers space for their customizations via plug-in modules.

28-2-980x578.jpg

 

By modularising and using hooks the hope is that Google can keep the kernel more mainline which means more up to date, its still a work in progress but the team expect it to be ready for 2023.

Quote

Kjos explained, "The big push is to get all of the hardware-specific code out of the generic kernel and into vendor modules. One of the big parts of this effort is that we have to have a stable interface between those vendor modules and the generic kernel so that they can ship asynchronously." This interface is called the "KMI" or "Kernel Module Interface." Kjos says now the "main difference" between the Android GKI and mainline Linux are hooks for all of these vendor modules.

 

Kjos says Google prefers short hooks for these vendor modules as opposed to out-of-tree code, because "we want to be as close to upstream as we possibly can." Google is working on getting vendor code upstreamed, too, but admits, "this is a multi-year project, and we don't expect we'll ever get all the way there." Kjos laid out a timeline for the next few years of kernel work, which has 2020-2022 as work toward upstreaming existing features and isolating vendor changes in modules, and starting in 2023, taking an "upstream first" development model for new features. "Since out-of-tree modules are really important for our use case, we expect we'll always have a set of exports and some things that are different or in addition to what's upstream, but this whole project is a multi-year project working towards getting rid of as many out-of-tree patches as we possibly can, and aligning as much as possible with upstream."

Source - https://arstechnica.com/gadgets/2021/09/android-to-take-an-upstream-first-development-model-for-the-linux-kernel/

 

TBH I always wondered why Google didn't use modules in Android, it makes total sense to be able to plug something into the kernel on the fly rather than having every link in the chain adding more code to the kernel.

Main Rig:-

Ryzen 7 3800X | Asus ROG Strix X570-F Gaming | 16GB Team Group Dark Pro 3600Mhz | Corsair MP600 1TB PCIe Gen 4 | Sapphire 5700 XT Pulse | Corsair H115i Platinum | WD Black 1TB | WD Green 4TB | EVGA SuperNOVA G3 650W | Asus TUF GT501 | Samsung C27HG70 1440p 144hz HDR FreeSync 2 | Ubuntu 20.04.2 LTS |

 

Server:-

Intel NUC running Server 2019 + Synology DSM218+ with 2 x 4TB Toshiba NAS Ready HDDs (RAID0)

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, Zodiark1593 said:

Google is only a decade late, but better late than never. 😝

IKR, if anything kernel modules make more sense on a portable than they do on a desktop 😄

Main Rig:-

Ryzen 7 3800X | Asus ROG Strix X570-F Gaming | 16GB Team Group Dark Pro 3600Mhz | Corsair MP600 1TB PCIe Gen 4 | Sapphire 5700 XT Pulse | Corsair H115i Platinum | WD Black 1TB | WD Green 4TB | EVGA SuperNOVA G3 650W | Asus TUF GT501 | Samsung C27HG70 1440p 144hz HDR FreeSync 2 | Ubuntu 20.04.2 LTS |

 

Server:-

Intel NUC running Server 2019 + Synology DSM218+ with 2 x 4TB Toshiba NAS Ready HDDs (RAID0)

Link to comment
Share on other sites

Link to post
Share on other sites

have they not been talking about this for ages now?

But I guess they had to change some things. So long it makes android useful, too much hard baked crap and closed systems and security issues.

hopefully google is not pushing some standard crap with their systems or enabling google's own access to your phone or through hacking or other means.

 

at least if this means one can switch out of the samsung bloat or other brands awful bloat and tracking with some close to illegal data collection, with other modules or clean it up? yes please, without the issues of rooted phones.

Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, Quackers101 said:

have they not been talking about this for ages now?

What they have done is try to pull as much as possible at the application layer into Google Play services so that more apps can share the same code which is easily updated, without having different implementations floating around, possibly quite out of date. However that is working at a relatively high level.

 

The kernel is at the other end, it is the lowest level before you hit hardware.

 

9 minutes ago, Quackers101 said:

at least if this means one can switch out of the samsung bloat or other brands awful bloat

Whatever your wishes are, make sure you're looking at it at the right level. Kernel level changes wont directly affect high level stuff like the UI and "features" added.

 

In a similar way could this be compared to Apple's Darwin? It's an open source OS that forms the basis for MacOS and iOS. It's that stuff that goes on top that give the user experience.

Main system: i9-7980XE, Asus X299 TUF mark 2, Noctua D15, Corsair Vengeance Pro 3200 3x 16GB 2R, RTX 3070, NZXT E850, GameMax Abyss, Samsung 980 Pro 2TB, Acer Predator XB241YU 24" 1440p 144Hz G-Sync + HP LP2475w 24" 1200p 60Hz wide gamut
Gaming laptop: Lenovo Legion 5, 5800H, RTX 3070, Kingston DDR4 3200C22 2x16GB 2Rx8, Kingston Fury Renegade 1TB + Crucial P1 1TB SSD, 165 Hz IPS 1080p G-Sync Compatible

Link to comment
Share on other sites

Link to post
Share on other sites

17 minutes ago, porina said:

In a similar way could this be compared to Apple's Darwin? It's an open source OS that forms the basis for MacOS and iOS. It's that stuff that goes on top that give the user experience.

It seems closer to traditional Linux to me, instead of devs needing to change the kernel source they can write a module that is hooked into the kernel at boot. Its essentially modprobe for your phone.

 

Edit - Thinking about it, yes macOS uses the same approach. It has kext files that are passed to the kernet at stage 1 init and are loaded during first boot.

Main Rig:-

Ryzen 7 3800X | Asus ROG Strix X570-F Gaming | 16GB Team Group Dark Pro 3600Mhz | Corsair MP600 1TB PCIe Gen 4 | Sapphire 5700 XT Pulse | Corsair H115i Platinum | WD Black 1TB | WD Green 4TB | EVGA SuperNOVA G3 650W | Asus TUF GT501 | Samsung C27HG70 1440p 144hz HDR FreeSync 2 | Ubuntu 20.04.2 LTS |

 

Server:-

Intel NUC running Server 2019 + Synology DSM218+ with 2 x 4TB Toshiba NAS Ready HDDs (RAID0)

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, Master Disaster said:

It seems closer to traditional Linux to me, instead of devs needing to change the kernel source they can write a module that is hooked into the kernel at boot. Its essentially modprobe for your phone.

Hopefully it also lead to longer life and security updates.

Link to comment
Share on other sites

Link to post
Share on other sites

so yeah, I guess they can still add at a deeper level.

Just hope you don't get google delivered ransomware 🙂

 

(loud mic) google - From treble to mainline (DevFest 2019)

https://youtu.be/zbebx1Kvqho?t=282

 

picture of what is being stated, how they want the new android to be like.

 

1741159227_GoogleTrembletoMainlinemodules2021-10-0202.png.862c6a48bd0f526c46a2bd59516a18cd.png

Link to comment
Share on other sites

Link to post
Share on other sites

this is a good change but i have the feeling that SOC's and device manufactures will continue to use the old way until android is dead.

*Insert Witty Signature here*

System Config: https://au.pcpartpicker.com/list/Tncs9N

 

Link to comment
Share on other sites

Link to post
Share on other sites

56 minutes ago, Salv8 (sam) said:

this is a good change but i have the feeling that SOC's and device manufactures will continue to use the old way until android is dead.

SoC's are proprietary. Period.

 

Until someone (hopefully not Google) comes up with an ARM or RISC-V standard that can take a vanilla install of Linux/Android/Windows, etc, the technical debt will keep piling up faster, and so will the coderot.

 

The reason Windows sticks around as long as it has, is because the OEM's only have to write drivers for one OS, one CPU. But IP logic blocks in SoC's may never have drivers in Vanilla ARM Linux, as the drivers only work with the Android kernel fork.

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Kisai said:

SoC's are proprietary. Period.

Not all of them but for the most part yes.

1 minute ago, Kisai said:

Until someone (hopefully not Google) comes up with an ARM or RISC-V standard that can take a vanilla install of Linux/Android/Windows, etc, the technical debt will keep piling up faster, and so will the coderot.

 

The reason Windows sticks around as long as it has, is because the OEM's only have to write drivers for one OS, one CPU. But IP logic blocks in SoC's may never have drivers in Vanilla ARM Linux, as the drivers only work with the Android kernel fork.

 

Linux does support quite a few ARM SOCs. It's just that Qualcomm makes a lot of their binary blobs proprietary and some of the non Qualcomm stuff requires custom kernels for support cos its not been merged into the mainline Linux kernel.

Judge a product on its own merits AND the company that made it.

How to setup MSI Afterburner OSD | How to make your AMD Radeon GPU more efficient with Radeon Chill | (Probably) Why LMG Merch shipping to the EU is expensive

Oneplus 6 (Early 2023 to present) | HP Envy 15" x360 R7 5700U (Mid 2021 to present) | Steam Deck (Late 2022 to present)

 

Mid 2023 AlTech Desktop Refresh - AMD R7 5800X (Mid 2023), XFX Radeon RX 6700XT MBA (Mid 2021), MSI X370 Gaming Pro Carbon (Early 2018), 32GB DDR4-3200 (16GB x2) (Mid 2022

Noctua NH-D15 (Early 2021), Corsair MP510 1.92TB NVMe SSD (Mid 2020), beQuiet Pure Wings 2 140mm x2 & 120mm x1 (Mid 2023),

Link to comment
Share on other sites

Link to post
Share on other sites

8 hours ago, ACEHACK said:

wasnt this the whole point of Fuchsia OS, a modern replacement for android and chrome OS that will be backwards compatible but more secure, and modular enough for kernel updates directly from google for any device.   

https://fuchsia.dev/fuchsia-src/concepts

https://fuchsia.dev/fuchsia-src/contribute/roadmap

It's like WinXP, sometimes older OS are harder to let go.

  

2 hours ago, AluminiumTech said:

Linux does support quite a few ARM SOCs. It's just that Qualcomm makes a lot of their binary blobs proprietary and some of the non Qualcomm stuff requires custom kernels for support cos its not been merged into the mainline Linux kernel.

If you want to see how a Linux tablet works I suggest the JingPad A1, it's runs on a linux based of ubunut 20.04. it's a bit pricey since it's only half as fast as a iphone 11 but it does compensate with a 2K screen and a pen.

Specs: Motherboard: Asus X470-PLUS TUF gaming (Yes I know it's poor but I wasn't informed) RAM: Corsair VENGEANCE® LPX DDR4 3200Mhz CL16-18-18-36 2x8GB

            CPU: Ryzen 9 5900X          Case: Antec P8     PSU: Corsair RM850x                        Cooler: Antec K240 with two Noctura Industrial PPC 3000 PWM

            Drives: Samsung 970 EVO plus 250GB, Micron 1100 2TB, Seagate ST4000DM000/1F2168 GPU: EVGA RTX 2080 ti Black edition

Link to comment
Share on other sites

Link to post
Share on other sites

The way how Android ecosystem is maintained is absolutely terrible. I hope this thing goes live soon so I can have Android as an option again. It's one of reasons why I dumped it in the first place as I couldn't deal with shitty slow short lived support by pretty much all vendors.

Link to comment
Share on other sites

Link to post
Share on other sites

Hey, was planning to upgrade my Honor 9 Lite to something with Android 12 soon but guess I'll wait a little bit more now

Link to comment
Share on other sites

Link to post
Share on other sites

57 minutes ago, RejZoR said:

The way how Android ecosystem is maintained is absolutely terrible. I hope this thing goes live soon so I can have Android as an option again. It's one of reasons why I dumped it in the first place as I couldn't deal with shitty slow short lived support by pretty much all vendors.

this, noticed how quickly the jumped the gun on it... got really frustrated by it, more so if google's own system could be upgraded without their influence (pixel).

also if lower end, say good bye and sometimes for higher end too. Not telling about what CPU either, difference in performance as well. ugh.

At least something more in common Iphones.

Link to comment
Share on other sites

Link to post
Share on other sites

7 hours ago, AluminiumTech said:

Not all of them but for the most part yes.

Linux does support quite a few ARM SOCs. It's just that Qualcomm makes a lot of their binary blobs proprietary and some of the non Qualcomm stuff requires custom kernels for support cos its not been merged into the mainline Linux kernel.

Proprietary binary blobs only work with exactly one version of the kernel. This is the problem we've had with nVidia since the beginning (Like pre-2006.) I don't ever expect these vendors to budge on the issue. Pretty much all WiFi drivers are binary blobs, as well as anything containing a DSP.

 

The only way we'll ever see some of these vendors either release source code or documentation is for the chips to be common enough for people to be interested in it, and a SoC from Broadcom/Qualcomm is basically a disposable unit if it's only found in one smartphone/tablet line and not future ones.

 

It's far more likely the hardware in the Apple M1 SoC gets supported long before any other ARM SoC's. There's hardware in RPi's that are still not fully supported.

 

Link to comment
Share on other sites

Link to post
Share on other sites

 

Quote

 

Edit - Thinking about it, yes macOS uses the same approach. It has kext files that are passed to the kernet at stage 1 init and are loaded during first boot.

I might be wrong but I’m pretty sure macOS killed kext with the launch of macOS 11. Or they changed how you are allowed to do kext.

 

What ever it was it caused a ruckus in the mac community with people sitting on orphaned unsupported hardware (as in external sound equipment) relying on kexts.

Link to comment
Share on other sites

Link to post
Share on other sites

Good. Now to see Google actually offer longer support on their devices like Apple does. I mean if Google can offer that to their flagship phone and also a cheaper but same highend SoC like Apple does, that would be amazing. Also it would push other OEMs too for their flagships.

| Ryzen 7 7800X3D | AM5 B650 Aorus Elite AX | G.Skill Trident Z5 Neo RGB DDR5 32GB 6000MHz C30 | Sapphire PULSE Radeon RX 7900 XTX | Samsung 990 PRO 1TB with heatsink | Arctic Liquid Freezer II 360 | Seasonic Focus GX-850 | Lian Li Lanccool III | Mousepad: Skypad 3.0 XL / Zowie GTF-X | Mouse: Zowie S1-C | Keyboard: Ducky One 3 TKL (Cherry MX-Speed-Silver)Beyerdynamic MMX 300 (2nd Gen) | Acer XV272U | OS: Windows 11 |

Link to comment
Share on other sites

Link to post
Share on other sites

20 hours ago, Distinctly Average said:

Hopefully it also lead to longer life and security updates.

I am wondering if this will be the case as well.  The primary advantage apple has over the various android companies is because of OS, the phones last 1/2 as long or less, so even if an iPhone is 50% more it’s still cheaper if you can manage to not break it.  Lengthening service life to something similar to apple would pretty much kill that.

Not a pro, not even very good.  I’m just old and have time currently.  Assuming I know a lot about computers can be a mistake.

 

Life is like a bowl of chocolates: there are all these little crinkly paper cups everywhere.

Link to comment
Share on other sites

Link to post
Share on other sites

35 minutes ago, Bombastinator said:

the phones last 1/2 as long or less, so even if an iPhone is 50% more it’s still cheaper if you can manage to not break it.

In your outlined scenario a iphone can cost literally 100% more for cost equality, i.e., it can be double as expensive. Considering the price of current Android flagships vs flagship iphones and the SE 2020 which can be had for USD 399 but still gives you the full Apple experience (minus faceID, fancy screen and cameras) - there is some catch-up work to be done.

Link to comment
Share on other sites

Link to post
Share on other sites

14 minutes ago, Dracarris said:

In your outlined scenario a iphone can cost literally 100% more for cost equality, i.e., it can be double as expensive. Considering the price of current Android flagships vs flagship iphones and the SE 2020 which can be had for USD 399 but still gives you the full Apple experience (minus faceID, fancy screen and cameras) - there is some catch-up work to be done.

“Some” is a gross understatement. 


I’ll definitely be keeping a close eye on this development though. If a) Android devices are able to receive regular updates years down the road, and b) SoC designs reach parity, or exceed Apple’s own designs (for the equivalent year), I’ll definitely consider going back to Android. Those were the primary two factors that pushed me to iOS actually, despite some teething pains, alongside easy availability of repair parts. 
 

Though it could be awhile. I intend to keep my current phone (iPhone 11) until it stops functioning entirely. Already approaching two years. Damn, time flies. 
 😅

My eyes see the past…

My camera lens sees the present…

Link to comment
Share on other sites

Link to post
Share on other sites

24 minutes ago, Dracarris said:

In your outlined scenario a iphone can cost literally 100% more for cost equality, i.e., it can be double as expensive. Considering the price of current Android flagships vs flagship iphones and the SE 2020 which can be had for USD 399 but still gives you the full Apple experience (minus faceID, fancy screen and cameras) - there is some catch-up work to be done.

Double as expensive for half as long makes it a less than a wash. Effectively the same price is being paid but there is the damage factor.  It only breaks even if the iPhone doesn’t get damaged during its lifetime.  My current iPhone was ridiculously expensive.  $1500 (which I was not expecting) and could only cover because I skipped a PC update.  I need this thing to last 2-3 times as long. My last iPhone lasted 5.  Should have been 6. If android can increase its longevity past 2-3 years, it becomes a big issue.  Then the only thing apple has going for it is some possibly dubious security stuff.  I am not a fan of how Google markets keeping other actors out of its systems. The problem is it’s “everyone but us”.  “You are my cattle and only I may slaughter you for meat” is better than “anyone can” I don’t want to be cattle at all though.  Apple has the “but we can access your data too” issue too but they’re not also a data collection company whereas google is. 

Edited by Bombastinator

Not a pro, not even very good.  I’m just old and have time currently.  Assuming I know a lot about computers can be a mistake.

 

Life is like a bowl of chocolates: there are all these little crinkly paper cups everywhere.

Link to comment
Share on other sites

Link to post
Share on other sites

so long its not like this

Quote

If you're confused, a damaged/ broken front earpiece speaker bricks your iPhone. It's quite ridiculous. With the 12's you are completely unable to use your screen as it just goes black. P.S, if he went to apple they would have told him that they can't fix it and that he should buy a new phone. Pretty messed up

 

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, Quackers101 said:

so long its not like this

 

They do have a repair system issue. I do wonder if that phone was supposed to be waterproof or not.

Edited by Bombastinator

Not a pro, not even very good.  I’m just old and have time currently.  Assuming I know a lot about computers can be a mistake.

 

Life is like a bowl of chocolates: there are all these little crinkly paper cups everywhere.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×