this post was submitted on 25 Feb 2025
113 points (97.5% liked)
Technology
63375 readers
4637 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each other!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
- Accounts 7 days and younger will have their posts automatically removed.
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Because phones are a mess of out of tree patches specific to that phone model with zero hope of being upstreamed into the Linux kernel without a cleaner rewrite because it's not good, it's made to work and nothing more. They do stuff like just copy pasting the drivers into the project for the next chip, make some changes, and now you have several versions of the same driver for a whole bunch of slighly different chips. The community can't keep up with that or make it generic enough.
It's improved but companies like Qualcomm also used to basically drop the code to the manufacturers when the chip launches and then move on with little maintenance for the code and stop maintaining the code once the chip is not produced anymore. Manufacturers don't have the expertise to maintain that forever nor the will, so you end up with a kernel that keeps aging and isn't keeping up with Android and the community hasn't been successful in integrating it all either.
Google's been pushing hard for this to improve but they're the only ones to even care. Samsung and others would much rather sell you a new phone.
There's also the problem that phones don't really have a BIOS, the kernel is expected to just know where the devices are via the device tree. So each phone needs a specially built kernel for it too.
Projects like LineageOS often manage to push those phones a couple versions longer but eventually interest dies as well because of kernel pains.
Not just Google, but the community has been hard at work with porting mainline Linux to phones. postmarketOS is the main OS that devices are initially ported to.
Qualcomm is actually involved with this as well, specifically with Linaro, who does a lot of kernel mainlining for Qualcomm SoCs.
Honestly I'm impressed with all the work the community has put into projects like LineageOS but when I recently checked the supported devices list I feel like we're at the lowest point we've ever been and now to buy a phone for 10 years means to buy a Pixel.
Not often I say this but: Good job Google.