Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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 platform was never competitive, and they’d burned all their goodwill on the 7 and 8 fiascos.



Two things:

1. There are longterm kernel releases, with up to 10 years support, and Android uses those exactly to avoid major support issues (https://en.wikipedia.org/wiki/Android_(operating_system)#Lin...).

2. That doesn't fix the issue that Qualcomm themselves do not want to release documentation and only want to support their hardware for up to two years. Ergo, you would run some outdated binary blob.


Exactly, having the hardware work is one thing. But to support a phone you need to fix security issues. So every binary blob is a ticking time bomb that is just waiting for a security vulnerability to be found either in it, or that needs a firmware patch to solve or workaround.

So either you need the source so that you can support it yourself, or you need a contract with Qualcomm to release security patches.

Sure, a stable ABI may mean that it would be cheaper for Qualcomm to release version updates as well, but at this point I would be happy if I could get security updates for more than 3 years. We can start asking for feature updates next.


I’m going to reply to a few sibling comments at once:

Yes, they could upstream drivers, but they won’t. It’s not in their best interest. I’m taking about what could be done in spite of this.

Given that they won’t upstream drivers, if the blobs they release keep working for the reasonable life of your device, your phone can get other software updates, including major OS updates. I don’t expect or need the camera or radio driver to change across various android versions. The hardware is the same!

And if you want a newer phone, you’re free to buy one! It’s just sad that you can’t safely use older devices just because the blobs break compatibility with OS security and feature updates. This need not be the case.


You can use older devices safely. Switch to iOS. My iPad Air 2 from 2014 still receives every update. It’s clear that android vendors have no interest in long term support and apple does. So I send my money to the company that works the way I want.


> I don’t expect or need the camera or radio driver to change across various android versions. The hardware is the same!

You probably don't. But a serious security vulnerability could be discovered that lets apps get root. So yes, it likely is fine, but I want a promise from my manufacturer that I will be able to keep using my phone for 5-10 years. I want to take the guaranteed lifetime into account when I am buying a phone.

Ideally it would be legally binding such that I can get a refund if they don't uphold it.


Qualcomm upstreams tons of support for their SoCs.


> Windows Phone 10 was actually in a position to support phones for years and even got Qualcomm onboard. It’s a shame the platform was never competitive, and they’d burned all their goodwill on the 7 and 8 fiascos.

Regardless of how much goodwill they burned with 7 and 8, their handling of the WM 10 release nailed the coffin shut. They actually made a release that ran ok, but it was 18 months after the initial release. And Edge managed to be worse than mobile IE, but they were pretending to be Apple and disallowed competing browsers in WP. Grumble mumble, live tiles were nice.


Yes, exactly that. I got onto windows phone with 8.0 and it was very nice to use even if app support was lacking. I steadily saw it decline. 8.1 took away much of what made it unique in the hope of getting better app support (narrator: it didn’t) but still remained fast and stable. Windows phone 10 was an outright disaster, slow and buggy, with no advantage to the user.

Maybe microsoft was always doomed in the mobile space because of app support, but they did a lot of things wrong that sealed the deal.


> Maybe microsoft was always doomed in the mobile space because of app support, but they did a lot of things wrong that sealed the deal.

I don't think they really were. They were actually gaining market share in the 8.x days, in part because their low priced phones were a lot more usable than similarly priced Android phones. Had they continued that trend with 10, instead of making a terrible release and pivoting towards high priced phones, they might have gotten enough market share to change developer's minds. And it's not like Microsoft didn't have experience on breaking into a market; the first xbox was weird and different, but they became a top tier console.


Because the solution would be to actually upstream the necessary drivers or publish enough documentation that they could be created instead of doing hacks.


1. There are userspace blob too.

2. Android did change drivers architecture across version in the past. We are talking something as old as Android 6


FWIW I do not want to use a 5 year old kernel and I do want to use a 5 year old phone (LG V20).


Just be happy that the kernel you get on your brand new phone is only 5 years old.


Example: the Nokia 7.2 was released at the end of 2019 and is running on Linux 4.4.194 on the newest available Android update. 4.4 was first released in January 2016 and is currently at 4.4.262. 4.4.194 was released in September 2019.

The newest LTS release at the end of 2019 was 4.19, released in October 2018. 4.9 and 4.14 are also LTS releases. 4.4 is a bit special because it's a Super Long Term Support kernel but 4.19 is SLTS as well.


Is that a fair example? Most phones sold are going to be from Samsung.[0] Their recent flagship, the Galaxy S21, is a 5.4.61 kernel.

[0] https://www.appbrain.com/stats/top-manufacturers

[1] https://github.com/mohammad92/android_kernel_samsung_sm8350/...


For a like-for-like example, the Galaxy S10 released in 2019 like the Nokia 7.2 is 4.14.212.


>Windows Phone 10......shame the platform was never competitive

I still think there is some possibility of Microsoft releasing Windows Kernel as open source. But they will need Azure to be a competitive and stable business first. ( Which is not right now )


This is not true. They could simply upstream the drivers.


I heard one of the reasons Microsoft had to ruthless kill support for phones when switching from WP7 to 8 to 10 was Qualcomm not willing to ship chipset drivers for the older devices with the new kernels in each of those iterations.

It would have gotten Microsoft a lot of goodwill if they had, but strangely enough Microsoft at that time did not seem to be interested in the goodwill of Windows Phone users anyway :-)

I'm still hanging on to a 950XL for some weird reason.


From WP7 to WP8 was WinCE kernel and single core to WinNT kernel and multicore. Maybe the WP7 devices could do it, but not with good performance. That one just wasn't going to happen.

Most of the WP8 devices were able to run WM 10, but the experience was really poor on the low memory devices, so those didn't get a release outside of the public insider builds. There was one or two devices that didn't get upgrades for some reason, other than those and the low memory devices upgrading to 10 was available, but it took a long time for them to get around to fixing things; it actually got a lot better in the release after they officially gave up. Possibly if there was a focus on mobile during development of 10, they could have made the first release good, and maybe even got it to work OK on low memory devices; Edge was still going to be trash though.

All of that said, a bigger problem was dumping goodwill of developers. WP7, WP8, and WM10 all had new frameworks for apps that were needed for new functionality and didn't work with prior Microsoft OSes; calling the WM10 one 'Universal' was darkly humorous.


> All of that said, a bigger problem was dumping goodwill of developers. WP7, WP8, and WM10 all had new frameworks for apps that were needed for new functionality and didn't work with prior Microsoft OSes; calling the WM10 one 'Universal' was darkly humorous.

I think this was somewhat overstated, since compatibility in the other direction was great. I wrote a WP7 app that worked fine across WP7/WP8/WM10 that I supported until MS pulled the plug entirely on the ecosystem.


The Linux driver ABI doesn't need to be stable because the drivers are supposed to be published under the GPL. This way manufactures just need to help get their drivers upstreamed and are largely off the hook for support after that.

Androids awful graphics API is hack that allows Qualcomm to keep the driver source closed which means the BSPs rot and you can't use your phone after 2-3 years.

I'll happily buy a 10 year old SoC with half the clock speed but open source drivers over anything from Qualcomm because of how awful they are with this.


There is actually quite some upstream work happening for Qualcomm SoCs these days, it's just a lot of effort.


Last I checked the official work the graphics drivers were completely left out.


That would be freedreno, not sure how complete it is yet.


Freedreno didn't come from Qualcomm and I've been through two Qualcomm based phones since it was started. Last time I checked (and I did give up a couple years ago) they barely had framebuffer support on a couple SoCs I didn't have.


This has been a long time ago. One of the Pixel phones was running freedreno by default.


Qualcomm is allowing their GPU drivers to be updated via the Play Store. This started in 2020 so it will only apply to Qualcomm SoC's released from 2020 onwards.


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

The Linux kernel used by Android is based on the LTS version that now has 6 years of support [1]. So by the time an OEM releases a new device the support window will be about 4 years. Google has also been working to stabilize the Android kernel HAL so that OS updates don't require a brand new kernel [2]. Because of these developments Android devices can now offer 4 years of support [3].

>Windows Phone 10 was actually in a position to support phones for years and even got Qualcomm onboard. It’s a shame the platform was never competitive, and they’d burned all their goodwill on the 7 and 8 fiascos.

This is pure speculation and I highly doubt Qualcomm would have invested the time and money, to support a platform that had no chance of success, beyond their obligated 2 years of support at the time.

[1] https://arstechnica.com/gadgets/2017/09/android-users-rejoic...

[2] https://arstechnica.com/gadgets/2019/11/google-outlines-plan...

[3] https://android-developers.googleblog.com/2020/12/treble-plu...


If Android used FreeBSD...

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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: