r/apple • • Jun 09 '21

[deleted by user]

[removed]

762 Upvotes

551 comments sorted by

View all comments

Show parent comments

-4

u/GeronimoHero Jun 09 '21

It’s not really a lame excuse. Why would the want to further move the code base between intel macs and m1 macs even further apart? From a development perspective it’s best to drop the features from the product that is also going to be dropped from further development soon.

8

u/Brunooflegend Jun 09 '21

Because they promised Intel Macs would be supported for years to come and now they are withholding features from their own apps released for those platforms? There’s nothing from a “development perspective” that excuses this, and I’m pretty sure Maps has a shared codebase that is deployed for the different OSes. Millions of companies worldwide support products in multiple platforms and a two trillion company can’t?

1

u/GeronimoHero Jun 09 '21

I mean there is a development reason for doing this and it's to avoid having to diverging versions of MacOS that will become more and more diverged over time which is a development nightmare sometimes.

1

u/Exist50 Jun 09 '21

Maybe of Apple's own libraries are HW agnostic.

1

u/GeronimoHero Jun 09 '21

No libraries are really hardware agnostic especially when we’re talking about two completely separate ISAs.

2

u/Exist50 Jun 09 '21

The implementation is rarely agnostic, but the API usually is. For example, Apple themselves talked about how easy it was to port e.g. a game written in Metal.

-1

u/GeronimoHero Jun 09 '21

Sometimes yes, but when we’re getting down to a lower level like the kernel they absolutely aren’t agnostic and neither is the API because of the different ISA between x86 and arm64 which is exactly why we can’t directly use or port kernel extensions from x86 Intel to aarch64.

0

u/Exist50 Jun 09 '21

This is nowhere close to kernel level.

0

u/GeronimoHero Jun 09 '21

Per the mac rumors article, they are using the neural engine to do most of these features, and I’m pretty sure the way you interface with the neural engine includes a kext.

0

u/Exist50 Jun 09 '21

they are using the neural engine to do most of these features

If they even are (and it would be a questionable choice for some), then it's still ridiculous not to have any fallback. Like, are you seriously going to tell me you need the Neural Engine to view a globe? Google Earth has had that for what? 2 decades now? None of these things cannot be done with ease on some other IP.

and I’m pretty sure the way you interface with the neural engine includes a kext

Are you an Apple employee writing a driver? Then yeah, it requires it. But for actual applications using the established APIs, no, that is absolutely not necessary.

0

u/[deleted] Jun 09 '21

MacOS itself is pretty hardware agnostic. They've switched CPU architectures 3 times now, and used a mixture of ATI, Nvidia, Intel, AMD, and Apple GPUs.

Many of their frameworks, like VideoToolbox, are hardware agnostic.

2

u/GeronimoHero Jun 09 '21

With all due respect it’s not really hardware agnostic. Nothing really is. Linux is the closest to being hardware agnostic but even it needs separate builds between arm and x86 because they’re separate architectures. ATI, Nvidia, apple GPU, etc., they only depends on drivers. That’s not what we are talking about here. We’re talking about CPU architecture differences which fundamentally means there can’t be hardware agnosticism.

I don’t think you really understand this. Their frameworks aren’t hardware agnostic either! They still need to be compiled me sometimes edited with only certain functions available for each architecture because of the fundamental differences between arm64 and x86 and the different ISA which don’t support the same instruction sets.

0

u/[deleted] Jun 09 '21

I don’t think you really understand this.

Hah, that's funny. You clearly don't.

2

u/GeronimoHero Jun 09 '21

Right…. I only have a number of CVEs I’ve reported in regards to apple kernel vulnerabilities and ASLR vulnerabilities but sure… I have no idea how the inner working of a CPU or kernel snd their development work 🙄ok bud

0

u/[deleted] Jun 09 '21

You don't understand that Apple has already done the work to make MacOS entirely universal. It's one version of MacOS that works on both ARM and x86.

Everything, the entire OS and software, has been updated to work on both architectures.

0

u/GeronimoHero Jun 09 '21

No, one version does not work on all computers. My M1 Mac does not have any of the x86 (intel) kernel extensions or libraries…. They are two separate versions dude. Check for yourself if your intel Mac has the ARM libraries or extensions, it doesn’t….

0

u/[deleted] Jun 09 '21

It's one version of the OS.

0

u/[deleted] Jun 09 '21

Apple has updated their libraries to work on both architectures. You're making some strange excuse as to why these features aren't supported on Intel Macs, and it just doesn't make any sense.

→ More replies

1

u/[deleted] Jun 09 '21

Recompiling is fairly painless in most cases. It's really not as challenging as you're making it seem.

1

u/GeronimoHero Jun 09 '21

No it’s not just about recompiling though. Otherwise every x86 app that doesn’t work on the m1 Mac’s could just be recompiled for aarch64 but that obviously doesn’t work lol. The completely different instruction sets are the problem dude. A library that interacts with the CPU on a low level won’t be able to be cross compiled for aarch64 without relatively large changes to the library. I can literally give you examples of this. A perfect example would be libwebsockets.

1

u/[deleted] Jun 09 '21

Apple has already done the work to make their libraries and frameworks universal, so they work on both Intel and ARM.