Live data from Hacker News

Fairphone suggests Qualcomm is the biggest barrier to long-term Android support

arstechnica.com

81–90 of 226 posts

Re: Fairphone suggests Qualcomm is the biggest barrier to long-term Android support

#81
post #77
post #44

Earlier quoted context omitted.

What 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 drasticall…

This is because the Linux kernel itself is constructed and developed in a way where driver interfaces (API) are ruthlessly refactored and the linker interface for kernel modules (ABI) is intentionally version-incompatible. If the driver's source code is not in the kernel, it doesn't gain the benefit of kernel developers doing this ruthless refactoring and falls behind immediately from a source point of view, and from…

Didn't some Linux maintainers had very clear legal words for NVidia when they tried to make a kernel HAL/ABI?

Re: Fairphone suggests Qualcomm is the biggest barrier to long-term Android support

#82

It will be interesting to see what Project Treble brings to the table w.r.t. long term support for Android devices. It should help with the bitrot problem, though it pushes a bunch of stuff into blobs instead of creating long-term maintainable kernel source code.

Google has been promising to 'solve' fragmentation and long-term support for almost a decade, and it doesn't seem like there is any real solution. If you interested in long-term updates, the answer is simple: buy an iPhone.

> If you interested in long-term updates, the answer is simple: buy an iPhone.

I would, if apple wouldn't dictate what i can and cannot install on my phone.

Is there a smartphone that's usable as a daily driver, lets me have root and provides long term updates?

Re: Fairphone suggests Qualcomm is the biggest barrier to long-term Android support

#83
post #77

Earlier quoted context omitted.

This is because the Linux kernel itself is constructed and developed in a way where driver interfaces (API) are ruthlessly refactored and the linker interface for kernel modules (ABI) is intentionally version-incompatible. If the driver's source code is not in the kernel, it doesn't gain the benefit of kernel developers doing this ruthless refactoring and falls behind immediately from a source point of view, and from…

Didn't some Linux maintainers had very clear legal words for NVidia when they tried to make a kernel HAL/ABI?

NoyesNo, Nvidia tried to make a doggy legally questionable workaround for license aspects, so it's not quite the same.

Also as far as I remember (I might be wrong) the google HAL isn't a abstraction/redirection in the low level kernel module layer it lives on a higher abstraction level and was meant to make the amount of ways braking less but never planed to add abstractions on top of which you could build a graphics driver or CPU support (which doesn't only affect drivers but potential also kernel compiler time conditional compilations).

Re: Fairphone suggests Qualcomm is the biggest barrier to long-term Android support

#84
post #79
post #77

Earlier quoted context omitted.

This is because the Linux kernel itself is constructed and developed in a way where driver interfaces (API) are ruthlessly refactored and the linker interface for kernel modules (ABI) is intentionally version-incompatible. If the driver's source code is not in the kernel, it doesn't gain the benefit of kernel developers doing this ruthless refactoring and falls behind immediately from a source point of view, and from…

> is a conscious and opinionated strategy on the part of Linux, as an effort to make the cost of keeping drivers closed-source high. And Qualcomm is probably very, very happy with this arrangement. They can put a gazillion devs to maintain their BSPs using any means possible, but a small 2nd tier SoC fabbless don't.

Or you just push it upstream, which solves your problem because whoever is refactoring kernel code is also likely doing the appropriate changes in your code if necessarily.

Re: Fairphone suggests Qualcomm is the biggest barrier to long-term Android support

#85
post #58

Earlier quoted context omitted.

IIRC there are still some binary blobs on there which might not work after some breaking change down the line, right?

Everything on the application processor is open source (think your laptop running debian.) The only thing that could break are the radios (wifi,bt,modem) becoming incompatible with the networks they communicate with but they're separate components anyway and the modem speaks a standard protocol so I'm sure it could be replaced.

>Everything on the application processor is open source (think your laptop running debian.)

Even GPU?

Re: Fairphone suggests Qualcomm is the biggest barrier to long-term Android support

#86
Compare mobile phones to PC today, you will find that a PC made like five or more years ago can run the latest software without issues while for mobile devices, they can hardly survive for more than three years (I guess?) since the ability to support a new Android version completely depends on the SoC manufacturer. You may also upgrade part of the hardware of PC or install whatever OS you like on them if you want to. However, look at those "smart" phones, which are not smart at all: you are limited to a few Android versions and you are forced to install all these proprietary userspace drivers (HALs for example). Moreover, if you want to have full access to your device (Root), you have to bag the vendor for that privilege (Xiaomi, Huawei, etc. OnePlus is way better), which should be the right for everyone.

This is because the PC market is standardized (I guess, correct me if I'm wrong), compared to the phone market which has all of these proprietary blobs, private interfaces and lockdown. I hope we could have open source drivers, standardized hardware and software interfaces (like UEFI) for mobile smart devices just as PC does. Thus we can install whatever operating system or software without limitations. Also there will be less e-waste just as PC.

Re: Fairphone suggests Qualcomm is the biggest barrier to long-term Android support

#87
post #61

Earlier quoted context omitted.

I 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.

> 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.

> have strangled Linux in its early years.

And likely would still do so toady. I mean we are speaking about the kernel internal API (not the syscall API, which is stable).

Even systems which pride themself for internal kernel API stability do change the API every view years, while often having much less internal (feature/platform support) changes then Linux. Furthermore in android Linux LTS versions are often used which do support a long term stable ABI, potentially longer then certain other more niche systems priding themself with long support.

The problem is when a device is sold the kernel (minus back ported security fixes) is often already multiple years old so even if you use a kernel with 7 years longtime support you still have a good chance to run into problem. And supporting any kernel internal API for more then that time is unrealistic.

Re: Fairphone suggests Qualcomm is the biggest barrier to long-term Android support

#88
post #5

Qualcomm is only able to obstruct in this way because Linux doesn’t keep the kernel driver ABI stable for any fixed period of time. If Android used FreeBSD and Qualcomm shipped drivers for the latest build when the SoC was released, you’d have up to five years of support from that kernel release. Windows Phone 10 was actually in a position to support phones for years and even got Qualcomm onboard. It’s a shame the pl…

If Android used FreeBSD...

the only open source part (which is the kernel) will be closed source. No chances for customization and freedom now.

Re: Fairphone suggests Qualcomm is the biggest barrier to long-term Android support

#90
post #63

Earlier quoted context omitted.

Google has been promising to 'solve' fragmentation and long-term support for almost a decade, and it doesn't seem like there is any real solution. If you interested in long-term updates, the answer is simple: buy an iPhone.

The answer is a monolithic GPL kernel that forces manufactures to publish driver source code but they don't want to admit it.

Or a Windows-style stable ABI with drivers remaining closed-source. That's what Google are doing with their new Fuchsia OS and Zircon kernel, which is expected to replace the GPL-licensed Linux kernel on Android and ChromeOS devices.

Basically their moving away from the copyleft Linux kernel.

Given Google's awful track record with Android and security updates, and their lack of ability to force companies like Qualcomm to provide longer support windows, I'm not sure their new strategy will be successful.

Inevitably they'll be severe vulnerabilities found in the drivers including eg, Cellular radio / baseband drivers, Bluetooth driver, Wifi driver, and the vulnerabilities will never get patched.

Hopefully Google's capability-based microkernel approach with Zircon will stop this ever happening. But again, given Google's atrocious track record with Android and security I highly doubt it.

Even Windows doesn't support eg, i586 and i686 CPU architectures yet the Linux kernel does, so it seems like copyleft drivers are the only way to get security updates decades later.

Post reply on HN