As a point of comparison, Microsoft ships its OS across a variety of manufacturers and largely keeps it maintained across them (give or take some exceptions like enterprise environments & the like).

Even unlocked Android phones purchased independently of carriers have inconsistent lengths of support, so it doesn’t seem to be entirely a result of carriers, so…What happened here?

    • Mrduckrocks@lemmy.world
      link
      fedilink
      arrow-up
      13
      ·
      1 year ago

      Good explanation and lines in with why iPhone get years of support as they have full control of hardware and drivers.

        • ribboo@lemm.ee
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          1 year ago

          I mean an iPad mini 2 would obviously struggle with iOS today due to hardware limitations.

          And you’re very much free to use it, problem is app developers do not find it worthwhile their time supporting older devices (we are talking devices that’s a minimum of five years old, more likely 7-8) so few use them and it impacts what they can and cannot do. Thus it becomes unusable.

          But all Apple apps will obviously still work.

            • ribboo@lemm.ee
              link
              fedilink
              English
              arrow-up
              2
              ·
              edit-2
              1 year ago

              My 10 year old Thinkpad barely qualifies as “running” windows 10, not Ubuntu for that matter. Haven’t bothered trying 11. I do partly agree with you, especially moving forward. But an iPad mini 2 has 1 gb of ram and 16 gb of space, both rather huge limitations for a mobile OS of today.

                • ribboo@lemm.ee
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  1 year ago

                  Did a computer bought to run windows 95 run XP? Did a computer bought for 98 run Vista? That’s a more fair comparison, as mobile operating systems are very young. And mobile devices from 10 years ago have hardware that could not really be compared to computers.

                  Sure, processors at peak capacity where good. But forcing a 10 year old processor running todays software would drain the battery - that was also in no way comparable to today - to fast. And that is even if you could install the OS, as there is so little device space on many of them. Then you open one app and you’re out of ram potentially causing crashes all over the place, because mobile apps are rarely built for efficiency.

                  It would be a horrid experience.

    • Very_Bad_Janet@kbin.social
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      1 year ago

      Kind poster, I understood about 4% of what you wrote and absorbed 2% (entirely not your fault). Would you say that this explains why Google only supports their Chromebooks for 5 years?

      ETA: My question is based on what you wrote here:

      Linux has LTS releases that are supported for 6 years. They release a new LTS every year. Each year, Google selects the latest LTS and builds the latest Android version against that release. They can add to the KMI when this happens, but it is frozen for that kernel version from then on. From there, they keep building Android against that kernel version until it is no longer supported.

    • Atemu@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      This only concerns the kernel which is rather unimportant when it comes to Android updates. You can keep using an ancient kernel for an insanely long time but upgrade the Android userspace. The vast majority of LineageOS devices use the original kernel they released with (+bug fixes, usually).

      Only when Android has a hard requirement on a new kernel feature do you need to actually upgrade it. This is usually end of the line for a device in custom ROMs because it is infeasible to do in most cases.

      Take the Oneplus One (bacon) for example. It was released oven 9 years ago with kernel 3.4 and only lost LineageOS support with Android 12 because that requires eBPF for firewalling apps which is a relatively recent addition to the kernel.

      The shims for the HAL you mentioned are in userspace. The original BLOBs they shim use the original OEM kernel interfaces in order to do their magic. It’s just that Android might require newer/different interfaces from the HAL BLOBs; that’s what the shims are for.