Hacker News new | past | comments | ask | show | jobs | submit login

Naive question: why is it that the newest version of macos doesn't run on older machines? (The solution is, of course, to install Linux on them.)



I think their main reason is that Apple is a hardware company. They think of new features, build hardware for them, and then tweak their software (OS and applications) to aggressively use that new hardware.

Supporting older hardware is extra work that doesn’t bring in extra money. Also, oftentimes, it isn’t possible to backport features in a performant way (a lot of the ML stuff would only crawl on 10 year old hardware, features such as Handoff and PowerNap require hardware features). End result would be a 20 year old machine that runs the OS, but doesn’t work with modern software.

That wouldn’t make customers happy, and would dilute the brand of their OS releases.


I have a macbook pro late 2013 with a retina display, i7 cpu, 16gb ram and 512gb ssd that doesn’t get monterrey. I am not very happy about it, it’s a waste


It will depend on which MacOS dropped them.

Mojave for example dropped all Macs with GPUs incompatible with their Metal API.

https://arstechnica.com/features/2018/09/macos-10-14-mojave-...

The arstechnica MacOS reviews are good for working out (sometimes resorting to speculation) what makes a Mac unsupported.


Apple always drops software support for hardware when they stop providing hardware repairs. They generally consider hardware “vintage” 7 years after its introduction, but sometimes make that longer. They drop support in new macos releases only but they keep shipping updates to the two older releases as well. This means in practice hardware gets about a decade of software support, and the last two years of that without new features. Since the reasons for dropping support usually aren’t hard technical limits the community makes patchers to put new macos releases on older hardware.

To my knowledge Linux has never worked well on intel macs with a T2 chip. Asahi linux is working on bringing good support to m1 macs, so it looks like for good linux support you either need a pre-T2 mac or a post-M1 mac.


If Apple transitions to Apple silicon and is able to ditch a bunch of legacy code, will they be able to manage it the future better?


Lack of drivers, or the newer OS may require a specific instruction set or feature not present on older hardware.


But why don't they just keep the drivers etc. from the previous version? This doesn't seem to be a problem for Linux.


Linux would also require drivers to be recompiled for a new kernel. This is not an option for most proprietary drivers for products long abandoned by the manufacturer.

For the more common and popular hardware there is a good chance that open source drivers can be maintained by the community but if your laptop relies on a somewhat obscure chipset or microcontroller then your mileage will vary...a lot. Look up "Intel GMA500 Linux driver" if you need an example of the pain.

Sometimes the decision could be entirely commercial. Most notably, OSX dropped support for all nVidia GPUs from Mojave onwards despite nVidia going on record saying they are happy to continue providing drivers but Apple won't sign them.


> Most notably, OSX dropped support for all nVidia GPUs from Mojave onwards

Not those shipped with Macs. The GeForce kexts to support the NVIDIA GPU gens that Apple shipped, Fermi and Kepler, are still present even on Monterey.


Apparently they will not be in the stable release of Monterey though it is still possible to patch the drivers in.

https://github.com/chris1111/Geforce-Kepler-patcher

Fermi was never supported beyond High Sierra IIRC.


Hm, your own link shows that NVDAGF100Hal.kext is present though, so something for Fermi is _probably_ possible.

TIL that support for NV cards on Monterey is gone, it definitely was there in the betas.


macOS sees quite a lot of change under the hood from release to release that can make bringing unmodified drivers forward impractical. For example, in recent releases there’s been a push to move drivers away from the kernel and into userspace, which is naturally going to break old drivers. 32-bit support was also dropped not too long ago, which broke old 32-bit drivers.




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

Search: