this post was submitted on 20 Jun 2023
43 points (97.8% liked)

Android

27864 readers
12 users here now

DROID DOES

Welcome to the droidymcdroidface-iest, Lemmyest (Lemmiest), test, bestest, phoniest, pluckiest, snarkiest, and spiciest Android community on Lemmy (Do not respond)! Here you can participate in amazing discussions and events relating to all things Android.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules


1. All posts must be relevant to Android devices/operating system.


2. Posts cannot be illegal or NSFW material.


3. No spam, self promotion, or upvote farming. Sources engaging in these behavior will be added to the Blacklist.


4. Non-whitelisted bots will be banned.


5. Engage respectfully: Harassment, flamebaiting, bad faith engagement, or agenda posting will result in your posts being removed. Excessive violations will result in temporary or permanent ban, depending on severity.


6. Memes are not allowed to be posts, but are allowed in the comments.


7. Posts from clickbait sources are heavily discouraged. Please de-clickbait titles if it needs to be submitted.


8. Submission statements of any length composed of your own thoughts inside the post text field are mandatory for any microblog posts, and are optional but recommended for article/image/video posts.


Community Resources:


We are Android girls*,

In our Lemmy.world.

The back is plastic,

It's fantastic.

*Well, not just girls: people of all gender identities are welcomed here.


Our Partner Communities:

[email protected]


founded 1 year ago
MODERATORS
top 12 comments
sorted by: hot top controversial new old
[–] [email protected] 43 points 1 year ago (1 children)

It took a lot of work to get PC parts to become interoperable. There's all kinds of special negotiations that happen at boot to discover the state of hardware. There are standard drivers for most peripherals

Mobile devices aren't expected to change hardware so everything is hard-coded into the ROM. No discovery protocols are supported. Standardized drivers make it hard to ship new features or squeeze every last bit of performance so no effort goes into making them

[–] Sir_Simon_Spamalot 11 points 1 year ago (2 children)

Also, a lot of people are not aware that the PC world was even more wild west before this standardization than the current state of smartphone.

I do hope this standardization would come soon. You'd with all this collection knowledge the humanity has, people would come up with a more uniform solution...

[–] balder1991 10 points 1 year ago* (last edited 1 year ago)

The problem here isn’t knowledge, but incentives. Like, someone could design and start manufacturing a phone with very standard stuff, but it wouldn’t sell except for a dozen enthusiasts. Even on PC, Linux isn’t as widely used as Windows on consumer hardware, as there’s no focus on user experience. For a phone like that to work, they would need to solve a problem most other phones don’t solve.

[–] tallwookie 3 points 1 year ago

PC standardization took a few decades but there were not many adopters initially (compared to the total population) - mobile is different, basically everyone everywhere has a mobile device, so standardization will likely be much faster

[–] possiblylinux127 20 points 1 year ago (1 children)

Short answer: phone manufactures hate you

Long(ish) answer: Each phone manufacture heavy modifies the linux android kernel in order to make it work on there hardware. This usually means that the binary blobs (there are a lot of them) are only compatible with specific kernels.

[–] [email protected] 9 points 1 year ago

In addition, phone manufacturers write bad code, that would need to go through many review iterations until the open source community is happy with their changes. Often their changes to the kernel break things for other hardware, for instance.

Review and writing good software takes time, and phone manufactorers don't care about long term support, they want to sell you a new phone every year, or even more often. So they fork the kernel and hack together with lots of string and duct tape, a frankenstein kernel that just works on their hardware, but is broken for anything else.

[–] [email protected] 14 points 1 year ago (1 children)

Because the nuance of calling a PC a PC is that it supports a standard motherboard configuration and any Linux kernel will be able to boot. Mobile devices aren't like this and every component requires a specialized driver to work.

[–] [email protected] 8 points 1 year ago (1 children)

And just to add to that, anyone who has installed Linux before knows that everything isn't guaranteed to just work out of the box. Laptop WiFi cards, for example, frequently have driver issues. So it's not quite as simple as OP is saying, even with PCs.

[–] [email protected] 5 points 1 year ago

Reminds me of my fun times with ndiswrapper and nvidia-bl

[–] ghariksforge 11 points 1 year ago

Phone manufacturers use a ton on propriety binary blobs to load firmware, which they don't always share afterwards.

[–] MargotRobbie 4 points 1 year ago

Google specifically removed the GNU part from GNU+Linux to make Android to avoid angering Qualcomm and manufacturer, so Google, Qualcomm, the brand, white label manufacturer and the carrier all add their driver blobs step by step to make everything work together, which means that every phone has a unique linux kernel with different driver blobs, and so the base Android kernel was usually on a really old version compared to mainline or LTS and are not interchangeable.

That's why most manufacturers will stop supporting their phone after like 2 years, because again, every phone model has a different Linux kernel to maintain.

Treble helps a bit, but not using mainline was a mistake Google made from the very beginning of Android.

[–] j4k3 4 points 1 year ago

Google makes a special Linux version available for hardware manufacturers and Android. This version lets them easily add a bunch of proprietary hardware support to the kernel at the last possible minute. These modifications are not added to the mainline Linux kernel. This is the primary depreciation mechanism used to make phones disposable hardware. The stuff they are adding is the support for the processor architecture, hardware peripherals, and the modem. All of these elements are proprietary with no publicly available documentation. Every device is different. It would take years to reverse engineer each individual device using a 6 figure cost type lab.