The first conformant M1 GPU driver
rosenzweig.io
rosenzweig.io
Considering the whole schtick of OpenUSD is "one file format that renders consistently everywhere" (paraphrasing), I would be surprised if Apple doesn't use it as a means to cement more 3D software vendors into macOS land. It's really hard to render consistently if the underlying drivers are all wonk and proprietary.
I am curious to see how this plays out. In my mind, there are two options:
1. Apple conforms to the existing standards of OpenGL and Vulkan we see gaining steam for many film and game production pipelines.
2. Apple tries to throw its weight around and force devs to support their Metal standards even more, ultimately hoping to force the world onto Metal + macOS.
My heart hopes for option 1, but my gut tells me Apple is going to push for option 2 with all the might it can muster. In my experience, Apple doesn't like any standards it doesn't control with an iron fist (not really saying much about Apple here though... nVidia, Autodesk, Adobe, and Microsoft are all the same).
The next couple of years are going to be interesting for sure!
I would add some nuance to this statement: "Apple likes open standards when it is weak."
The iMac and early OS X went big on open standards, and Jobs made a point of pointing this out: USB for the iMac, JPEG, MPG, mp3, Postscript etc for OSX. IP/TCP built in. They even paid the danegeld for .rtf.
Then as they clawed their way back from the precipice, they started "adding value" again.
The iphone was an HTML device, loudly repudiating the proprietary (and terrible) Flash much less the crappy, mostly stillborn "mobile HTML" attempts.
You still get H.264, matter/threads, and other standards they don't control, where they don't have market power.
Everyone does. AMD is the same. The market leader focuses on features, the runners up try to take them down with openness. The competition is good for consumers, but the motivation is one of self-interest, not the common good.
Skipping Flash wasn't so much an ideological decision as a practical one.
At the time Steve Jobs listed a ton of reasons that they didn't implement Flash. Listed among them were concerns about it not being an open standard, inferiority to H.264, security and performance issues, etc. However, all of these things could've been ignored or overcome.
The principal problem was that a huge proportion of Flash applications, games, and websites used mouseovers as crucial methods of interactions, and Apple simply had no way to allow users to mouseover an element on a touchscreen.
This is possible in HTML because it's trivial to determine whether or not a :hover changes display or visibility properties of other elements. As you've supposed, Flash did not afford browsers with that sort of ability.
TBF one thing Flash did manage to achieve was the proliferation of web sites and apps that were as hard to use for people without protected disabilities as for people who did have them.
Whether this increased empathy for people with disabilities is an open question
Apple used to ship a dev app called "Spin Control" that would log stack traces whenever an app failed to drain its event queue in a timely manner (i.e. beachball). One time I accidentally left this open for an entire week, went about a bunch of assorted business, and when I came back every single stack trace had to do with flash, and there were many. Either flash in a browser or flash in a browser embedded in something else (ads embedded in 404 pages for broken help pages that were never even displayed, lol). At first I thought it had to be a mistake, a filter I had forgotten about or something, so I triggered a spin in Mail.app by asking it to reindex and sure enough that showed up as the first non-Flash entry in Spin Control.
As hard as it was to believe: Flash had been responsible for every single beachball that week. Yikes.
But Flash also allowed many games to be easily developed and played in the browser. Lots of fun cartoons were made (the Metallica cartoons "fire bad" on Newgrounds come to my mind now).
It's a shame Flash sucked so much on Mac, since the developer behind Flash [0] did create some nice games on the Mac early in his career, namely Airborne! and Dark Castle.
---
https://www.cnet.com/culture/steve-jobs-letter-explaining-ap...
As hard as it was to believe: Flash had been responsible for every single beachball that week. Yikes.
I used OSX and Flash in the late 2000s so I have no problem believing that.Funny how one could and maybe should point the same criticism towards electron.
Even in OS X it was still a bad plugin, one of Snow Leopard's headline features was that plugins were moved to separate processes so that Safari could keep running instead of bringing down the whole browser when a plugin had a problem.
I guess Flash had to die because of how outdated, insecure, and proprietary it was. It did seem like a nightmare to support well on mobile. Just wish someone made something strictly better.
Not sure how ActiveX's sandboxing worked, but I'll bet it was even less than Flash, since it was running actual x86 code.
Turns out nearly every extension had gaping security holes.
> We also know first hand that Flash is the number one reason Macs crash. We have been working with Adobe to fix these problems, but they have persisted for several years now. We don’t want to reduce the reliability and security of our iPhones, iPods and iPads by adding Flash.
Ah, the dev page for these: https://hoyois.github.io/safariextensions/clicktoplugin/
People also don't remember the huge number of CVEs that Flash had: https://www.cvedetails.com/version-list/53/6761/1/Adobe-Flas...
Was it just Flash or low skilled web developers using Flash the wrong way, adding 10 Flash advertisements on a page and so on?
Since Flash was so ubiquitous on the web, this made Macs a lot slower for many tasks than Windows computers. No matter how much Steve Jobs touted the power of the G4, and boasted about the speed of Final Cut, nobody would believe it when their Mac couldn't even run a space invaders clone in IE4 fluently.
Adobe ignored performance on Apple devices for years. There was no way in hell Apple would allow Adobe to do the same to iOS.
There were some 3rd party things that sorta worked a bit, but they were not good either.
Flash was bad on touchscreens for sure, but we’d have seen content adapt eventually anyhow, if it had actually ever worked in the first place.
I'm pretty sure he always knew they'd end up with apps on it, they just didn't pull that together for the first release, thus the HTML song and dance. But if they supported flash, that would reduce a lot of the demand for apps later, and worse - it would be cross platform.
So he used the other (still good) reasons - battery life, security, etc. to obscure the real reason - Apple was not yet ready to compete with it on their own terms, so they banned it.
It's more about control and all the other reasons.
Mousovers is a dead herring. They could still give Flash not to run existing stuff, but new apps, that would take iOS into account.
And legacy flash movies and animations and games that just needed click and not mousovers would still work. To be frank, mouseover interaction weren't really that big in many (most?) Flash games anyway.
Another poster mentioned the hangs - which is very true - and I can say that the desktop Macs I supported had a high 90% of the crash logs show Flash as the culprit, not to mention almost every CPU / battery life issue.
There were some great artists who produced neat work despite it but the only company to blame for Flash’s demise is Adobe. As a thought exercise, ask why Flash on Android consistently sucked – if they were trying to make the case that Apple should reconsider, they could have put at least one intern on making that seem appealing.
This is par for the course for Adobe. The other day I had occasion to try to fill out a PDF form using Acrobat Pro. I made it through about a page (painfully slowly) until I unwisely saved my work. Then I cursed for a bit, tried quitting and reloading, and eventually gave up and started over in PDF.js. Superior in every way.
I remember when a major selling point of Acrobat was that you could save a filled out form, whereas third party apps couldn’t. Apparently doing so still breaks the form, and third party apps have gotten it right for many years now.
Adobe seems to pretty much never care about their platform once they have market share.
Literally never heard back until a year later when they closed the tickets saying it might be fixed in the next release and we should buy licenses to find out (spoiler: no).
I always wondered why that feature didn't continue - I remember it working quite well, but IIRC it only worked in Chrome browser.
Generally speaking you get standards consortiums when there is a clear winner that is mopping up the space.
Here's an example that's happening right now: Nvidia-NvLink-Infiniband.
Nvidia owns the highspeed interconnect inside the chassis (HGX), the NICs (Mellanox), the inter-host interconnect (Infiniband), the high performance inter-host interconnect (switched NvLink), the and the ethernet network (Mellanox has the same 52.1Tbps switch performance that everyone else has now). GPU training is RDMA heavy and this is a place where both NvLink and Infiniband shine, ethernet much less so. Retransmissions are very bad, in global-performance-terms, for ROCEv2 transfers. Right now Nvidia is just crushing it and there's zero chance anyone is going to catch up by introducing new Infiniband ASICs.
So what happens? You have a consortium spun up by all of the companies in the Ethernet space - Ultra Ethernet Consortium - to try and use "standards" to push back on customers who don't want to make big investments in "non-standard." UEC is pretty vague but seems to be promising Broadcom-style cellized fabrics, the whole point of which is to have an ethernet-like standard that avoids ECMP-induced flow collisions and retransmissions - that is, get Ethernet into the same territory as Infiniband.
If you look back in time in the tech industry, you see this over and over and over and over. Standards are great, they make certain kinds of multi-sided markets and markets that need broad participation to be viable possible - but they are also routinely about the losers joining together to compete.
That is the greatness of it. It reminds me of democracy: The less powerful join together to give everyone an equal vote, rather than having one vote per dollar.
I mean, Cornelis Networks is trying with the resurrected OmniPath. I hope they pull it off, but I'm not holding my breath.
HPC cluster builds are complex enough due to the presence of multiple networks (2x moderate-scale infiniband chassis and 2x ethernet chassis as a minimum) without introducing unknown vendors. At that point, if you're doing IB, why not just go Mellanox since you will almost certainly buy 200GE Connectix NICs and not the 100G NICs from these guys.
UEC will - like most standards - _eventually_ work. In the mean time, Nvidia pods are the obvious choice for anyone who really cares about performance, and other vendors (Cisco, Arista) if they don't.
Modern HPC mostly means GPU compute and tons of data shuffling, but point taken. CPU bound jobs aren't going to stress the i/o, so you probably could have done 100GE for less. I'm curious what you did for storage but I'm guessing with CPU-bound that is again much less of an issue.
One of my greatest joys learning to program is reading old (well written) code, and piecing apart the timeless from the legacy.
Freesync wasn’t really market-ready until at least 2015 and the early products were mostly junk, it’s not until the gsync compatible program that any vendors really cared about LFC or flickering issues.
You are saying it like it is something bad. Competition is good for consumers, and I cheer any means to spin up, sustain and heat competition.
Then as they clawed their way back from the precipice,
they started "adding value" again.
I don't know if I can agree. On the software side, MacOS supports all those things. On the hardware side, it's still (edit: almost) nothing but industry-standard ports.On the hardware side I'm delighted by Apple's USB C/TB push (and Apple contributed a lot to those standards, esp based on what they had learned with Lightning) but note they revived the proprietary "magsafe" connecter on recent laptops (though you can still use USB C PD). Apparently enough customers wanted it.
And as others have pointed out, Apple is hardly alone in this
Magsafe is genuinely a nice innovation that users missed. It solves the cord yank problem. But I do like having the option to use USB-C if I don't have the MagSafe cable.
I'm careful with my stuff though.
Pocket lint -> pushed in USB cable -> after some years the connector wont connect anymore
Actually I just realized I put it in my pocket top-end down. So the usb socket is facing the sky. I suppose that might keep the usb socket further from pocket lint.
At least on many iPhone versions, if anything damages one of the delicate lead springs inside the port, Apple service will tell you to replace the entire phone.
This magnetic thing saved my macbook from numerous falls when people tripped on the power cord.
It was ubiquitous, worked across the whole lineup and for several generations. It is hard to forget that until usb-c, it was commonplace for a manufacturer to have a wide range of power adapters, of varying voltage, power, connector, etc. Apple do their own shit, but they do it consistently.
For another example, Apple Notes was actually just mail messages stored in IMAP, until they decided to deprecate that in favor of another iCloud-backed black box in order to add more features.
Emails as notes sounds pretty clever though.
Compare this with Gmail for example, which has a crummy IMAP implementation, and though the Gmail mobile app supports adding non-Google IMAP accounts, it clearly prioritizes being a Gmail client.
I have one of these devices and frankly I have no idea what I expect it to be doing.
> [...]
> Then as they clawed their way back from the precipice, they started "adding value" again.
Just four words: embrace, extend, and extinguish
> https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...
I still believe rendering would work better for the industry as a whole if they could agree to all support, say, Vulkan.
I doubt it'll ever happen, but a consistent graphics driver/API standard across operating systems would be pretty rad.
I could be wrong but It seems it's technically possible to use it outside the web, but the ecosystem looks halfbaked
Also, keep in mind that WebGPU only been around since 2021, and wasn't actually enabled in Chrome until this (2023) spring, so it's relatively new tech, not surprising that the ecosystem still feels halfbaked.
Apple supports a number of open standards. I think I’d modify your statement to say Apple doesn’t want to depend on any standards it doesn’t control. And while that may appear nefarious, I get Apple’s implied position there. They have really tight coupling between hardware and software in order to deliver on the UX that they intend (whether or not you like all or some of it). If they’re designing their own software and hardware, I can see why they’d also want to implement standards that they can control to some degree - otherwise their UX is dependent on others. This is also why I think Apple sometimes implements new industry standards, USB-C being one example - if no one else has made an effort yet, they can influence the direction by being first movers.
In my experience, Apple doesn't like any standards it
doesn't control with an iron fist
I mean, on one hand, the Metal/Vulkan/OpenGL situation is unfortunate and I don't understand Apple's motivation there.On the other hand I'm sitting here typing on a Mac with nothing but USB-C ports that is connected to half a dozen peripherals and a big ol' monitor over those standard ports using standard protocols.
In general I feel that Apple prefers open standards when they actually suffice. USB2 couldn't do a lot of the things that Lightning did, so they invented that. Now that USB-C exists, they embraced it immediately on the Mac and iPad but are unfortunately dragging their feet w.r.t. the iPhone.
OpenGL is a dead end - while vendors (including Apple) still support their respective GL stacks, there is not really active investment anymore either in those stacks or in the standards.
Metal came out years before Vulkan, and Apple has tight integration between the graphics API and their underlying first-party graphics hardware designs. If Apple did have first party support for Vulkan, it would basically be MoltenVK anyway. Apple tends to push anything which isn't a first party framework to be third-party sourced and bundled as much as they can. They likely think MoltenVK as a third party library is the best scenario for Vulkan support.
My understanding is still that Metal was released on iOS months before AMD's Mantle API was accepted as the start of Vulkan work.
cool, now try two monitors https://www.kensington.com/en-au/news-index---blogs--press-c...
My personal Mini M1 can't handle two DP over USB-C displays but can handle one DP over USB-C + one USB-C to HDMI. I also wish the two USB-A ports were USB-C as well.
4K60 monitor? cool, it gets DP1.2. So MST means dropping to 1440p or 1080p resolution (splitting DP1.2 across two monitors).
crappy dell office monitor? it gets DP1.1, so MST means dropping to 720p or 540p.
absolutely no company in their right mind is going to haul off and put a DP1.4 in a bottom-shelf monitor or whatever, such that MST actually had extra resolution to play with. So the only places it matters are (a) stocktrader type people who want 8 monitors and don't care about visual quality/running non-native resolution, and (b) office situations and other places where the ability to run a single cable is more important than visual quality.
so de-facto nobody has ever cared about MST, and docks fill this use-case much better. Thunderbolt/USB4 doesn't care about what monitor controller board is behind it. It just cares that you have one DP1.4 stream and the dock can allocate that into as many physical ports as the dock physically allows. Have the bandwidth but need more ports? Cool, just daisychain more docks/adapters.
(and this does work on m1 pro/max btw - this guy for example did eventually find a dock that worked for him.)
https://www.derekseaman.com/2021/11/my-journey-for-dual-disp...
--
the big gotcha with M1 is really that the base M1 is actually a crossover chip between high-performance tablet/ultraportable laptop and so Apple doesn't want to waste the space for multiple PHYs that won't be used. So it gets 1x HDMI PHY (normally used for the internal screen, on tablets/laptops) and 1x DP PHY for an external monitor. The Pro/Max support 2 and 3 external displays respectively.
I do agree this is a major limitation on the "just buy macbook air" approach, although you can use displaylink (video compression+USB+active adapter) or use an ultrawide monitor (it's a fast connection, you just only get 1 of them). In particular the 15" MBA really needed a "Pro" CPU option like the Mac Mini family, because that's actually a very nice ultrabook other than the single display, and I absolutely think the chassis is big enough to handle it for normal "interactive" use-cases (not bulk video processing/etc).
And of course the 13" MBP doesn't get one either but lol fuck that thing anyway, let the touch bar/old-style chassis die already please
I don't think it's hard to understand. Apple wanted an easy to use API that could be extended and updated easily. Vulkan is an extremely complex API that foregoes all and any developer ergonomy to facilitate quick driver development on as many hardware targets as possible. Consequently, Vulkan's design choices are driven by the least common denominator. The goals are just too different.
There is at least some evidence that Apple was interested in supporting and shaping Vulkan (they were member of the initial working group), but I suspect that it very quickly became clear that the committee is going into a direction they were not interested in, so they noted out.
Still, I don't think it's correct that Apple is opposing any kind of standardisation in this domain, they just want something more aligned with their vision. They have been very active with WebGPU, which is shaping up to be a very nice API, and it has inherited a lot of good design decisions from Metal.
WebGPU specifically has to be the lowest common denominator among the APIs it supports. And there are several features very useful in GPGPU's which are supported in Vulkan and CUDA, but cannot be included in WebGPU due to the lack of Metal support. One such example is floating point atomics.
Regarding floating point atomics, I think you got it confused? Metal fully supports floating atomics on all recent devices, while in Vulkan it’s an optional extension. According to gpuinfo database only 30% of implementations support float atomics, and only 10% support more advanced operations like min/max. If you are looking for cross-platform float atomics support, Apple is the least of your worries (what they suck at are 64-bit int atomics though).
Source: https://www.youtube.com/watch?v=Z2VBKerS63A
They even did a big demo shot showing the same frame being rendered in multiple different editors all creating the same consistent result and matching. All of it was said to be due to OpenUSD standardizing how a scene is defined, animated, and rendered.
Probably just a bunch of marketing buzz though.
Read what gamedevs have to say about this, Metal is more appreciated than Vulkan
> 2. Apple tries to throw its weight around and force devs to support their Metal standards even more, ultimately hoping to force the world onto Metal + macOS.
Apple was part of the Vulkan working group, knowing what gamedevs prefer, it now make sense why they parted away and created Metal instead
In retrospect I can only show compassion to Apple, they made the right choice
On the topic of control, Metal has precise control over display intervals and presentation timing (I think Vulkan recently introduced something similar, not sure).
There is the VK_GOOGLE_display_timing extension that provides functionality similar to Metal, but it doesn't seem like it's well supported on desktop. The equivalent official extension seems to be stuck in limbo somewhere.
Note that mailbox approach does not really give you unlimited refresh rate, as you are bound by the number of drawables/swapchain images your driver can supply. If your drawing is very fast these resources become the bottleneck. If you truly need unlimited framerate (e.g. for benchmarking) the best approach is probably to render to a texture and then blit the last one to a drawable for presentation. And if your goal is "minimal input lag", then you might as well do it right and decouple your simulation and rendering threads.
That's my sentiment as well
I agree there are likely a lot of game devs who like Metal, but it would appear there are a lot of heavy hitters backing Vulkan.
As well, in film, many render engines prefer Vulkan due to the flexibility to write complicated compute shaders with complex command buffers. I experienced this first hand working with VFX studios in my day job.
I think the story is mixed, there is a big interest in Vulkan still.
You mean like SCSI, FireWire, USB-A, USB-C, USB 3.x, Bluetooth, Qi charging, H264, AAC?
None of them even remember connecting it to a computer past the iPhone 5S.
It’s much more useful on the iPad where you might actually use it as some kind of video editing device and plug an external monitor and ssd in.
...if your computer runs MacOS.
I was surprised to see how unnecessarily annoying it is to transfer videos and photos from an iPhone to a Windows PC.
It’s the kind of thing you don’t really do if you follow the apple flow though. You’d either stream the video from whatever service, or you sync it with apple photos and it will be available on your phone.
Apple officially recommends to install iCloud on the PC and download the files from there, but they didn't let me disable the upload of the files on my PC, so I uninstalled iCloud again.
Then the recommendation was to just download it from iCloud Web. Which I did. But for some reason iCloud downloads default to a lower resolution (720p video in my case) instead of the full resolution. To do this I had to click on a small button, which then gave me the option to download my own files in full res.
Of course I only noticed that I'd downloaded a lower res after editing a video for 5 hours. All in all, an extremely subpar experience. Every Android phone ever can just transfer files over cable to any PC, for some reason just iPhones have to be complicated...
The USB 2 thing is probably like the Raspberry Pi 4: the SoC only supports 2.0. Older iPads and the Pi4 have a full USB 3.0 controller external to the SoC. Apple likes to re-use the previous year's SoC and no point doing USB 3.0 before. I could see the pro models doing 3.0 since it'll probably be a new SoC
That would be interesting, but like you alluded to it would likely require out-of-SoC tech for the existing A-series chips.
Other than one exception, the A-series SoCs have not shipped with USB 3.x or USB4 support. The 10th gen iPad uses an A-series chip, so it is pretty close to being a "lightning to USB dongle" inside the case.
So it isn't a software or manufacturing nerf - the part does not support USB 3.
FireWire was developed by Apple and some other companies, as a competitor to USB, and lost out to USB.
Apple had their own video container and codec formats in quicktime, and those also lost out to others.
They definitely prefer to roll their own, they just don't always succeed in gaining enough market adoption (in the past) or they're told to stop pushing it to the detriment to their users (as recently with USB-c).
Apple was part of the patent pool for FireWire and is also part of the patent pool for USB C and was early to be onboard with Thunderbolt along with Intel.
Apple went all in on USB with the iMac in 1997 well before PCs were completely onboard.
> Apple had their own video container and codev formats in quicktime, and those also lost out to others
Apple’s QuickTime container is part of the standard
https://wiki.videolan.org/QuickTime_container/#:~:text=The%2....
And Apple is in the patent pool for H.264
Apple is listed first as the designer, then second the IEEE1394 working group. Indeed, there's some indication that Apple's development started in the 80's and it wasn't until later it was presented as a standard.[1] Funnily enough, they wanted it to replace SCSI, another technology you noted as a counter to Apple not liking standards they don't control.
> is also part of the patent pool for USB C
Being part of a patent pool doesn't really mean anything to me, given how companies use patents strategically and trade them. Do you have details on what patents may be shared? (I ask because I looked and it wasn't obvious from some light googling on my part).
> and was early to be onboard with Thunderbolt along with Intel.
They weren't early to onboard, they developed it with Intel (even if Intel held most of the patents and may have done the lion's share of the work, I'm not sure on that point).[2]
> Apple went all in on USB with the iMac in 1997 well before PCs were completely onboard.
Being able to control the hardware completely allows they to make shifts like that, because there was no one "PC" to be completely onboard. That said, they make moves away from it where they could for protocols they had some level of control and or steering of (FireWire, Thunderbolt, etc).
> Apple’s QuickTime container is part of the standard
Apple's QTFF was donated to be the container for MP4, but for a decade or more prior to that it was proprietary (but may have been open to implementation by third parties, I'm not sure). The main problem was that Apple licensed and defaulted to using Sorenson video codecs in their Quicktime framework and shipped it along with their video players, locking down the playing of the format to people willing to purchase the Sorenson codec individually or to those that used their player.
I admit this one is less about using a standard of their own and more just an early example of the platform control and lock-in they're known for now.
> And Apple is in the patent pool for H.264
Again, being in a patent pool for a large company doesn't by itself signal anything to me, given how strategically large orgs use patents. I would need some more info to view this one way or another.
Should Apple have used the PS/2 connector instead?
> That said, they make moves away from it where they could for protocols they had some level of control and or steering of (FireWire, Thunderbolt, etc).
What were they going to use instead of FireWire? USB 1 was painfully slow. Again what other “standard” should they have used?
There was never a Mac that didn’t have USB after the iMac.
You can go back even further Nubus was licensed from Texas Instruments (used in the Mac II in 1987) and they moved to PCI with the second generation PowerMacs in 1996 (?)
My complaint? I'm just calling into question your counterpoint exampkes supplied when someone stated that Apple only likes standards they control. Whether it's warranted or they have good reason to in some cases is somewhat besides the point, they have a long history of developing their own standards, sonetimes because they are addressing a problem that isn't solved by another technology, and sometimes just because they would rather have something they control whether the market segmentation and user confusion it causes is best for the customer or not.
"PCs" were using either parallel or serial ports, in addition to the PS/2 ports for mice and keyboards. None of them were proprietary or if they were, they were widely used so basically standard. USB ports were added easily as expansion cards on those PCs (TBH I don't recall if it was the case already in 1997, don't remember owning any USB peripheral back then)
You know the MP4 standard is based on Quicktime, right?
> MPEG-4 Part 14 is an instance of the more general ISO/IEC 14496-12:2004 which is directly based upon the QuickTime File Format which was published in 2001.
Firewire existed for years before USB: it was designed in the late 80's, roughly 10 years before USB. Development was mostly Apple and Sony, but numerous others were involved in the IEEE-hosted process.
As USB became more capable (Firewire vs USB1 was no contest), it gradually began to replace it. But ultimately, Thunderbolt was its real replacement.
And demonstrably so - “downgrading” to DSC 1.2 actually improves those other users refresh rates and HDR support.
This is still “broken” as of Ventura.
In terms of supporting games or steam and such, I think the reality is that a large segment of games now use engines that handle the API stuff for you, and if you do have the resources/time/inclination to write directly to the API, you're probably ok with MoltenVK as long as you're not doing anything too cutting edge.
Seriously though, while I've written OpenGL most of my life to be cross platform and support the most I can, it's an absolutely TERRIBLE api. Global state everywhere, tons of functions you can-but-shouldn't-use, all sorts of traps everywhere, monsterous header files for extensions, incredibly hard to debug. Vulkan is verbose but in a lot of ways it's actually easier, even if it's advertised as being the more hardcore way to do things.
I'd say it's totally orthogonal matter (having a standard 3D scene format, and what graphics api will render it), and Apple's participation on that will be minimal anyway.
>I would be surprised if Apple doesn't use it as a means to cement more 3D software vendors into macOS land. It's really hard to render consistently if the underlying drivers are all wonk and proprietary.
There's an easy fix though Apple can suggest: just use the official macOS engine.
Why would the even opt for (1)? To burden themselves with supporting different 3D engines? They already support and maintain their own.
what about MacOS being a Unix?
I'd suggest a deeper diagnosis is that Apple doesn't like standards incapable of showing off or leveraging custom hardware prowess, which is a key competitive advantage.
I wouldn't want the file format dictated by the graphics API, but I would like consistent rendering output in multiple places for the same file. That'd be cool.
In case you're wondering where this "conformance" idea came from, check nVidia's 2023 Siggraph talk. Jensen will buzz word OpenUSD and conformity across products until your ears bleed.
Siggraph 2023 nVidia: https://www.youtube.com/watch?v=Z2VBKerS63A
(in case it wasn't obvious, I am skeptical this will ever really happen, I imagine this is all marketing speak)
Current Metal is essentially a more streamlined and user-friendly DX12 Ultimate, plus a mix of some console-like functionality and Apple-specific features, plus Nvidia Optix, plus a subset of CUDA features (such as cooperative matrix multiplication). Plus they have a very nice shading language and some neat tools to generate and specialise shaders. I expect them to continue gaining feature parity with CUDA going forward (things like shared virtual memory might need new hardware). They simply can't offer such comprehensive feature set in a reasonable fashion if they went with Vulkan, even if we let the issue of usability aside for a moment (and we really shouldn't, as Vulkan is horrible to use).
I can tell you have strong opinions on Vulkan. I don't disagree with your general view that it's hard to work with development wise as it's very tied down to driver and hardware implementation specifics.
What I can say though, is that I've met several pipeline rendering engineers (think folks who invent render engines for film and write low level game engine code) who seem to love Vulkan. They appreciate being able to really get down to the bare metal of the drivers and eek out the performance and conformity they need for the rest of the game or render engine.
A lot of the frustration with OpenGL/DirectX from these specialists was their inability to "get in there" and force the GPU to do what they really wanted. Vulkan apparently gives them a lot more control. As a result, they are able to accomplish things that were previously impossible.
All that being said, I think WebGPU will be far more popular for 99% of developers. Only a very few folks like getting down into the nitty-gritty of libraries like Vulkan. At the same time, there is huge money to be made knowing how to make a game eek out another 10 FPS or properly render a complex scene for a film group like Pixar who wants to save days on a scene render.
WebGPU is pretty much a combined Google/Apple effort (of course, with other contributors). If I remember correctly it was Apple engineers who proposed the name "WebGPU" in the first place.
> I can tell you have strong opinions on Vulkan
I really do, and I know that my rhetorics can appear somewhat volatile. It's just that I find this entire situation very frustrating. I was deeply invested in the OpenGL community back in the day and decades of watching the committees failing at stuff made me a bit bitter when it comes to this topic. We had a great proposal to revitalise open platform graphics back in 2007(!!!) with OpenGL Longs Peak, but the Khronos Group successfully botched it (we will probably never know why but my suspicion having conversed with multiple people involved into the process is that Nvidia was fearing to lose their competitive advantage if the API were simplified). Then we saw similar things happening to OpenCL (a standard Apple has developed and donated to Khronos btw.).
I am not surprised that Apple engineers (who are very passionate about GPUs) don't want anything to do with Khronos anymore after all this.
> What I can say though, is that I've met several pipeline rendering engineers (think folks who invent render engines for film and write low level game engine code) who seem to love Vulkan. They appreciate being able to really get down to the bare metal of the drivers and eke out the performance and conformity they need for the rest of the game or render engine.
But of course they are. OpenGL was a disaster, and it's incredibly frustrating to program a system without having a way to know whether you will be hitting a fast path or a slow path. We bitterly needed a lower level GPU API. It's just that one can design a low level API in a different ways. Metal gives you basically the same level of control as Vulkan, but you also have an option of uploading a texture with a single function call and have it's lifetime managed by the driver, while in Vulkan you need to write three pages of code that creates a dozen of objects and manually moves data from one heap to another. I mean, even C gives you malloc().
Vulkan gives me an impression that it was designed by a group of elite game engine hackers as an exercise to abstract as much hardware as possible. Let's take for example the new VK_EXT_descriptor_buffer extension. This allows you to put resource descriptors into regular memory buffers, which makes the binding system much more flexible. But the size of descriptors can be different on different platforms, which means you have to do dynamic size and offset calculation to populate these buffers. This really discourages one from using more complex buffer layouts. They could have fixed the descriptor size to say, 16 bytes, and massively simplified the entire thing while still supporting 99% of hardware out there. Yes, it would waste some space (like few MB for a buffer with one million resource attachment points), and it won't be able to support some mobile GPUs where a data pointer seems to require 64 bytes (64 bytes for a pointer!!! really? You make an API extremely complicated just because of some niche Qualcomm GPU?) And the best part: most hardware out there does not support standalone descriptors at all, these descriptors are just integer indices into some hidden resource table that is managed by the driver anyway (AMD is the only exception I am aware of).
In the meantime, structured memory buffers have been the primary way to do resource binding in Metal for years, and all resources are represented as 64bit pointers. Setting up a complex binding graph is as simple as defining a C struct and setting its fields. Best part: the struct definition is shared between your CPU code and the GPU shader code, with GPU shaders fully supporting pointer arithmetics and all the goodies. Minimal boilerplate, maximal functionality, you can focus on developing the actual functionality of your application instead of playing cumbersome and error-prone data ping pong. Why Vulkan couldn't pursue a similar approaches beyond me (ah right, I remember, because of Qualcomm GPUs that absolutely need their 64-byte pointers).
The thing is, this all works for a middleware developer, because these are usually very skilled people who already have to deal with a lot of abstractions, so throwing some API weirdness in the mix can be ok. But it essentially removes access from the end developer (who is passionate but probably less skilled in low-level C), making large middlewares the only way to access the GPU for most. This is just a breeding ground for mediocrity.
Not saying that's the case here; just that "amazing programming" doesn't necessarily mean "Apple wants to employ them".
Also, isn't she a high schooler/freshman? There's always internships but it's best to do other things before grinding those out.
And this is kind of a valuable skill, considering how many coders don't understand their codebase even with docs.
It's not a negative of course.
Ask Mark Russinovich, now Azure CTO
I agree, her kind of people will find the money and better work without corprate bureocracy.
Most of these types cut their teeth in their younger days - doesn't really mater if it is sports, musical instruments, art, coding, or whatever. If you spend 6-12 hours a day doing something, seven days a week, from you're 10 years old - you'll be pretty damn fantastic by the time you're college aged.
A lot of people diversify, which is good for the mind, but bad if you have to compete for success.
Other people choose very unforgiving fields: want to live a life playing the guitar? Tough luck.
Some other people realize they don't like a hobby or job past some point, but turning over decades of skill to start a new path places them in a huge disadvantage.
It's not a person's fault to not choose the right career path when they're naturally too young to foresee their future in the field.
I personally feel pretty lucky to have chosen computers and technology for my vocation. If, for any chance in life, were to choose anything different when I was 12, then my life would have been entierly different.
Don't measure yourself against others, it's a recipe for stress. Instead, understand your core values and measure yourself by how you live up to them.
If we could put a number on kindness, we could make a better economy.
Anyone with a talent, should rather seek to incorporate and sell their services at fair price.
Unfortunately in some countries, big corporations managed to lobby governments to put a stop to that.
Certainly you can hire people to do those functions, but you need to have a decently well-established reputation and enough work and income before you're able to hire those people.
Employment does give you a trade off there: less money in exchange for someone else handling the "overhead".
I think it’s the opposite - developers are overvalued.
We all know that their engineers are paid well, but that's still potentially more than an order of magnitude off of the value they generate. Of course, there are many other expenses to running their business, but to claim that broadly developers are overvalued when one of the most prolific employers of developers is generating 10x+ the revenue of what they spend on them, is likely no more than only occasionally correct.
Apple themselves are not conformant to OpenGL® ES 3.1.
So this is literally the first conformant OpenGL ES 3.1 drivers for M-Series, for any operating system (Apple or Non-Apple).
Hence why the call to action to donate to the team.
I'd be very surprised if anyone was interested in doing all that work given the security limitations and ability to just use Linux.
Edit: I forgot Metal is actually a userspace driver, you don't need to mess with the kernel side... though I can't remember if you still need to lower security to poke the right areas.
I'm also quite certain the proprietary NVIDIA driver shares a ton of code between Windows and Linux.
From https://asahilinux.org/2022/11/tales-of-the-m1-gpu/
> But wait, how can she work on the user space driver without a kernel driver to go with it? Easy, she did it on macOS! Alyssa reverse engineered the macOS GPU driver UAPI enough to allocate memory and submit her own commands to the GPU, and this way she could work on the user space part without having to worry about the kernel bit. That’s super cool! She started writing an M1 GPU OpenGL driver for Mesa, the Linux userspace graphics stack, and just a few months later she was already passing 75% of the OpenGL ES 2 conformance tests, all on macOS!
So yes, donating to Marcan helps driver development too.
Many people, especially in the LGBTQ+ community, hate being featured on here. Some have asked the admin not to be linked but the HN doesn't blacklist websites.
There's a flood of negativity from the tech bros every time something makes it to the HN front page, both here but also on HN link aggregators. This is especially true for the people whose talents bring them to the HN front page every month or so, receiving the same flack and abuse every time.
Last time someone tried to block HN abuse by checking the referer header and redirecting visitors away, HN altered the link HTML to not send the referer header rather than listen to their wishes. First for a specific post, then for all posts. That's a pretty clear sign to me that the HN admins care more about their links and the fake internet points generated by discussions than about the people and projects being discussed.
If the admins are actively working against your wishes, why would you want to tolerate that platform?
On that end, I can't find any fault on HN's end enabling their 99.99% of their interested readers who didn't do any wrong to be included in the discourse around these ideas, on the free and open web.
Not really more ironic than almost every non-trivial societal discussion, à la "if you want peace prepare for war". Anything non-trivial is multifaceted, and anybody who has an absolute opinion is probably missing most of the argument.
Very quickly for this specific case: one can easily argue that excluding people is hardly inclusive, but one can also easily argue that a niche community with its own subculture _needs_ some sheltering from the rest of the world, or the subculture gets lost very quickly (so the sheltering is good for diversity in that it preserves the existence of the subculture).
(I'm not pretending to present a fully-fledged argument here, just a taster to challenge absolute opinions, entire books could be written on this and probably have)
(OK, there’s also the argument that HN will engage with people whose opinions the usual Asahi folks consider reprehensible—even if not necessarily often—and should thereby be treated as equally reprehensible unless they kick them out[2]. But, I don’t know. I’m a couple decades too young to have seen organized ostracism at the meetings of the Komsomol, but still, the only reaction I have when these kinds of social-isolation penalties are proposed is base animalistic terror. This includes people a decade younger in my own social circles proposing it, which is not even rare.)
[1] https://slatestarcodex.com/2016/04/04/the-ideology-is-not-th...
[2] “Parable of the Nazi bar“, etc.
This becomes very obvious to anyone who has to debug now-deprecated OpenGL apps in macOS, because the abstraction layers do not actually expose OpenGL state in ways that old Apple OpenGL debuggers can read. Which means unless you still have old Macs, with old versions of macOS installed where OpenGL is not Metal under the hood (I can't even remember the last version where that was true) then it's literally not possible to debug OpenGL on macOS anymore using stock debuggers.
Your debugger and or app will just crash.
That said eiln wrote an ANE (Apple Neural Engine) driver which enables using the dedicated hardware for this instead of the GPU. It is set to be merged into linux-asahi in the future.
SYCL is Khronos Group's vendor-neutral, high-level programming framework. Application support is limited, but hopefully with Intel's backing, the situation would gradually improve. Meanwhile, Vulkan Compute sidesteps the entire headache with compute shaders. But I'm not familiar with it in terms of application support.
SYCL can be implemented on top of OpenCL and OpenCL's SPIR-V extension. It soon turned out that this route is unfeasible due to prevalent vendor lock-in that's not going to change anytime soon, so it has largely been abandoned by everyone else but Intel and Mesa. Right now SYCL is usually implemented by backends to GPU vendor's respective APIs, like ROCm, HIP or CUDA. Doing the same for Metal would be very challenging.
Mesa already has experimental support of OpenCL w/ SPIR-V on Intel and AMDGPU, so theoretically it can be extended to Apple Silicon. Difficulty of implementing OpenCL's SPIR-V extension should be comparable with Vulkan compute shader (which also uses SPIR-V). However, currently OpenCL on Apple Silicon is entirely unsupported. The last time I checked, it's on the roadmap.
For any low level performance programming you need to code to the specific microarchitecture, so the pros of a single programming language/library are limited (you're not getting any code reuse that isn't available in the top level non-hardware C code anyway) and often outweighed by the ability to take advantage of the vendor's dedicated extensions provided by their preferred programming mechanism.
This issue was well modeled by OpenCL, which never really caught on for programming Nvidia GPUs for this reason.
While I'm glad they did this, and it's a crazy fucking accomplishment, it's not really a beating. It's just Apple doesn't care. They were never in the race to begin with.
Love the euphemism. This puts Apple to shame, plain and simple. They obviously don't care about standards, or compliance, because they like people to be walled in their own little private garden (still waiting for the facetime standard, or any kind of cross-platform technology created in the past 10 years).
If i weren't an iOS dev, i would have ran away from the apple ecosystem a long time ago. I love their hardware, and loved the brand back in the 80s and 90s when apple was about creativity, putting humans first before machine, etc. But what this company has become is just a corrupted mess of greed behind a curtain of politically correct marketing videos.
But even in the general case, college does not directly prepare you for your profession (nor is it meant to) and you are expected to learn on the job. And if what you say is true that you are not learning while working there would be no reason for companies to seek employees with experience.
There are a billion obvious signals compared to the people who clock in at 8 AM, sign out at 5 PM, and argue with your teammates about problems that entire swaths of engineers consider rudimentary: understanding how to write patches in readable ways, not screwing up git logs, not submitting PRs 10k SLOC long with no explanation as to how the automated output was created for replication and verification.
There are obvious clowns in the industry, and people who really love doing this stuff, and you can figure out who they are in a 5 minute conversation.
It really insults people when you tell them this, because yes, there are absolutely people that work harder and longer than you because they want to and enjoy it--they don't just go home and watch Netflix.
You seem to be confusing volume of work and passion for skill. Some of the best engineers i know will are very diligent about work life balance (i guess you call that clock in/sign out), do not have publicly visible git hub because in their spare time they are either with their families/communities or enjoying other non tech related hobbies.
A good programmer (from an employer perspective) is first and foremost a professional, passion and loving doing stuff is good but can only get so so far. I know a lot of the passionate programmer who basically suck.
> There are obvious clowns in the industry
Agree, and the worst seem to be the one thinking they have this magical/predictive ability to discern talent based on their limited life experience.
Saying the inverse is true is highly unlikely over large populations of individuals across any field, not just software development.
You're telling me that you think musicians who are "very diligent" and practice less can be "some of the best" you'll ever have exposure to compared to those who are working in music all the time, just because they like it?
It's a delusional concept. If you want to be good at anything in life, you will end up spending more time than other cohorts in any given discipline. But for some reason in tech, people like to believe that's not true because "work life balance."
Did it ever dawn on you that some people just like to write all the time? Or produce music all the time? Or paint? Or sing? Or act?
"Very diligent" people doing less than "very diligent" people doing more will generally always have less experience and skill.
There's nothing meaningful to argue here. Some people delude themselves into thinking it's sacrifice and that some people have to give up "work life balance":
The reality is that there are populations of people across all sorts of discipline where giving up more time doing X, Y or Z isn't sacrifice, it's because people genuinely enjoy doing more than others, spending time becoming better than others, and producing more:
And yet, that scares people, and people like to deny that it's true instead of acknowledging their own mediocrity.
You're assuming skill rises meaningfully with just volume of experience. Who's a more skilled driver? The plumber that drives his van around to jobs all day and does about 1K miles/month or the guy that mostly rides his bike except for weekends when he's taking a defensive drivers course or going to a track day?
I'd bet $$$ that the plumber spends a lot of time checked out / in zombie mode on the freeway between jobs and the motor-sports enthusiast is hyper diligent when driving.
> Saying the inverse is true is highly unlikely over large populations of individuals across any field, not just software development.
Perhaps, but this is - again - because you're missing the point; meaningful advancement in skill comes from experience gained while attempting something an individual is new to/uncertain/uncomfortable with and not the same thing that the individual has done a thousand times before.
> You're telling me that you think musicians who are "very diligent" and practice less can be "some of the best" you'll ever have exposure to compared to those who are working in music all the time, just because they like it?
Yes. A simple counterfactual: not all musicians that practice 18 hours a day become successful. There's a lot of work in being the best, absolutely. But some people have some fantastic genetics/general-upbringing/predisposition to leverage. Same thing with sports. There are comedians that you've never heard of that spend more time writing jokes than world-famous comedians do.
> Did it ever dawn on you that some people just like to write all the time? Or produce music all the time? Or paint? Or sing? Or act?
Absolutely, but the people that do $thing all the time _and get better at it_ are the people that are constantly looking to $difficulty++ on $thing. I love reading and I'm always getting better at it because I don't stick with the same language/length/difficulty level all the time :).
> People who do more will, by definition, have more experience than those who do less.
Disagree. The quality of work, and the intensity is as important as the length of work. 100hr of focused work is better than 1000hr of distracted, unfocused work.
It also depends on the type of work, i would argue that someone who does 50hr of Haskell and 50hr of c++ has more experience than someone who does 150hr of just c++;
It also depends on the type of experience, sure maybe ( a strong maybe) your lone 1000 github star can produce more code, but being a professional programmer is more than just producing code. Communication, planning and general don't be a doucheness are also important. A parent who is doing 8-5, and spend the rest of the time managing a family would score higher on those metric.
> The engineers who spend their time reading and working on problems because they want to, creating larger volumes of work than those who only work an 8-to-5 job will generally always have a larger breadth and depth of experience.
Same remark here, depends on the focus and intensity of work. It's a well documented things that after 40hr a week, the quality of work and focus tends to degrade.
But even more important, you are assuming that the time the "8-5 people" spend not working on computer related things somehow also doesn't count as experience, and can not somehow synergisticly enhanced one professional work.
At the base level, you have the foundation health related thingy like good diet, proper rest etc...etc.. which does take time. But also well know thingies like ideas poping in when one get some distance to a given task.
More important, cultivating other interest and stretch one's minds and have some interesting effect.
> Saying the inverse is true is highly unlikely over large populations of individuals across any field, not just software development.
Strawman, not really gonna touch this.
> You're telling me that you think musicians who are "very diligent" and practice less can be "some of the best" you'll ever have exposure to compared to those who are working in music all the time, just because they like it?
This is still a strawman. But at least it's more interesting.
To answer the question : Yes... its called talent,training quality and genetic predispositions.
If long hours of work was the only thing required, the profession of coach wouldn't exits. In sport, most of the top player are very motivated people, with ungodly work ethics and drive... They still invest in personal coaching because just "doing" is not enough, doing the right thing and the right way is also very important.
> It's a delusional concept. If you want to be good at anything in life, you will end up spending more time than other cohorts in any given discipline. But for some reason in tech, people like to believe that's not true because "work life balance."
> Did it ever dawn on you that some people just like to write all the time? Or produce music all the time? Or paint? Or sing? Or act?
I see this as faulty logic at multiple level. Even if i give you the fact that hard work/passion etc... are strongly correlated with excellence. It doesn't follow that hard work/passion etc... are a good selection criteria when looking for excellence.
A good analogy is height and basketball skills. It's pretty clear that being tall helps some might even say is required. But within the NBA (or any other organization of "professional basketball player), nobody is drafting people based solely on height. One might even say that the relationship between height and skills in the NBA is fuzzy at best.
"The U.S. Bureau of Labor Statistics reports that the average person working 45 hours per week earns 44% more pay—that is, 44% more pay for 13% more work"
Sure there are very passionate people who enjoy programming so much that they wish to do so far outside the standard workday.
Some of those people are also very highly skilled, experienced and organized.
There are also people who work a standard day, push Jira tickets around, and try to blend into the organization and hope nobody really questions how much they personally get done.
There are also plenty who have good work/life balance and are also skilled, experienced, good problem solvers, good communicators, and very valuable to have on your team. They might have some measurable productivity loss compared to your ideal, but probably not by 2x or 10x.
I have also run into several of the ultra-focused passionate folks who will stay up all night hacking at a problem to make it work, who produce prolific line-counts of code, and fall very much into your camp of 10k line indecipherable PRs that are definitely not going to be maintainable long term in a team or organization.
You can try to correlate some of these factors together, but it's perhaps not as simple as your original comment presented.
Nope. Some people spend a lot of time doing because they need more time to get it right. Hopefully they do improve over time.
Companies with all their bureaucracy are often slow, but that bureaucracy also isn't entirely superfluous, and frankly I don't know if any of this was on any given company's list of things to do. Not sure anyone beat anyone to the punch here.
For “boring” and “well-trot” stuff that people can just do on autopilot, sure, that scales.
For projects with zero obvious paths, an experienced and lean team is necessary.
I have wasted too much time for superficial CRs, and hand-holding people who didn’t provide value.
Only if they're not including documentation. Or maybe only very, very, very minimal documentation.
If you want full documentation, translated to a bunch of languages, then (for now at least) you'll need more than those 2 people.
For the iPhone, I tried looking at the Pixel for the Vanilla Android experience and long support, yet it seems like people are fighting battery life issues all the time. Not to mention the polish of the software, app ecosystem and stability.
Also, couldn't find anything coming near the value of a baseline Macbook Air M1 as far as build quality, battery life, stability etc. is concerned.
I like to also read comics and magazines on the iPad and that's also a market where I have no idea what an alternative would be. And that's the state of the tablet market for years now.
Maybe I could get rid of my Apple Watch, but it just works and has endless amounts of third party accessories. I've been looking at Fossil Hybrid Smartwatches and it seems like they are a hot mess of instability and bad support.
At the end of the day, it's about stability and ease of use. I'm way past the time where I had the time and found it really cool to try every new ROM coming out ("daily driver", "What isn't working? You tell me") and it seems like Apple still can't be beat at this front. Sadly.
The ThinkPads are pretty good laptops, especially if you put Linux on them.
Battery life is (not exaggerating) 5x or more in my experience.
It's honest to god, much faster.
Completely silent and cool. (one of my thinkpads almost burned me it got so hot, and the fans get so loud)
I've never had a single crash, random restart, failure to sleep, failure to charge, driver problem, touchpad randomly not working, wifi failing, all of which I've had with thinkpads.
Those are Linux driver issues, not HW issues.
The touchpads on my wife's T470 and my T480 have very similar intermittent issues, despite her running Windows and me running Linux.
People always complain about Lenovo in these threads, I think because they are held up as the “good non-Apple laptop” brand for whatever reason. I suspect this reputation makes people assume they can just grab any random model and it will work perfectly. That’s just a roll of the dice, maybe weighted in favor of working, but still random.
Sure, that's why there's now a dozen Laptop brands that ship with Linux compatibility in mind.
So better check for the HW you're buying it, if it's compatible with the SW you intend to use, especially now that there's almost a dozen laptop brands selling Linux-ready laptops. Like you don't buy an X-BOX hoping it will run your Nintendo games collection and the blame Mycroft when you realize it doesn't work, do you?
And calling those driver devs "lazy" is a huge slap in the face, especially if you knew how overworked and underpaid people in that industry tend to be, as the profits are also very small. Not everyone is rolling in cash like Nvidia, AMD and Intel.
This sub can be quite pretentious at times.
https://www.reddit.com/r/ASUS/comments/ry0nwb/the_asus_flip_...
But it is pretty easy to get 14 in Linux I think, at least if you believe the battery indicator.
Nah, it's common across all x86 devices. Even Apple's old lineup... which is why they went for M in the first place, Intel couldn't be arsed to deliver something power efficient.
Huge differences come probably from the lack of user skills, less about the OS. Or just broken drivers.
And the configuration is pretty helpful, for example I have an OLED screen, so I can get some power savings from making things mostly black.
Plus the hard drive can mostly be idle; you don’t have Cortana or whatever they call it now poking around for interesting bits.
I also have a Anker 737 battery, with it I can double the macbook's battery if fully charged. The Thinkpad would only charge partially, so wouldn't even double.
I typically get a day of work out of my Zenbook flip 13; I haven’t really measured the battery performance rigorously because it is easily long enough that I don’t think about it (the battery indicator will say 14 hours, but those are of course pretty flaky). I’m a vim/Firefox with ads blocked guy though so I guess I must not be making it work very hard.
I used ThinkPads for 7 years until getting new M2 Pro, mostly with Linux.
Touchpads on Thinkpads are not getting even close to Macbooks. You need external mouse.
Also the the basic screen quality on current Macbook Pros is beyond their top quality products. Try to look for 1000 nits screen? Not even gaming laptops have quality ones.
And battery life...
And performance...
When you have enough performance on your machine, the physical touch, screen and overall stability goes beyond everything else. Thinkpads have better durability on keyboard tho.
I also used to have one of those OLED Thinkpads and that was the biggiest mess I ever hard. They even cancelled OLED screens on all products for 4 years after that. The screen just broke every one month.
W-series, P-series, top of the line
Switched to Mac M1 this year, and....longer battery life, better performance, higher resolution, brighter screen...it's not even close.
I wish mac would stop making the track pad so damn big though, the amount of palm activations I have on that thing drive me bonkers.
My experience of the P14s says that either I have a dud (other colleagues complain vociferously about them, too), your MacBook is defective, or both. None of which are ideal!
But 80% of my usage with external keyboard and mouse.
I miss the days when I charged my cell phone twice a week.
It didn't take 100 mexapixel photos or display 4K cat GIFs, so I understand why.
But I miss that battery life nonetheless.
When I’m at home I’m so close to charge points all day that I don’t worry about it. And when I’m travelling, I bring an external usb-c battery pack that can fully charge my phone about 6 more times or give my laptop another few hours of use.
Sure, more battery life would be strictly better. But I’m happy with the state of things right now.
Apparently the EU has legislated toolless user replaceable phone batteries by 2027. I’m curious if apple plays ball and if so, what iPhones will look like in a few years.
The legislation calls for phone owners to be able to remove batteries “with the use of commercially available tools and without requiring the use of specialised tools, unless they are provided free of charge, or proprietary tools, thermal energy, or solvents to disassemble it.”
Essentially, no glueing the screen to the battery, which is sensible. I take umbrage with the "without requiring the use of specialised tools, unless they are provided free of charge". Manufacturers should make available specialised tools commercially and be allowed to request deposits for specialised tools by individuals looking to perform one-off repairs to ensure return. Otherwise, it's reasonable. I doubt we'll see a significant change in the form factor.
But nobody wants a phone, they want a tiny portable computer.
Yes, including me. I want everything :/
The most power-hungry apps I run are Slack, the built-in GMail and Messages clients, the Garmin app to periodically sync with my watch, and sometimes Firefox if I actually spend time browsing there instead of on my preferred laptop environment. The camera app also eats power when actually taking pictures or video, but I guess I rarely do.
When I first start using a phone, I go through a little effort to disable things I don't want via the system apps menu. For me, that includes the Google Assistant and their native launcher, because the last thing I actually want is to trigger search functions willy-nilly. If I want to search, I'll open Firefox and search...
Macbook Air M1, just look at Dell XPS series.
Samsung S9 tablets have an OLED display. OLED... you don't get that on any iPad.
Apple Watch really has no competitor which matches 100%. On certain areas like fitness (Fitbit) or hiking (Garmin) there can be also some good and better alternatives but it does not match 100% of the features.
I think there is always a choice except when looking at the Apple Watch.
One point to the XPS: the pixel density of the 4k 13" was absolutely LOVELY. I have never seen a screen so nice.
There is really no comparison overall, though: the Apple laptops blow them (and everything else in that category) out of the water.
The top end iPhones are similarly 2-3 years ahead of the flagship Pixel devices in build quality, too. I tried, really I did.
The keyboard and touchpad also don’t hold a candle to MacBooks.
It has essentially outlived 4 Windows laptops. I expect the M1 Air to still be relevant in a decade, as well.
If the characteristics of the SSD in an M1 are sufficiently similar to the SSDs that were used back then (I have no clue if that's the case), wear out will be a non-issue.
This is why people are concerned about SSD endurance. An old SLC SSD's NAND would be good for many, many writes, tho the controller would often fail. Nowadays the NAND fails, but the controller is fine.
My point is that Apple doesn't have a monopoly on quality. Perhaps I'm pretty lucky in this sense, but I have had great longevity out of all of my hardware, and I have owned very few Apple devices.
So not turn key, but also not a rip off prison like Apple :)
AMD is getting pretty close and the perf:watt on the coming generation(s) for laptops (including integrated gpu) look to be really impressive to say the least...
For a good counter-example, look at the early Nissan Leafs. They burned out their batteries in a matter of a few years, but battery replacements for other brands from that time are basically unheard of. (The inherent information asymmetry for new car purchasers is one reason Biden's IRA dictated minimum car battery warranties.)
Rather than the Leaf being problematic, it was the car that showed the market that worrying about the lifespan of EV batteries wasn't really necessary.
Did you research this statement before making it?
My work Thinkpad from the same period feels half way dead.
I can't speak to the rest of the comparison to the Macs - they're probably better overall - but the battery life is a solved problem if you know to limit charging.
Also, as someone who switched from Pixels and other Android devices to the Apple ecosystem . It’s nice that everything “just works.”
It’s kind of like running BSD or Debian stable after having been on Fedora/Arch/etc.
Isn't this because Android uses open standards for its SMS and iOS refuses to do so?
https://www.android.com/get-the-message/
I use an iPhone now but these kinds of business tactics and the others mentioned here really make me wish there were more competitive products on the other end.
https://arstechnica.com/gadgets/2022/08/new-google-site-begs...
> Google's version of RCS—the one promoted on the website with Google-exclusive features like optional encryption—is definitely proprietary, by the way. If this is supposed to be a standard, there's no way for a third-party to use Google's RCS APIs right now. Some messaging apps, like Beeper, have asked Google about integrating RCS and were told there's no public RCS API and no plans to build one. Google has an RCS API already, but only Samsung is allowed to use it because Samsung signed some kind of partnership deal.
> If you want to implement RCS, you'll need to run the messages through some kind of service, and who provides that server? It will probably be Google. Google bought Jibe, the leading RCS server provider, in 2015. Today it has a whole sales pitch about how Google Jibe can "help carriers quickly scale RCS services, iterate in short cycles, and benefit from improvements immediately." So the pitch for Apple to adopt RCS isn't just this public-good nonsense about making texts with Android users better; it's also about running Apple's messages through Google servers. Google profits in both server fees and data acquisition.
Like c'mon google doesn't care about open-standards except insofar as that allows them to embrace-extend-extinguish. google's end goal is imessage but with google servers in the middle instead of apple ones.
To be fair, this criticism is fundamentally true of iMessage, too. Implementing all of iMessage's features in an open, trustless manner is impossible.
XPS is not comparable to M1. Not even close.
Um, swiping from the left edge takes you back on iPhone and iPad. Not sure how long ago did you last test the "missing back gesture" theory. Been using an iPhone for 3 years and has always been this way.
If you want an unusable trackpad, a middling keyboard, a fan that spins up and down at random when the laptop is just sitting there, a space heater for your backpack when you close the laptop and stow it away, and a pathetic battery life, then, yes, a Dell laptop is just what you need.
I'll admit, I have a more expensive Dell Precision laptop, so maybe the XPS is actually usable, but I'm not going to hold my breath. The one that I have is the worst POS laptop I've ever had the pleasure of being forced to use.
Walled garden or not, their products are solid and supported. That is what most consumers look at. No hassle ownership for most.
Because Google... I could live with not having iMessage or AirPlay, that's annoying but something I could live with. So it's either a de-googled Android phone or iPhone, and I do need a few apps which are only available in the App Store or Play Store, so I figure I'm limited to phones that can run something like CalyxOS, which basically limits me to Pixel or FairPhone.
The FairPhone isn't a terrible choice, but I'm not going to replace a functional iPhone with it... if it break maybe, or I can get a used iPhone.
It's not that I trust Apple all that much, I just trust them way more than Google at this point. I don't think Google is evil or bad, but their interest and mine doesn't really align.
So, literally any messaging app, something that non-Apple users have to do anyways, and have to deal with your bullshit about only going through iMessage when they have to send you SMS.
>AirPlay
Chromecast is infinitely more ubiquitous. Also, if Apple didn't patent AirPlay and refuse to share it with anyone, you wouldn't be in this situation.
I will absolutely agree with Google being an absolutely dreadful steward of Android, but make no mistake: you gave Apple full support in locking themselves down in their own little playground, and now you're complaining you can't get out.
Chromecast is a device.
> Also, if Apple didn't patent AirPlay and refuse to share it with anyone, you wouldn't be in this situation.
Google Cast is just as proprietary as AirPlay. Both require licensing to be included in devices. I have an LG TV that supports both, an ancient Roku device that does the same, as well as supporting Miracast. I suspect you're confusing Chromecast and the Google Cast protocol with Miracast, an open standard; one dropped by Google in favour of their proprietary stack.
It's branded as "Chromecast built-in" when supported by a TV, not "Google Cast".
e.g. https://www.sony.com/image/89821bf64399cd4c34680e0988903e4b?...
Or maybe they just couldn't get a trademark for "Cast"?
One finger swipe right.
Because some people, like yours truly, enjoy having a patched up-to-date mobile os, but also don't need to change their phone every other year. My Iphone 7 which I bought refurbished in February 2017, still works perfectly after a battery change. It has the previous iOS version, but it keeps receiving security updates. All the apps I need work on it (games may be too much for it, but luckily, I have a PC with a big-ass GPU for that). My dad's Galaxy S7 hasn't had an update in a while. He tried to install 1password, a freaking password manager which is basically a glorified notepad, says it doesn't support the phone and / or the android version. His GS7 is working fine otherwise, though.
> Macbook Air M1, just look at Dell XPS series.
This has to be a joke. I can wholly understand people not valuing build quality and preferring to save money over that or invest it someplace else. But that doesn't make it "comparable".
Have they finally fixed the touchpad moving by itself or ignoring your finger? The fan spinning like a jet engine for no reason? I hear nowadays everybody's on the "modern standby" bandwagon. How do you like your battery draining 50% while on your commute home while the PC supposedly sleeps? Or waiting around for it to wake up from hibernation? That's if you're lucky enough it doesn't burn down your bag because it figured it's as good a time as any to wake up and do who knows what, which absolutely couldn't wait.
I won't comment on the ipad nor the watch, since I've never owned any of those.
So what does this prove? Anything? Probably not.
A password manager doesn't have any such requirements.
If you care deeply about security, I’d recommend having a phone that actually is using up-to-date OS.
I don't think most people -- even iPhone users -- hold that opinion. In the US, at least, the iPhone is still a status symbol. People have iPhones because they don't want their iMessage bubbles on others' phones to be the wrong color. They're locked into that ecosystem with various purchases and don't want to throw that away. They use a Mac and like the integration.
On top of that, I (as an Android user) am constantly uncomfortable running a mobile OS built by a company that exists mainly to track people's behavior and invade their privacy, with the goal of selling ads (and I am more vehemently anti-advertising than most people). As much as I don't fully buy "Apple's commitment to privacy", they are in a much better place in that regard than Android is. I lock my phone down and give nearly every app (including Google's) zero permissions, and only enable (and then immediately disable[0]) as necessary, but I'm still convinced my privacy posture would probably be better with an iPhone. But I don't want to live in that walled-garden nanny-state, so that's that.
[0] https://play.google.com/store/apps/details?id=com.samruston....
Swipe from the left of the screen goes back a page in the current app. Swiping right on the bar at the bottom goes back to the previous app used. Two different locations but the same gesture. What else is missing for a back gesture/button?
During my time as an Android user, that back button struck me as the single biggest anti-feature in the Android UX. Every application implemented it differently, sometimes I'd find it bumped me right out of an app if I tapped it once too often, others didn't do that. I hated the thing; it required learning a different set of mysterious tendencies for every app and situation. So happy that it's not stinking up the screen of my first-ever iPhone.
can't speak to other tablets but iPads get the job done. I have one of the oldest generation ipad Air that still gets updates. Got it secondhand. It does the basics well enough. I'm not sure an android tablet would even be getting that support.
It has nothing to do with hardware.
And the trackpad! I always evangelize the Macbook trackpad because that shit is bananas, as it were.
The only trackpads I've found that feel close to Apple's on a hardware level are the ones produced by Sensel (https://sensel.com), and those aren't in every laptop. Then you have the driver situaton on top of it, and Apple's tight vertical integration just always seems to give it the edge - I literally never experience invalid taps or movement, etc.
Not only does it have a great trackpad (with an ability to become a numberpad), it also has an optomechanical keyboard, with "blue key" like feel. Plus a 3080 in it for games. It also has great cooling, so the fan only is on if you're hitting the 3080 hard.
It is certainly the most fun laptop I've owned (it has led backlights for the keyboard, too)! Granted, it runs windows, but win11 is pretty nice, honestly. No idea how amenable it is to putting linux on.
And that doesn’t even get into the “fun” of there being differences between the versions of Android shipped by different vendors significant enough that maker and model-specific bugs and behavior inconsistencies are a concern, which is only a thing because of manufacturer insistence on deep customization (compare to Windows where if it runs on fine your PC, it probably does for 99%+ of other PCs too).
I have a Surface Laptop 4 with an AMD processor and 16GB of RAM. I'm extremely happy with it, though I'll concede that the build quality is a click lower than a M1 MacBook Air (two of the rubber feet have fallen off of mine, being my main ding against it) and nobody can touch Apple Silicon's battery life. But aside from that, it's definitely in the same arena for build quality as an M1 MacBook Air (my wife's daily driver, so I'm not just saying that out of ignorance) with, IMHO, a better keyboard and a touch screen if you're into that sort of thing. Oh, and the facial recognition unlock is the best. I've had zero issues with stability—Microsoft pays more attention to squashing Windows bugs on their own hardware, it seems like.
Surface Laptop 5 has been out for about a year, but it was a totally microscopic incremental refresh. That means the Laptop 4's have dropped in price a lot, even though it's still 95% the same laptop.
My exact model of Laptop 4 can be had on periodic sale, refurbished on Woot.com for ~$700 or less, which is a screaming good deal IMHO for what you get. You could almost get two of these things for the price of one new M1 MacBook Air once you factor in the (IMHO mandatory) RAM upgrade.
This is scary as fuck. Combined with all the telemetry and tracking M$ is now doing without care from within its operating system.
Windows and Android are subsidized data collection applications which run on subsidized hardware. Simple as.
If I turn out to be the world's first facial recognition casualty, that would be SUCH a hilariously unlikely way to go that I almost couldn't even be mad about it.
How does Microsoft monetize (or even could)? Are you just saying random things?
Also you could just install Linux, of course battery life would likely be even worse then.
Also you can't really run any other process alongside as long as it uses above ~5000-1000mb (so no Node for instance). Having a browser with more than a few tabs open alongside is also an issue.
Maybe a ~5+ year old version might work better.
People whiff that (cough RDNA3), and people overcome it kinda (Raptor Lake), but ceteris paribus, their shit is just from the future.
Having a bone to pick with Apple is a very reasonable thing, I’ve got a few gripes myself, but that’s why you buy something 2-3 years behind the cutting edge. It’s not because it’s better.
On the phone, I started with Android, so just kind of used to it... I've bought about every 2-3 generations for a while, currently on a Pixel 4a. I tend to avoid the high end, and find if you wait 3 months or so after a new release, the kinks are usually worked out by then.
As to the iPad, there really isn't a good alternative that I'm aware of... there are still a few Android options, none are great... the MS surface tablet and other convertable laptops are okay, but still not as nice a UX, it's not my thing so doesn't bother me, but can understand why if it works, it really works for you.
Watch is about on par, from what I understand.. again, not something I'm into personally.
I tend to take the Apple option for work (software dev, mostly web/svc oriented) only because corp Apple experience is generally better than corp windows.
The Framework laptop is my choice. It is not the best in every category, but it is mine.
I didn't like the weak hinges, I replaced them. I can replace the battery when I need. I can upgrade the memory or hard disk, or motherboard or screen when I need.
The thing with Apple is that their way of vertical tech integration results in highly polished, non-standard, unservicable machines. They are nice, but not worth the trade of ownership for me.
Desktop Linux is not as nice or facile or polished, but it feels like "my" desktop because I can modify it. When I use MacOS, it feels like I'm just renting somebody else's computer. It's a very nice computer, but it can never be mine.
It’s like saying that buying a condo isn’t home ownership due to an HOA having some oversight. Some people are totally fine with that, it doesn’t mean it’s less “theirs”.
How much you control something directly relates to how much you own it mentally and practically.
https://us.starlabs.systems/pages/starbook
(I know Framework isn't rebranding stuff - just throwing another in the mix)
Good luck getting one though, wait times seem bad every time I look.
As someone who refuses to use Samsung phones because of the bloatware (and was using a Pixel 4a until the sim slot crapped out last week, of all things) I've actually been pretty happy with Samsung's tablets.
Products are as good as the worst part. Apple‘s complete integration allows them to more easily fix the worst part since they have control over almost everything. Historically, "open" systems, as Bill Gates would call Windows together with the suppliers such as Intel and Dell, could get away with some bad aspects as long as they just threw in new CPUs with smaller transistors. Now that Moore‘s law and Dennard scaling have slowed down, fixing the worst part is the only way to find good improvements.
ChromeOS is great. The host OS "just works" and I have a VM/container env to do development in. It feels secure, operationally straightforward, and low maintenance.
I don't really care a ton about my phone. It works, battery is fine. It makes phone calls, plays music. idk. I care way more about my laptop.
It's one of the reasons I sold my iPad for a galaxy tab s7+. Every alternative I tried on iOS was just shit in comparison, paperback especially.
I have the opposite experience. A few months ago a friend of mine had to buy a new iphone because their phone couldn't hold a charge. Shortly after they received their new phone, towards the evening, they remarked how happy they were that their new iphone (literally a few days old) still had 36% charge after most of a day's usage. I looked at my 2.5 year old (at the time) pixel 4a and I still had 84% charge.
> having to live with endless amounts of compromises just to get away from Apple.
Having basic system functionality, such as GPU accelerated OpenGL, Vulkan, or OpenGL ES, seems like a catastrophic compromise. Like I can compromise about how the widgets of application foo and the widgets of application bar don't match each other, I couldn't care less. But no Vulkan support? Forgetaboutit.
Everything is a compromise.
A while ago, I wanted a new notebook:
I looked very hard at a 16" M1 Pro with 64 GB of RAM, at approximately USD 4000, tiniest storage possible. I really really wanted to run this with Asahi Linux.
I purchased a Dell Inspiron 7610 with 16" display (and known design touchpad design defects), 3K resolution, sort of light-weight, Tiger Lake 11800H CPU, Intel + Nvidia hybrid graphics, now running at 64 GB of DDR4 RAM, 2 TB of very fast PCIe 4 SSD, 1 TB of PCIe 3 SSD.
Professionally I run this with Windows 11 Professional + VMware Workstation -> Fedora 38 because of an Azure VPN; in my private life this is plain Fedora 38 dual-booted.
Why? USD 1700. Less than half the cost.
Native podman / docker. CUDA. The (still) dominant architecture (x86). I am typing on Proper Keyboards anyway.
It's more like emigration or a divorce it will hurt and it's a big change. For most it's not worth the bother.
my pixel has good battery life.....I know it's anecdotal but it's been fine.
I've always been an android user on smartphones. Was samsung in the past but now I have a pixel. I like the pixel and vanilla android experience overall. Android allows some freedom to customize, I like their call screening, and the wide choice of apps. Pixels are also starting to be supported for longer; maybe not as long as iphones but it's always been an android issue and they're finally starting to address it. Stability is there imo. I have all the apps I need to do what I do everyday but obviously everyone is different.
I own a variety of different hardware including apple products, but I'm not 100% reliant on their ecosystem, so I'm keeping the pixel for now.
>Also, couldn't find anything coming near the value of a baseline Macbook Air M1 as far as build quality, battery life, stability etc. is concerned.
Agreed
As many of my services as possible are self-hosted, and as many of my apps as possible are FOSS, but I access them with Apple hardware. And as my M-series Macs age, they'll become Asahi machines.
This is the best compromise I've found. The truth is, Apple stuff still does Just Work, and having an actual Unix base is nice too. Open standards and protocols can get you a long way away from the walled garden aspect of Apple to the point where really they're just nice computers that don't really infringe on my life in any way.
Apple has invented, contributed to, and adopted a long list of standards. You can easily Google or ChatGPT the list if you don't know your tech history.
Apple deprecated OpenGL and OpenCL support in 2018 for very reasonable technological and strategic reasons that I understand you disagree with. But that doesn't change the fact that OpenGL is a terrible fit for modern computing/GPU architectures.
Apple has committed to support for OpenGL 3.1, and that's it. They even rewrote their OpenGL driver for Apple M1 to be an emulation layer on top of Metal, so that existing applications keep working, but they're not going to implement any newer versions of OpenGL. Nor should they.
I have a lot of criticisms of Apple, and I think they could be doing a lot to make Metal a better API with better tooling, but not caring about OpenGL is a perfectly sane decision here.
There's a small set of legacy "confidential" tests that you have to pass for GL conformance. They can't be open-sourced for legal reasons. The current CTS working group would like to get rid of them, but it's hard to justify spending time on GL these days...
You can definitely pass conformance with a driver that's horribly broken in practice. GL/ES/GLSL are huge and there are holes found in these specs all the time. And it's not like game developers read them anyway; whatever works on their test devices gets shipped.
The story seems really complicated from a technical point of view.
Whom is OpenGL ES 3.1 compliance for?
Apple is shipping DirectX compatibility in Game Porting Toolkit.
I understand you are making a stylized comment. My stylized comment is, there's a lot of stuff going on everywhere, all the time, with all sorts of technologies. You're not illuminating for me, compared to all the other people toiling in obscurity, what about this has pressed so many buttons for the Hacker News audience? Because it's not OpenGL ES 3.1 compliance.
Is everyone missing the part where Apple left the door open for other operating systems and development thereof when it would have been relatively trivial for them to lock the laptops down.
They literally made their own silicon and built an entire platform. Do you think it's a mere mistake that they left it open to running other operating systems?
It's really disappointing to see everyone bashing Apple when it's clear to anyone paying attention that they made a conscious decision to leave the door open for 3rd party development.
Maybe I'm just a jaded grey-beard but I suspect that this is more of a "placate the anti-trust regulators" play and not a genuine olive branch offering.
Apple gets to say "see, look! Not only are we not locking people out - there's a whole micro-niche community that's taken root. If that isn't proof we're not abusing our position, I don't know what is..."
They left the door open, but just barely. The reverse engineering efforts will always be a step behind making sure that there's always going to be a "non-apple" experience that will be objectively inferior in one way or another.
I understand skepticism and not always giving corporations the benefit of the doubt, but they _clearly_ spent a lot of time and resources to make third-party OSes viable on Apple Sillicon Macs.
This actually isn't clear to me -- can you explain? Besides keeping an open bootloader [0], I'm not aware of any affirmative actions Apple has taken.
[0]: https://github.com/AsahiLinux/docs/wiki/Open-OS-Ecosystem-on...
It boots in a notably different way than iOS machines do, and has some (AFAICT) pretty unique capabilities, including a fully-verified signed-boot of macOS partitions, while allowing third-party kernels at the same time.
Asahi's "Introduction to Apple Silicon" [0], and specifically "Security modes, Boot Policies, and machine ownership" paragraph outlines some of that, Apple's "Platform Security" [1] whitepaper does too.
Asahi's docs also explicitly state the same thing [2].
If you still don't think that shows significant amount of work and care were put into deliberately allowing third-party OS's to work on those machines, I don't think I can convince you otherwise.
[0]: https://github.com/AsahiLinux/docs/wiki/Introduction-to-Appl...
[1]: https://support.apple.com/guide/security/welcome/web
[2]: https://github.com/AsahiLinux/docs/wiki/Apple-Platform-Secur...
Seems to me like they can’t decide whether they want Linux on their hardware or not. I bet different people in the org are pulling in different directions.
Why can't the same "there is no OS except iOS allowed on iPhones" argument be applied here? If the only os that boots on a macbook is macOS, that's starting to smell like anti-competitive behavior the same way that only app store approved apps can run on iOS is anti-competitive.
That is to say, unless I am truly off my rocker and remembering a fever dream: it's not just a "placate the anti-trust regulators" play.
I'm pretty sure I've also seen it mentioned on HN itself that Linux is still used within Apple for certain aspects of hardware development, so Apple themselves need it to work to a certain degree.
That would be strong evidence that there's at least _some_ support internally for them but doesn't explain why they bothered at all.
The lack of explicit endorsements and documentation certainly has me thinking that at least _some_ of apple doesn't want this happening at all so they're at least going to make it hard. It may not be a "what's the bare minimum support we have to do to avoid being a poster-child for anti-competitive behavior" that's completely driving it after all.
I mean, you're kind of glossing over my second point from my comment:
> I'm pretty sure I've also seen it mentioned on HN itself that Linux is still used within Apple for certain aspects of hardware development, so Apple themselves need it to work to a certain degree.
Anyway, I went and dug around and found the HN discussion of that Marcan tweet that's been deleted - you can browse it below if you missed it or are curious:
https://news.ycombinator.com/item?id=29591578
Notably, this comment from Saagarjha who I trust on Apple-related matters is what I was referring to regarding Apple using Linux internally for some of their work:
https://news.ycombinator.com/item?id=29599889
All this to say, if the people who have some level of vested expert knowledge in this domain - like Marcan or Saagarjha - don't buy the conspiracy theory angle, then I'm inclined to side with them.
But I have to say I don’t understand how what Saagar is saying is supporting your (our?) point. Apple has ability to do a whole lot of things that will never make it to end-users — just because some flavor of Linux is being used in the CPU bringup process doesn’t mean anything for the final products.
As evidenced by the fact that M1 is far from the first chip they brought up in-house - and even then only on Macs, not on iPads which use the same chip.
I hear they even have some non-Apple hardware running macOS in data centers, the absolute horror ;P
But they did. It means somebody did care.
But they failed, got beaten by almost one-man-army "team" that started running miles behind from another country behind chain of mountains. It's unreal.
It's unreal because Apple has everything - talent, hardware and software and got beaten by reverse engineering the whole thing.
Such a slap in a face.
1) It's a project that a lot of people want to see happen, and
2) It's a stellar example of a well-executed open source project at all levels.
Moreover, Asahi has been my daily driver since the alpha was released back in March 2022. I migrated to Fedora Asahi Remix (their new flagship distro) earlier this month, which is excellent (https://jasoneckert.github.io/myblog/fedora-asahi-remix/).
I used to wonder why anybody who is not an iOS developer would buy a Mac. Now I just accept that some people make different choices than I would - just with most everything in life.
It takes significant resources and impacts release schedules to, say, support an on-going vulkan implementation... I think there would need to be a business argument for it. Avoiding "shame" probably doesn't cut it.
It just strikes me as strange when people expect Apple to spend money and focus on their own personal priorities... especially for things that are inherently community-driven.
Perhaps there's a "community goodwill" argument to make, though I doubt they'll try to chase the goodwill of people who complain that Apple "has become is just a corrupted mess of greed behind a curtain of politically correct marketing videos."
I mean it isn't. But it would be nice if they supported at least any graphics standard.
Well Apple does implement the standard. They DO have OpenGL, but their driver is not fully compliant apparently.
>> It takes significant resources and impacts release schedules
Well it seems 2 people working for a couple years managed to do it without much in the way of documentation that Apple clearly has (they built the F-ing thing).
Apple has considered OpenGL deprecated for a long time now, but they do support it (they brought it to M1 and M2) and it makes sense to keep doing so. They really should be more conformant. If a standard is worth supporting, it's worth supporting well - and Apply has unlimited funds in comparison to these two people.
Let's see... on one hand we have two devs who made it happen (for OpenGL; with Vulkan coming in the future), with essentially no funding, purely in their spare time and without any documentation, just by reverse engineering the hardware.
On the other hand we have a trillion dollar corporation, with 100 billion dollars in profit last year, with over 150k employees, with full documentation for the hardware.
Yep, it checks out. Apple's definitely resource strapped and can't afford to do it. No way they can compete with two spare-time hobbyist. Would be too expensive.
I'm sometimes really amazed how Apple-biased a big portion of HN is. People here can always find some sort of excuse to justify whatever shitty new thing Apple is doing (or why it isn't doing something), no matter how much mental gymnastics it requires.
Not really? Like, we can look at this and point fingers, but Apple will not be ashamed, because they do not care. They deliberately don't bother with standards conformance unless doing so is a part of their strategy. Standards conformance for OpenGL or Vulkan doesn't make sense when they want everyone to use Metal.
It's dumb, and I marvel at how childish Apple always behaves with things like this, but that's just who they are.
Yeah, instead of drivers for M1, I'd be more impressed+happy if someone implemented the iOS APIs running on Linux, like we have Wine for Windows on Linux.
But Apple clearly has zero interest in OpenGL. Thats been obvious since before the M series chips.
What they’ve done so far and continue to do is incredible. I love following what the Asahi team has done.
But anyone can win a “race” against an opponent who refuses to play.
Shame Apple for not playing the game if you want, but they could have easily done this if they wanted to.
Apple are by no means perfect but over pretty much every other service (shout out to Mastodon being too small to bother with I presume) I have used I have received spam.
Advocates of truly neutral carriers, open code, et cetera, et cetera, so on and so forth don't really have an answer to spam in my experience. I would say that almost no one has an answer to spam except seemingly Apple. And while their answer sucks it is an answer.
In the modern world telecommunications are a requirement to participate in society. I don't think it's unreasonable to have spam be your number one concern. It's a waste of my existence even though I ignore all of it and take appropriate pro social actions by using whatever kind of report I have available to me. There are people who fall for the scams (I have met and even know a few) and they have lost heaps of money.
Apple would be destroying a huge amount of value for their users were they to open up their service more easily to spammers. It's not our job to give up our lives so someone's theoretical version of a better society can exist.
I say this with every bit of code I have ever published being GPL3 and having advocated it in every single project I have ever worked on. But I have never built a telecommunications platform.
Seems trivial by but allowing anyone to message anyone else unless they exchanged their contacts physically (by showing each others QR code or something).
“I said that all furries are programmers. I have been contacted and am issuing a correction. There are three furries who are not programmers.”
https://x.com/swiftonsecurity/status/511043756788043776?s=46
However, programming has, for most of the last 60 years, attracted many people from the weird, misfit, or cringe-du-jour segments of the population. This is nothing new; plenty of hackers in the '80s and '90s had public personas that were weirder than this.
And they are?
A bit saccharine from an aesthetic perspective, but it’s something that would be entirely familiar (if old-school) to denizens of a cyberpunk universe, and I don’t think there’s a better way to articulate how it’s connected to a broader vision.
"The Khronos website lists all conformant implementations, including our drivers for the M1, M1 Pro/Max/Ultra, M2, and M2 Pro/Max."
Edit: Interesting that so many people are downvoting this. I'm not complaining; I didn't know, so I asked a question. Seems like the answer is that it's too new, especially with the 30-day conformance review period on top.
I'm aware of people's sensitivity to putting demands on efforts like this, which is why I tried to frame it as the genuine curiosity it is.
This sort of low-level work is out of my depth. Is there painstaking probing to find different addresses/states between a Max and an Ultra? The M2 Ultra has two GPU variants (60-core and 72-core), although the Pro and Max also have GPU count variants. Are those transparent from this OpenGL driver's point of view? Or is there timing/dispatch work involved? Hence the question!
I would have made an explicit criticism if I had one. I implied nothing, but I realize that has no bearing on what the reader can or will infer...
Yeah I've never done GPU driver hacking so I can't answer your question with optimal specificity, but there's always something new. It's usually (but not always) backwards compatible, but Apple is a special case since they are their only supported customer. That means that they can iterate very fast with flagrant disregard for backwards compatiblity (I don't necessarily mean that in a negative way, it can be great for development/progress), and it means that any changes they make have to be reverse engineered by setting debug breakpoints, examining state, signals, etc to try and figure out what they changed and how it works now. It's a truly monumental undertaking.
Huh? The clarification is in the original (pre-edit). It's the second sentence.
"Right, but that clarification was pre-edit?" wasn't a hypothetical, it was making a claim.
In practice though, Apple is famous for not replacing everything left and right. IIRC, the UART part of their SoCs dates back to the first generation of iPhones, if not even earlier.
For that reason, I've personally had to use a M2 for a week now, and I find the experience unpleasant. The OS feels old and cumbersome. I had flashback to a time long ago when I needed to install custom apps in Windows for some basic functionality that's been built in gnome. Things like "alt + tab" actually bringing an app to the foreground, instead of prioritizing the minimized state. Why this deliberate action would have seemingly no effect is correct, I'm sure will be defended.
Global shortcut to start up a terminal? Install a third party utility is probably the easiest. Want to place windows on the screen? Install a third party utility. Better screenshot functionality? Install a third party app. Change the default shell to a custom one? First you got to figure out how to access the root system through finder to actually find the executable.
It goes on and on. And the performance is much worse than what I've become used to. The only thing it actually has going for it, which I believe is great, is battery life. But, that's it.
I'm just glad I was able to disable the app validation check, because it had literally prevented me from installing a lot of third party software, and the suggested workarounds had no effect. Just the fact of phoning home every time run an executable makes me nauseous.
I wonder how often the homebrew team get offers to add malware, because the checks there seem woefully insufficient.
A lot of devs are also choosing them because they are insanely good machines. Simply because ARM64 is a good architecture and there is pretty much no competition available, it's more or less a choice between Apple or not ARM64...
- MacOS user experience: Terrible. It feels like Linux did 10 years ago. Bugs and inconsistencies everywhere. But hey, they are competing with W11 so, no need to improve it either. Forced updates and restarts. And, did I mention bugs and inconsistencies everywhere?
- M2 Computational performance: It feels like my laptop 10 years ago.
- M2 Batterly life performance: It is absolutely brilliant, but, I also work 80% of the time at a fixed desk, so, it's mostly only relevant when traveling.
I'm sure a lot of devs use them because they like them. But, your argument that ARM64 is "good architecture" whatever vagueness that entails, is pretty much bollocks.
Compile time performance is ok at best compared to other laptop CPUs (the fastest laptop Mx hardware is about half of the laptop competition, and that's just comparing CPU). The package management coherence is non existent, so everything is slow to start because everything ships a complete stack of libraries that need to be read from disk and copied in memory. I honestly believe that people who are blown away by the Mx hardware have simply lived too long in the walled garden to know what is out there.
In summary: MacBooks are decent hardware, with exceptional battery life. Priced at 50% would make sense. And the OS experience is somewhere between mediocre to garbage.
Ran an identical GPU workload on AMD hardware with dedicated GPU.
- 3 year old desktop AMD hardware: 50 seconds (1x)
- 1.5 year old laptop AMD hardware: 66 seconds. (1.32x)
- Latest M2 Pro 12 core: 142 seconds. (2.84x)
For CPU-only tasks. 1x, 1.9x 1.7x.
So, the M2 Pro 12 core is about 2x slower than a one year older AMD laptop for GPU tasks, and about the same for CPU only tasks. And the latest AMD Laptop CPU is twice as fast as the one I used.
- Alt+Tab is bugged. You need a third party app to bring consistent behaviour.
- Closing a window with window decorator very often minimizes it instead, no consistency.
- Recording or capturing screenshot is tedious without a third party app
- Homebrew is underwhelming as a package manager. It feels like Linux package managers did around 20 year ago.
- No global shortcut key to trigger arbitrary commands (you need a third party app). Like, starting a terminal.
- Bad support for external keyboard. Dead keys everywhere that have otherwise consistent meaning (delete, home, end, etc). The kinda stuff that could happen on Linux 10 years ago.
- No sensible support for external mouse, such as scrolling behaviour is stuck to what would make sense for the trackpad, and feels bad on a mouse. You need to install a third party app to handle this.
- No copy/cut paste in file manager. You need to drag and drop like a primate.
- Oh, and finder, in general, is bad at almost all the things a file manager should be good at. But, someone somewhere at apple decided that labels trumps hierarchical file structures, to navigate a hierarchical file system.
- Built in advertisements for apple products pop up from time to time.
- "I guess I won't start working right now because MacOS is installing a mandatory update" has already happened.
- Bypassing security check to launch app, as in the "open anyway" is bugged since 2016, but it's still there. And you can click on it without it doing anything. You have to google the command to disable the whole app audit thing and run it in a terminal. (You know, the kind of stuff you had to do on Linux 10 years ago).
- Moving windows around is tedious without a third party app.
- Accessing the root file system through Finder requires googling how and running a command on the terminal (you know, the kind of stuff you had to do on Linux 10 years ago).
This list is just the annoyances noticed this week, and I'm sure I've forgotten quite a few. It feels like crap, and it's not because "apple bad, buu huu". I don't care about your team/my team. I just want things to work and not be annoying. Windows 10 and 11 is crap for many of the same reasons as MacOS. Just a different collection of bad designs. The "it just works" has been Linux for at least the last 5 years.
> Alt+Tab is bugged. You need a third party app to bring consistent behaviour.
It's Cmd+Tab, and huh? What do you mean bugged? Elaborate please.
> Closing a window with window decorator very often minimizes it instead, no consistency.
This is app-specific functionality, you'll find similarly inconsistent behaviour across all OS:es to be honest.
> Recording or capturing screenshot is tedious without a third party app
Cmd+Shift+5, no app, records or screenshots with many convenient ways to select the scope of your screenshot/recording like window, screen, or just a specific area. This is one of the more polished and well thought out features in macOS.
> Homebrew is underwhelming as a package manager. It feels like Linux package managers did around 20 year ago.
It's an open-source project that's outgrown it's initial purpose, it's also not native and while Linux distributions generally build around the package manager as a central point, Homebrew is hacked together and tacked on as an afterthought, not a fair comparison.
> No global shortcut key to trigger arbitrary commands (you need a third party app). Like, starting a terminal.
Spotlight has been a part of macOS for I don't even know how long at this point, but I looked it up for you, it's 18 years.
> Bad support for external keyboard. Dead keys everywhere that have otherwise consistent meaning (delete, home, end, etc). The kinda stuff that could happen on Linux 10 years ago.
Fair, Apple have some special keyboard behaviours that aren't shared with other OS:es, but if you buy a keyboard meant for macOS it's gonna work fine.
> No sensible support for external mouse, such as scrolling behaviour is stuck to what would make sense for the trackpad, and feels bad on a mouse. You need to install a third party app to handle this.
Yeah, I think this is one of Apples eccentric stubbornness things, I honestly can't fathom why the OS doesn't have a native way of setting scroll direction differently for the touchpad and an external mouse.
> No copy/cut paste in file manager. You need to drag and drop like a primate.
Copy is there, but there's no cut, I wanna say that's another Steve Jobs legacy that's probably never going to go away. I hate this too.
> Oh, and finder, in general, is bad at almost all the things a file manager should be good at. But, someone somewhere at apple decided that labels trumps hierarchical file structures, to navigate a hierarchical file system.
I have no idea what you're talking about here. What are you comparing to and what's so much better about it? Honestly I do most of my file managing using the terminal and I suspect you do too, and my parents have no issue navigating Finder, so I don't know why this is such an offensively bad thing to you.
> Built in advertisements for apple products pop up from time to time.
They do? Where? In 18 years of using macOS I can probably count on one hand the amount of times I've felt that Apple were peddling something at me.
> Bypassing security check to launch app, as in the "open anyway" is bugged since 2016, but it's still there. And you can click on it without it doing anything. You have to google the command to disable the whole app audit thing and run it in a terminal. (You know, the kind of stuff you had to do on Linux 10 years ago).
With you here. I get what they're trying to do, but the UX here is pretty terrible.
> Moving windows around is tedious without a third party app.
Window management I concede is something Linux distributions generally excel at.
> Accessing the root file system through Finder requires googling how and running a command on the terminal (you know, the kind of stuff you had to do on Linux 10 years ago).
Most Mac users shouldn't be accessing the root file system, this is a feature, not a bug.
> The "it just works" has been Linux for at least the last 5 years.
HAH, now I know you're just trolling. Good one!
In your defense, I'll agree that many of the things that make macOS and other Apple OS:es nice to work with are under-the-hood things most people wouldn't have any idea exist without being told, I know because I'm technical and have learned one or two a year for 18 years. Needless to say there's now hundreds of such things to learn and most users have no way of accessing that knowledge.
That's an actual UX challenge!
I agree about the screenshot functionality. I didn't know about CMD+shift+5 (and 4). It was built in, and it is fine. I must have incorrectly assumed it didn't exist since apple hadn't bother respecting the "Print Screen" button.
As for cmd+tab, due to the inconsistencies in the close/minimize behavior, this also means that cmd+tab leads to inconsistent behaviour. You literally either replace cmd+tab with something else (e.g. get used to adding option key in there, or remap the keybindings, or use a third party app). The alternative is to start memorizing which apps behave differently. Which is out of the question. As for what other OS'es do, I cannot speak for W10/11 because I don't want to boot into it. But, for gnome, apps that default to hide instead of closing (e.g. slack) actually hide, so they don't show up in Alt-Tab overview. Those that still show up there will also be brought to the front, as one would expect.
Also, launching spotlight and typing something hitting enter is not the same as having a global key-bind to launch a terminal.
Regarding the finder, perhaps a got a bit biased there. It's probably something different rather than bad. Perhaps just the disbelief that I couldn't use it to cut and paste, and thought "fuck this" and used a terminal, or that I couldn't find the root file system.
In any case, another week has passed, and I've made some more observations:
- Animation between desktops is incorrectly implemented and tied to frames, rather than duration. If you use "ProMotion" i.e. 120hz the animation takes twice as long as when on 60hz. Two seconds compared to one second. Either is ridiculously long. And, of course you cannot adjust this, because Apple has decided what the perfect experience is... Bleh.
- When downloads complete, MacOS will show an animation on the docker for the completed download, which... steals the input focus. Another amateurish bug.
When I thought about having to MacOS professionally, I was prepared for some frustration about bad apple design decisions. I was not prepared for the inconsistencies, the bugs, and seemingly petty refusal to facilitate anything non-apple.
Also, I'm just mentioning things that seem like straight up bugs or deficiencies. There are maaaaany tiny frustrations that are more "alright, this seems like a less useful implemention of what I'm used to". For example if I open the overview I very often think one of two things:
- Ah, I would like to close that app.
- Ah, I don't have that open, so I want to open it.
Neither of these work flows are implemented. For the former, you have to either click the app to bring it up to focus, then close it with Cmd-Q (which is ALSO inconsistent btw. Chome won't let you for example). Or you need to find it in the docker, right click and Quit. Oh, and you cannot do this while the overview is open even though the docker is shown. Right clicking doesn't do anything. Just add it to the pile of tiny inconsistencies fucking everywhere.
And for opening an app, you cannot just type as if you had spotlight open. You have to leave the overview and start spotlight. This isn't all that bad, but, definitely annoying compared to what I'm used to.
Oh, and I had a chuckle as well when I plugged in an external mouse and it asked me to press down' the button to the right of the left shift. Come on... USB peripheral identification isn't that hard.
I don't advise just running Mathias' config as is, but read through it and see if anything seems to be something you want in yours, make the changes, and save it somewhere for the next time you're setting up a Mac.
There's some stuff in there about speeding up certain animations (look for "Speed up Mission Control animations"), and about not reordering "spaces" (desktops, full-screen apps, search for "Don’t automatically rearrange Spaces based on most recent use") based on use which I think may also affect cmd+tab ordering? Not sure, but it's a setting I always change anyway because the default doesn't make sense for power users.
About the trolling thing, sorry, I was genuinely not sure if you were arguing in good faith or just making stuff up, as most of the things you were saying were just plain incorrect or dishonest, from comparing desktop computer performance to low-powered laptops, to incorrect statements about features macOS truly excels at.
I don't know what I lied about on the performance though. The MacBook M2 feels slower and sluggish than what I'm used to. It is of course plenty fast enough for what most people need it for. So, I'm not really saying it's not that. But, on discussions on the Mx architecture, the general opinion is blown out of reality. It started when apple straight up lied and sait it was 3 times faster than the existing competition. They just forgot to mention that existing competition was their own previous offering, which was already mid-range when it was introduced 5 years prior.
Take a look at the numbers there and see if that matches your assumptions:
https://www.cpubenchmark.net/compare/5232vs5183vs4782vs5234v...
So, to clarify, my objections are not against "M1/M2 are good CPUs". They are actually pretty great, especially for how well it is supported and integrated with the rest of the system, allowing for exceptional power usage. But, it's not nearly as fast as many think it is. And it's tiring if/when that's the baseline argument for why apple hardware is great. And, I think they are wildly overpriced, especially when upgrading the hardware to the bare minimum for a serious work station (64GB ram and 2TB disk).
The alt-tab issue is solved with the `AltTab` which improves it in all ways.
I also remembered what I found lacking in finder. In Nautilus (the file browser I use on Linux), I can browse any ssh server as if a normal directory. Same goth with samba, sftp. And it also helps that it supports multiple different file systems out of the box.
I'm running on an M2 Max with 64GB RAM here, both Kali and Windows VMs active and working, while my macOS host is running browsers, email clients, Docker containers, etc. All of this without my fans ever spinning, I'm not even convinced they actually installed the fans in mine, I don't think I've ever heard them.
In short, I'm a heavy user and I've never felt I need more performance in my laptop than this provides.
> And it also helps that it supports multiple different file systems out of the box.
What other filesystems do you need your computer to be able to directly mount? macOS supports FAT, exFAT, NFTS, HFS(+), APFS. Anything else you're probably gonna access through SMB, AFP, NFS, CIFS, FTP, SFTP, or FTPS anyway, all of which are natively supported in macOS (OK, you can't mount SFTP, but I don't get why you would want to honestly).
Have you ever used a Windows machine?
Ads? What ads?
There also appears to be an issue when connecting or plugging in headphones where Music.app opens automatically. I've tried to replicate this in Monterey and Ventura using AirPods, Beats and Sony MDR-7506 without success. Researching online suggests that this is a LaunchAgent/LaunchDaemon or cache problem. In short, it's a relatively simple bug to fix. Certainly annoying, but anyone with the tiniest bit of experience - especially in a field like DevOps - should be able to diagnose and correct.
I keep hearing about ads in Windows, but I have yet to experience anything like people claim.
I still have no clue what you are referring to. I don't see any of that.
Yep. I find it much better than anything Apple.
iOS based devices are where the lockdown is.
I don’t know what is going to happen in the future, but I wouldn’t be surprised if Asahi Linux becomes widely used. From my experience of turning a 7 year old MacBook and an 8year old MacBook Air into great Ubuntu Linux boxes, I think that old Apple hardware will be a common host to Linux. It feels great to get use out of old hardware.
Is the big corporation even racing you? Does it care? What devs and superusers want is regularly at odds with what makes sense for the actual business cases of a product.
I want all these things, too! But I recognize that it doesn't happen because what I want fails to make a solid business case, not because Apple is somehow incapable of writing an OpenGL driver for their own hardware.
If I'm in charge of the resourcing that could be committed to broader graphics standards support for M1/M2, what is the concrete (not hypothetical) case one can present to sell me that this is the right thing to focus on? I won't pretend to have the answer to this. There may very well be a very strong case to make. But it just doesn't quite feel right how I notice, on a daily basis, this lack of exploration or even just appreciation of all the factors and constraints that exist outside the technical portion of the problem. Maybe I'm just sensitive to this kind of issue because I feel this pain often at work.
[1] One example is the Clauswitz engine from Paradox Development Studio, which is used in all their games.
And you can play 7 hours in battery the best graphic games out there, with 1000nit display…
But yes, it's wonderful.
Godot 3 and Godot 4 did not recognize this OpenGL ES 3.1.
Wishing for Godot compatible support and external monitor support for M1 Air.
It's sort of battle when the opponent have not come to the battlefield at all due to no interest...I'd say corporataltion was beaten is bit of stretch here.
This is called a z-order curve[1, 2]. It makes texture mapping and mipmapping significantly more cache-friendly than the usual x-y ordering, because these operations are often performed in tiles of 2^n size.
I'd say it's more a fractal pattern than spiral-like, to be precise.
[1]: https://demonstrations.wolfram.com/ComparingXYCurvesAndZOrde...
[2]: https://en.wikipedia.org/wiki/Z-order_curve?wprov=sfla1
Or maybe an OpenGL ES 3.1 / Metal compatibility layer
The OpenGL compliance gives hope that a simple recompile will make some graphics applications available at high performance under Linux on Apple Silicon, this is good news. It's a niche of a niche though. Devs would be porting their apps to MacOS as a priority to Linux on the M1/2/3 if at all.
The only caveat is that most applications won't be compiled for ARM yet, so emulation will still be needed.
This is in contrast of Apple dropping support for OpenGL on their devices, and using their own API layer: Metal.
Asahi is working on a Fedora respin which will mean all your usual packages are a `dnf` command away.
I knew you were going to get this done!
In my opinion it’s ready to be a daily driver if you can stand using Arch or Fedora. I’m waiting for a Debian version, personally (there’s some instructions on getting it going already but I haven’t tried yet).
There are some limitations on the PCIe/Thunderbolt but Marcan has written a few times he thinks it may be possible though probably not worthwhile from a performance perspective. Of course even base thunderbolt is a WIP at this point so that answer could always change.
But who knows, perhaps she might. I don't claim any privilege to her decisions, just offering probabilities around human endurance.
Yes, it is conformant to a graphics API. It's called Metal¹. You might enjoy pretending that "the manufacturer" hasn't given a damn to provide a fully working and highly performant graphics API designed under the same roof alongside the people who designed the hardware, but this kind of petty dunking on Apple that seems to be so popular is not a good look.
1) https://en.wikipedia.org/wiki/Metal_(API)
Protip: Downvoting is not the same thing as refuting someone's argument with a cogent one of your own.