[HN Gopher] Introduction to Apple Silicon
       ___________________________________________________________________
        
       Introduction to Apple Silicon
        
       Author : arkj
       Score  : 119 points
       Date   : 2022-08-01 19:53 UTC (3 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | macintux wrote:
       | The overview document makes for an interesting read. Definitely
       | worth referencing next time someone on HN or elsewhere claims
       | Apple's trying to lock down their computers to running macOS
       | only.
       | 
       | https://github.com/AsahiLinux/docs/wiki/Introduction-to-Appl...
        
         | dang wrote:
         | Discussed (a bit) here:
         | 
         |  _AsahiLinux 's Introduction to Apple Silicon_ -
         | https://news.ycombinator.com/item?id=30699794 - March 2022 (5
         | comments)
         | 
         | Edit: I think it makes sense for us to change the URL from
         | https://github.com/AsahiLinux/docs/wiki/Apple-Silicon-Subsys...
         | to this.
         | 
         | Lists of other pages tend not to make good HN submissions--as
         | HN itself is already a list of pages, it's too much
         | indirection. It's better to submit the most interesting element
         | of the list. If there's a more interesting page than the
         | overview one, we can change the above URL again.
        
         | Teknoman117 wrote:
         | There is a huge difference between not physically locking
         | people out of running custom software and legitimately being
         | able to claim you support other operating systems. Requiring
         | that a community exist that is willing to spend many years of
         | collective time reverse engineering your products when you
         | could have just released documentation is still a massive
         | middle finger to everyone.
         | 
         | The problem with these 100% vertically integrated stacks is
         | that every hardware release could be completely different and
         | it'll take years to catch up with just that release. In the
         | intervening time more hardware generations were released - It's
         | been 18 months since the M1 release. Asahi doesn't have 3D
         | acceleration, video encode/decode acceleration, or support for
         | many of the things that make Apple Silicon any good (i.e. the
         | fixed function / low power consumption hardware for the
         | majority of user tasks). At this rate it's going to be years
         | before it's "done" and we already have a successor generation
         | of hardware.
         | 
         | I'll leave you with a quote from the Asahi docs
         | 
         | > Development for an undocumented platform is a treadmill of
         | work. Every new feature requires reverse engineering the
         | relevant hardware, writing drivers, testing those drivers, then
         | getting them upstreamed. Even after a driver is upstreamed,
         | maintenance and optimisation is sometimes required, for example
         | if Apple introduce a breaking change to any firmware we are
         | required to interface with. For developers the work is never
         | really done
         | 
         | It's the same reason we don't have third-party images for most
         | Android phones that are anything beyond tweaks of existing
         | Android images.
        
           | iseanstevens wrote:
           | It's been 18 months on an entirely new platform and a small
           | team of (BRILLIANT) people did such a good job discovering
           | and porting to undocumented hardware that it worked on the M2
           | hardware essentially before it started shipping.
           | 
           | I don't think Apple is trying to get in their way.
           | 
           | Also... developing for documented hardware is also an endless
           | treadmill of work as it evolves/new products are released.
           | 
           | It just has much less uncertainty.
           | 
           | I 100% agree it would be awesome if Apple released full
           | documentation. Broadcom too. Probably others.
           | 
           | (All IMHO)
        
             | Teknoman117 wrote:
             | > small team of (BRILLIANT) people
             | 
             | I wasn't trying to take anything away from them at all.
             | It's astounding what they're accomplishing but the fact
             | that it's necessary for this situation to exist at all is
             | what I'm mainly commenting about.
        
             | whoisburbansky wrote:
             | Ah, does not releasing full documentation not count as
             | Apple "trying to get in their way"? Not trying to be
             | snarky, genuinely trying to figure out how folks draw the
             | line, since in my head, keeping documentation private
             | smells like obstructionism.
        
               | soneil wrote:
               | If it's obstructionism it's passively so. They've done
               | nothing to actively obstruct. They've also done nothing
               | to help. When they say they don't support it they're not
               | kidding, they don't just mean capital-S support.
               | 
               | If I had to put as label on their stance, it'd be
               | "chaotic neutral".
        
           | iasay wrote:
           | It's difficult to have an opinion here as I've seen both
           | sides. While compatibility is nice, if you start kicking out
           | reference hardware documentation you instantly open up
           | several additional cans of worms from upstream IP licensing
           | to crappy clone repair parts appearing on the market.
           | 
           | But realistically with Apple you don't know what's going to
           | happen. They could be silent forever. They could suddenly
           | dump a whole pack of documentation out tomorrow. An official
           | position would be nice.
           | 
           | Switching it round though, 99.99% of customers are buying a
           | toaster. I put bread in. It makes toast. I eat toast. Does it
           | make commercial sense to support the 0.01% use case? That's
           | their equivalent model of supporting the iPhone 5's market
           | share for example.
        
           | 2muchcoffeeman wrote:
           | Does Apple have less reason to lock things down now? Being
           | fully vertically integrated, with possibly the best mobile
           | hardware in town, do they care that people will buy their
           | hardware just to run Linux?
           | 
           | Help is good. But getting out of the way sounds like a good
           | consolation prize.
        
         | reaperducer wrote:
         | Important bit:
         | 
         |  _Apple gives users explicit permission to run their own OS in
         | their EULA._
        
           | jaimex2 wrote:
           | Its not like it would matter if they didn't. It's your
           | hardware.
        
             | ChuckNorris89 wrote:
             | Tell that to Nintendo.
        
               | BolexNOLA wrote:
               | It's baffling how outright hostile Nintendo sometimes can
               | be to its most devoted fans. And it's not even new -
               | they've gotten away with it since the moment they stepped
               | into video games.
        
             | est31 wrote:
             | On a technical level, you can't install third party OSs
             | without accepting the EULA first. Whether such acceptance
             | has legal meaning, I don't know, and it probably depends on
             | jurisdiction.
        
               | sgjohnson wrote:
               | > On a technical level, you can't install third party OSs
               | without accepting the EULA first.
               | 
               | You absolutely can (no EULA when booting into recovery
               | partition), and I'm also fairly sure that acceptance
               | would be legally void, as it only applies to the
               | software. The hardware you own, it's not licensed to you.
               | 
               | And thanks to the first sale doctrine, there's nothing
               | stopping someone from starting to sell M1/M2 MacBooks
               | running Asahi commercially.
        
               | owow123 wrote:
               | "On a technical level..."
               | 
               | Sorry, what? Does buying a device from Apple
               | contractually oblige me to turn on the phone and agree to
               | the EULA on "first run"? What about second hand markets?
               | 
               | What if I was smart / tooled up enough to replace the
               | Iphone flash storage with my own OS (without running
               | "first run")?
               | 
               | At what "technical level" would what your saying make any
               | sense? Because it seems far more like a "contractual
               | condition of purchase" (I appear to have made that term
               | up) issue vs a "technical" issue to me.
        
           | userbinator wrote:
           | Indeed, the fact that it even has to do so is the important
           | bit, and reflects the attitude of such companies (and to a
           | certain extent, the government) today.
        
           | amelius wrote:
           | Yeah but they don't provide the documentation to reliably run
           | said OS, so good luck with that.
        
       | gzer0 wrote:
       | How does one even begin to start learning about this subject?
       | This is quite fascinating, I've always wanted to learn about
       | OSes, the underlying mechanisms... all of that. The sheer depth
       | of knowledge and technical-know how is truly incredible. I find
       | it hard to even begin, there's so many resources out there.
        
       | marcodiego wrote:
       | How does it compare in terms of "philosophical freedom" compared
       | to intel IME? Does it need many binary blobs?
        
         | Jtsummers wrote:
         | > This puts them somewhere between x86 PCs and a libre-first
         | system like the Talos II in terms of freedom to replace
         | firmware and boot components; while a number of blobs are
         | required in order to boot the system, none of those have the
         | ability to take over the OS or compromise it post-boot (unlike,
         | say, Intel ME and AMD PSP on recent systems, or the DMA-capable
         | chips on the LPC bus running opaque blobs that exist on even
         | old ThinkPads).
         | 
         | https://github.com/AsahiLinux/docs/wiki/Introduction-to-Appl...
         | - list of firmware blobs
        
         | als0 wrote:
         | Compared to the iME, not much, since at least the secure
         | enclave subsystem won't run any non-Apple code. The scary
         | difference about the iME is that it is directly connected to
         | the network.
        
           | vetinari wrote:
           | Intel ME is _not_ connected to the network. Intel AMT (vPro)
           | is. You have to pay extra to get it, and there are extra
           | conditions to be fulfilled (LAN or Wifi must be Intel).
           | 
           | The difference wrt. Apple Silicon is, that AS firmware blobs
           | run on separate chips and 1) cannot access the main memory
           | freely; they are gated behind IOMMU and 2) there's no SMM
           | equivalent for any of them, so the main CPU time cannot be
           | stolen by firmware.
        
             | dapids wrote:
             | 100% this
        
           | duskwuff wrote:
           | Eh, I'd say the differences go deeper than that. Secure
           | Enclave doesn't appear to have any special access to other
           | resources on the system (like memory), it's initialized by
           | the operating system, not by pre-boot firmware, and the rest
           | of the system works perfectly fine if you leave the SEP
           | uninitialized.
        
         | peawee wrote:
         | Pretty well outlined here:
         | https://github.com/AsahiLinux/docs/wiki/Introduction-to-Appl...
         | 
         | > while a number of blobs are required in order to boot the
         | system, none of those have the ability to take over the OS or
         | compromise it post-boot (unlike, say, Intel ME and AMD PSP on
         | recent systems, or the DMA-capable chips on the LPC bus running
         | opaque blobs that exist on even old ThinkPads).
        
       | iasay wrote:
       | I wonder if anyone at Apple is working on this secretly.
        
         | tasty_freeze wrote:
         | I sure hope not, as it would compromise all the legitimate
         | reverse engineering being done on it.
        
           | uoaei wrote:
           | "Compromise"? "Legitimate"?
        
       | Daishiman wrote:
       | Coming in as an Apple skeptic, I'm fairly impressed in the
       | balance Apple has done between user security and device openness.
       | This definitely sounds like a well designed architecture.
        
       ___________________________________________________________________
       (page generated 2022-08-01 23:00 UTC)