4 ms·
Why would they develop their hardware in Linux?
by 2fast4you 5y ago
Why would they develop their hardware in Linux?
- saagarjha 5y agoApple does bringup with Linux because the silicon team doesn’t necessarily want to deal with getting the Darwin team involved during validation.
- gjsman-1000 5y agoRight - however it’s not as easy as “release the code.” Those Linux versions used for bring-up are typically an unupstreamable mess. They are hardware engineers, not software devs. It’s kind of like Correlium’s M1 port over a year ago. It got Linux on the M1 within weeks of launch but the code was unusably atrocious. Edit: Adding to that, Linux does not have a stable driver interface, and regularly changes between releases. That means that messy sloppy code that is unupstreamable will quickly be unable to move forward to future Linux versions without increasingly herculean efforts. You'll be trapped on an old kernel indefinitely if you follow that path - just like the Android situation. Edit 2: And I'm not exaggerating that Correlium's code was sloppy. Almost none of it ended up in the Asahi Linux project. Also Corellium basically dumped that code for fun and then quickly gave up trying to keep it up to date.
- ask_b123 5y agoWhat's the situation with Android?
- opan 5y agoNew phones on old kernels, usually forever.
- userbinator 5y agoAdding to that, Linux does not have a stable driver interface, and regularly changes between releases. That's unfortunate, but it seems to be a bit of a common theme in open-source to say "you have the source, we don't care if we broke your code, fix it yourself". I suppose that might've been an attempt to discourage closed-source drivers, but... You'll be trapped on an old kernel indefinitely if you follow that path - just like the Android situation. ...that didn't have the desired effect either.
- conradev 5y agoIf the drivers are upstreamed into the mainline kernel then they are updated in kind when the interface changes and Asahi intends to upstream as much as they can
- WhyNotHugo 5y agoOnce things are upstreamed, anybody introducing interface-breaking changes is responsible for updating all the drivers. It’s only a burden if your own fork, or want closed source bits. Neither of these are important goals for upstream.
- 2fast4you 5y agoI would’ve thought the two teams worked very close together and had some skill overlap, so that’s surprising
- saagarjha 5y agoThere’s definitely overlap once the chip is finished and the software teams start writing software for it, but in early development you’re still trying it make sure the hardware isn’t broken so it doesn’t make sense to involve XNU when you can just test with Linux.
- imwillofficial 5y agoIs this assumption or known fact? I’d love to read more
- cartor 5y agohi, i can chime in and say this is a known fact. M1 is not OOTB IBM PC compatible (unlike almost all x86), which means no standard BIOS/UEFI firmware interface for bootloaders like grub etc. internally, there was some significant overhauls to the automated testing and silicon validation/quality control processes during development (well before pandemic) which resulted in a need for this. apple can validate their silicon, but foundries, factories and other third parties are typically not able to (without added cost, implementation, Apple intellectual property, etc), so developing this was cost beneficiary to apple and eases production, and is really just accordance with existing industry standards for CPU manufacturing. i am just surprised this was made public, the motive i do not know, but i hope this helps explain, it's my first comment on this site.
- dagmx 5y agoAsahi Linux isn't an Apple produced product. It's a third party reverse engineered product
- 5y ago
- shp0ngle 5y agohuh is this actually true? Darwin already works on arm, as the iOS is darwin
- ChuckNorris89 5y ago>Why would they develop their hardware in Linux? Because all large scale, big name, commercial HW, CAD and EDA tools are either Windows and/or Linux exclusive. EDA vendors don't even bother with the tiny (non existent?) market share of MacOS in this space when their entire customer base has been exclusively *nix and Windows for several decades now.
- scns 5y agoWhat does EDA stand for?
- ChuckNorris89 5y agohttps://en.wikipedia.org/wiki/Electronic_design_automation https://en.wikipedia.org/wiki/Electronic_design_automation
- _ph_ 5y agoLinux, or some Unix of the old times. Some EDA tools are still available on PowerPC (not sure about the state of Sparc).
- ChuckNorris89 5y agoYeah, before X86 took the performance crown in the '90 most of EDA was done on mainframes or PowerPC workstations running UNIX, including SGI.
- _ph_ 5y agoIn professional environments, x86 really took over only in the mid-2000s, especially with the Opteron. Whether x86 ever took the performance crown is debatable, if you consider the big PowerPCs IBM still sells.