6 ms·
It's not just Qualcomm it's closed source driver blobs in general. Even if your CPU might still be supported your other hardware might not. A common offender i
by dathinab 6y ago
It's not just Qualcomm it's closed source driver blobs in general.
Even if your CPU might still be supported your other hardware might not. A common offender is camera drivers as far as I know and while you sometimes can still make the camera work it often comes with noticeable decreased quality (as the special patent encumbered closed source image post processing sausage is missing).
Besides that potential but as far as I know less likely offenders include the modem.
Ironically both might be integrated into the SoC which then massively increases the chance for problems.
- nobodywasishere 6y agoAndroid should have been GPL
- pmlnr 6y agoAnd how would that make any difference when it comes to radio firmware?
- herogreen 6y agoThe radio firmware could be executed on different CPU than the Android kernel and communicate with a standard protocol ?
- monocasa 6y agoThat's more or less what happens already.
- teruakohatu 6y agoIt is but if the radio driver was open source then the interface with the radio SoC would be documented. Right now it is the worst of both worlds. Closed interface for a closed undocumented chip able to execute arbitrary code.
- cwyers 6y agoThe part of Android that talks to the Qualcom drivers is the Linux kernel, which is GPL already.
- nine_k 6y agoYou can read the patented algorithm in the patent, and even implement it, but you cannot legally distribute it, until the parent expires.
- lrem 6y agoApache License 2.0 is GPL-compatible, isn't it? Edit: expanding the acronym, to evade Android/Apache confusion.
- techrat 6y agoWhat I don't understand (due to my ignorance, please explain if you can)... what keeps the driver blobs from continuing to work from one version of Android to the next? What prevents people from using the same drivers for a device on Android 7 and upgrading the OS to 9 or 10? I always understood that drivers would continue to allow the OS to recognize the component that the drivers are for unless something drastically changes on the OS side of things. Why can't we say "Fuck you, Qualcomm" and continue to use the older drivers for newer OS versions without having to wait for them to officially support it?
- detaro 6y agoWith new Android versions come new kernel versions, and the interfaces to drivers are not stable, and I assume Android-specific interfaces also do change.
- deleted 6y ago[deleted]
- pantalaimon 6y agoAre you implying the 'no stable binary ABI' policy is responsible for a lot of e-waste?
- cwyers 6y agoI mean, that seems to be the result, yes? The intent is to compel device manufacturers to release the source of their drivers, but at this point, I think we have to admit that's not a great description of what's happening in the mobile space.
- DaiPlusPlus 6y ago> The intent is to compel device manufacturers to release the source of their drivers I doubt that was the "intent"... perhaps a contributory argument in favour of a non-stable ABI, but I understand the reasons are far more pragmatic: maintaining a stable kernel ABI is a lot of work which could have strangled Linux in its early years.
- CameronNemo 6y agoThe whole point of the patent system is that you do not keep the technique obfuscated.
- codewiz 6y ago> It's not just Qualcomm it's closed source driver blobs in general. To be precise, Qualcomm's Linux drivers are GPL'd like the rest of the kernel. Drivers often come with firmware blobs and proprietary binaries in userspace, but it should be possible to keep the kernel driver compatible with both. The actual reason why older SoCs stop working on newer Linux kernels is that Qualcom's drivers were not fully upstreamed, either because they didn't submit them, or because they tried, but there were quality issues. In theory, anyone could port those drivers onto the latest Android kernel, but without hardware documentation it's not an easy job.
- klodolph 6y agoMy understanding is that a number of Android vendors operate by just taking a version of the Linux kernel and making any changes they need. By the time the phone is released and anyone cares, it's an old version of the Linux kernel, and the changes weren't written in a way that it's easy to incorporate them in the first place. The idea of incorporating a large chunk of changes all at once at the end is nobody's idea of a good time. I get that they have no responsibility vis a vis the GPL to upstream their changes, and I have no doubt that this is a cheaper way for them to run their business.
- londons_explore 6y agoThe SoC manufacturer provides to the OEM exactly one kernel version that works on that chip. The OEM has to use that version. Oftentimes the SoC manufacturer will deliberately make it an old version because they know that the next android release will require a newer kernel version, therefore forcing the OEM to update to a new and more profitable SoC rather than continuing to sell an old model.
- jasonjayr 6y agoIsn't that a blatant GPL Violation? Also; has any work been done on decompiling that kernel and trying to match up the symbols with existing source code?
- xvilka 6y ago> A common offender is camera drivers This is precisely why open source libcamera[1] exists. [1] https://libcamera.org/ https://libcamera.org/
- ntauthority 6y agoMeanwhile, on a platform with a generally stable binary driver ABI alike Windows, even drivers for a prototype MSM8960 phone (Snapdragon S4) released in 2012-2013 will still run on 2021 versions of ARM32 Windows (insofar as these are still being built and released, of course).
- bildung 6y agoABIs are only needed because some manufacturers insist on closed source blobs. Why should Linux, a project whose entire raison d'etre is to provide an open source kernel, make life easier for companies unwilling to accept that?
- ClumsyPilot 6y agoThe questuon is, can you actyally force their hand? So far, the answer seems to be no. Personally I feel we need to push for a law where the iser has a right to an open driver in the same way he has a right to a manual. Attempts to ship undocumented / secret functionality is software or devices should be equates with spreadind spyware or malware.
- fragileone 6y agoGoogle is changing this for Android with GKIs (General Kernel Images) being mandatory[1] for new phones which launch with Android 12 (i.e. late 2022 phones). They'll maintain a stable ABI so that OEMs can plug in their proprietary drivers as kernel modules. Additionally with the work the Android Kernel team are doing to upstream so Android Common Kernel can be just replaced with using the Linux mainline, we're getting ever closer to limiting the effect that closed-source drivers have on updates. [1] https://source.android.com/devices/architecture/kernel/generic-kernel-image https://source.android.com/devices/architecture/kernel/gener...
- diegs 6y agoYeah, I think this is a major design point behind Fuschia/Zircon; they have a stable driver ABI to address this specific problem