9 ms·
Asahi Linux project's OpenGL support on Apple Silicon officially surpasses Apple
- BirAdam 3y agoHonestly, I have been a bit disappointed by Apple. On one hand, they make some seriously awesome hardware with amazing performance doing tasks like rendering and whatnot. On the other hand, they seem incapable of getting awesome performance in other areas, the hardware is incredibly locked away from the supposed owners of the devices, and the pricing for RAM and storage are insane. I don't want to dislike Apple because the hardware is great and their stand against US law enforcement on things like encryption, but a handful things shatter the experience for me. Asahi seems to be solving part of the problem, but the hardware being so ... expensive and locked away remains an issue.
- echelon_musk 3y ago> their stand against US law enforcement on things like encryption Are you referring to the San Bernadino shooter's iPhone? Because Apple's attempt to introduce CSAM scanning is certainly not what I would call a stand against US law enforcement.
- buildbot 3y agoI imagine they are, as well as the e2e encryption added to icloud after they dropped the CSAM thing. My pet theory is basically a rouge VP started the on device scanning project with whatever external org they worked with, and basically blindsided the rest of the company. Tim Cook probably called the person and was like what the fuck. Or at least I’d like to imagine that. I wonder if that VP still works at Apple?
- threeseed 3y ago[flagged]
- stephenr 3y agoMy understanding is that on-device scanning was meant to prevent an argument from {government, law enforcement, 'think of the children' types} against E2EE solutions. Apple's solution for a lot of things in general, is to favour on-device solutions.
- wkat4242 3y agoTrue but it's really hard to imagine how they ever expected the "my own device spies on me by design" to fly. Maybe they miscalculated that the "for the children" argument would convince the consumer which was obviously a huge miscalculation. Even though they clearly thought of safeguards so it wouldn't lead to many issues in practice, it's just so incredibly wrong at the core that it creeps people out just thinking of it. I can't think of anyone in my circles who would accept this. It's just so extremely out of bounds. And I lost a lot of respect for Apple as a result considering they thought it was ok to propose this. And it would have been total theater anyway because obviously the real offenders would just use something else.
- paulmd 3y agoone could argue that it was intended not to fly and that apple successfully threaded the needle of getting E2EE out the door without invoking a legislative response on the basis of "think of the children/terrorists". look at what apple did: they lined up E2EE, got the pushback from law enforcement, floated a solution that would have accomplished the stated goals, then effectively invoked the court of public opinion which said "hell no" and then just launched E2EE anyway. Now we are in the end-state of successfully having E2EE without a bunch of backdoors, and the only real victim is apple's public reputation with a bunch of android nerds who were never going to like them anyway.
- wkat4242 3y ago> the only real victim is apple's public reputation with a bunch of android nerds who were never going to like them anyway. I don't agree. I have several Apple fan friends whose admiration for Apple really dropped. They're still on iOS and Mac because they're so invested (walled garden and all). But the enthusiasm and deep devotion is gone. Not just because of that, though it was the first drop. But also the recent sideloading malicious compliance thing. That deep trust is gone. I used to be an apple fan too but I already dropped off earlier (for want of deciding what I can run on my own hardware). So I'm definitely an android nerd. But this made waves even inside the Apple camp.
- r00fus 3y ago> Because Apple's attempt to introduce CSAM scanning is certainly not what I would call a stand against US law enforcement. I do. Because they listened to the dissent and changed course. CSAM scanning offline on the phone is effectively dead.
- mixmastamyk 3y agoThe "shreiking minority" says otherwise. And the recent hardware back door that existed for years: https://news.ycombinator.com/item?id=38783112 https://news.ycombinator.com/item?id=38783112 https://arstechnica.com/security/2023/12/exploit-used-in-mass-iphone-infection-campaign-targeted-secret-hardware-feature/ https://arstechnica.com/security/2023/12/exploit-used-in-mas... There probably are others.
- astrange 3y agoAutomated CSAM scanning is another Europe thing. The US doesn't require it and isn't going to.
- threeseed 3y ago> Apple's attempt to introduce CSAM scanning Apple almost certainly has CSAM scanning and has had so for years. They just wanted to move it to your device where it's private rather than doing so server side.
- kjkjadksj 3y agoIt feels like the hardware engineers are just marching blind making stronger hardware for these computers by the year. Like the hardware feels like it has no constraints when you run a game. The emulation layers the game has to run through seem to limit the fps to 40, but interestingly there is zero performance impact to changing graphical settings all the way to ultra for many games that are able to run through rosetta. This shows there is a ton of headroom available if apple developers bothered making it easy for game developers to write natively for these computers. Instead, good faith between apple and third party developers is totally burned and not even Valve is writing games for mac anymore despite how absurdly performant these devices are, especially compared to ten years ago when mac gaming was supposed to get its renaissance per apples marketing and the good relationships they had with developers back then.
- steveklabnik 3y agoAre these the Rust-based drivers they've talked a ton about, or different ones?
- urschrei 3y agoThese are the Mesa drivers linked from the blog post: https://gitlab.freedesktop.org/asahi/mesa https://gitlab.freedesktop.org/asahi/mesa, so not Rust AFAICS
- alexlarsson 3y agoThe rust part is in the Kernel
- dathinab 3y agoyes, rust-based drivers at the core but also a bunch of other things like it uses mesa and similar parts of the normal GPU support stack and also involved some kernel patches outside of the rust kernel module as far as I vaguely remember really a grate achievement where in the end rust was like a tool to make certain parts easier but all the hard parts are in the end unrelated to rust (like reverse engineering, coming up with solutions for the many issues of mapping GPU APIs Apple doesn't care much about to hardware mainly focused on on just Metal etc.)
- neogodless 3y agoSee also: https://news.ycombinator.com/item?id=39371669 https://news.ycombinator.com/item?id=39371669 (100+ comments) Conformant OpenGL 4.6 on the M1 (rosenzweig.io)
- larrik 3y agoI switched to an M1 Air back at the beginning of 2021, was on Linux (desktop machine) about a decade before that. It's basically purely a work machine (software and management). The hardware is amazing. The battery life is astounding. The software, in almost every area, is inferior to my experience in Linux. The Apple parts generally worst of all (only Microsoft Office on it is worse). In the end, I'm probably 70% as efficient on macOS as I was on Linux after 3 years of using it. The one thing macOS did better than my Linux box, hands-down, was supporting a 4k monitor. My Linux install was a little long in the tooth, though, so hopefully it's gotten better? I really look forward to using Asahi when/if it's ready. I'd love to go back to Linux. Example gripes: - macOS offers this great feature that announces the time every half hour (or whatever you set it to). For a year, after a major OS update, it just didn't work after reboot unless you went in and changed it. Solutions? Wait for Apple to fix it (or write a wonky script to fix it on boot, which I did). Eventually they did, but ug. - to support using 3 finger clicks as middle-click I had to buy software. On Windows this is just built in. On Linux it's on by default. - to make Spotify work somewhat properly I had to download separate software (BeardSpice). After 3 years, I forget what that actually does - if I open Spotify and hit the Play button on my keyboard, Apple Music opens. (Once I actually play Spotify it fixes it, though) - it took me a LONG time to figure out how to set Excel to open CSVs instead of Apple's Numbers app - The Apple calendar app alerts me whenever I create an event in another app (Outlook, Google, whatever). Like I got invited. To an event I created. It didn't used to do that...
- kjkjadksj 3y agoThe way these modern macs are set up in terms of permissions is really strange and has put some projects on a backburner for me. My latest woe is getting newsboat to refresh my rss feeds either as a cronjob or launchd service. On my mojave machine this was as trivial as it sounds, either a single line in crontab or a single line with some window dressing to make it into a launchd plist file then its OK. I try and do this now and it doesn’t work, since it appears newsboat runs and pulls changes but is unable to actually write changes to the cache database now. I have gone down the rabbit hole now of giving full disk access to the shell, cron, launchd, launchctl, and the newsboat binary, but no dice. I can’t get it to work and I can’t find anything about why this shouldn’t work other than permitting full disk access. Even then that shouldn’t be required because the cache.db file sits in the users home directory.
- btown 3y agoOne of the coolest things (IMO) about the entire Asahi effort, and why I'm not at all surprised that they surpassed Apple, was the dedicated effort to build bespoke developer-friendly Python tooling early in the reverse engineering process. https://asahilinux.org/2021/08/progress-report-august-2021/ https://asahilinux.org/2021/08/progress-report-august-2021/ > Since the hypervisor is built on m1n1, it works together with Python code running on a separate host machine. Effectively, the Python host can “puppeteer” the M1 and its guest OS remotely. The hypervisor itself is partially written in Python! This allows us to have a very fast test cycle, and we can even update parts of the hypervisor itself live during guest execution, without a reboot. > We then started building a Python implementation of this RPC protocol and marshaling system. This implementation serves a triple purpose: it allows us to parse the DCP logs from the hypervisor to understand what macOS does, it allows us to build a prototype DCP driver entirely in Python, and it will in the future be used to automatically generate marshaling code for the Linux kernel DCP driver. Code here: https://github.com/AsahiLinux/m1n1/blob/main/proxyclient/m1n1/fw/dcp/ipc.py https://github.com/AsahiLinux/m1n1/blob/main/proxyclient/m1n... If you watch any of Asahi Lina's streams from the time before they had their full drivers implemented in Rust, she's able to weave together complex bitflag-manipulating pipelines at the speed of thought with self-documenting code, all in Python running on the host machine, all while joking with viewers via her adorable avatar. I've never seen anything like it before. The whole workflow is a tremendous and unprecedented accomplishment by the entire Asahi team.
- panick21_ 3y agoI really like this talk by Bryan Cantrill on tool making. https://www.p99conf.io/session/sharpening-the-axe-the-primacy-of-toolmaking/ https://www.p99conf.io/session/sharpening-the-axe-the-primac...
- jjice 3y agoI completely agree, this is a great talk. I can listen to Bryan and friends speak for hours. I'm not sure if he's a natural story teller or if he's learned over time, but that combined with his experience just makes for a treat.
- charcircuit 3y agoOpenGL has been deprecated on Mac for 6 years which is why Apple stopped investing into their implementation. Instead apps should be using Metal.
- MBCook 3y agoThis is such lazy framing. What the team has done is great, but this article says they’ve beat Apple in a race Apple refused to run. Duh. Of course they won. The original blog post has tinges of this framing, which just reads sort of like dunking/hostility to me (for the reason above). This Ars article, and others I’ve seen, just run with it and make it the centerpiece. Apple isn’t trying. It’s not a race. So framing it like that is a disservice to the reader. Just celebrate the accomplishment. Write about the fact the team is doing so great. You don’t need to shove it into some incorrect narrative.
- beatshift 3y ago[flagged]
- Aurornis 3y agoThe original article ( https://rosenzweig.io/blog/conformant-gl46-on-the-m1.html https://rosenzweig.io/blog/conformant-gl46-on-the-m1.html ) has more details. The important part to note is that the M1 hardware doesn't map well to newer OpenGL standards because Apple deprecated OpenGL in 2018: > Regrettably, the M1 doesn’t map well to any graphics standard newer than OpenGL ES 3.1. While Vulkan makes some of these features optional, the missing features are required to layer DirectX and OpenGL on top. No existing solution on M1 gets past the OpenGL 4.1 feature set. > How do we break the 4.1 barrier? Without hardware support, new features need new tricks. Geometry shaders, tessellation, and transform feedback become compute shaders. Cull distance becomes a transformed interpolated value. Clip control becomes a vertex shader epilogue. The list goes on. OpenGL has been officially deprecated since macOS Mojave (2018), so it shouldn't come as a surprise to anyone that in 2024 the hardware doesn't map well to newer OpenGL features. The media narrative is trying to push this as an "outdoing Apple at their own game" thing, but Apple very clearly stopped supporting OpenGL and did so with advance warning years ago. That said, it's an impressive accomplishment that they managed to translate the newer calls into compute shaders and other tricks. It's very impressive work.
- wkat4242 3y agoThey shouldn't have deprecated OpenGL though. It's really important for desktop software. Several games have lost Mac support due to this like elite dangerous. Of course they push metal but that's not interesting to desktop developers.
- selectodude 3y agoOpenGL itself has been depreciated for almost 7 years now. I won’t wade into Vulkan vs Metal but depreciating OpenGL seems pretty reasonable to me.
- pests 3y agoIt's a little different from depreciating since OpenGL was still impented and available on non-M Mac.
- deleted 3y ago[deleted]
- fluxem 3y ago[flagged]
- sebzim4500 3y agoBecause they want to run Linux on Apple Silicon
- fluxem 3y ago[flagged]
- sekLabs 3y agobecause they don't like macos
- tlivolsi 3y agoBecause the hardware is good, and some people want to run Linux instead of macOS on it.
- fluxem 3y ago[flagged]
- binarymax 3y agoApple PC/Laptop hardware far exceeds that of Dell.
- mrguyorama 3y agoThe M series chips are relatively unique in the market right now. Being able to do real work for several hours on battery is quite impressive. Hopefully that carries over to a linux install.
- babypuncher 3y agoBecause then the hardware wouldn't be as good. But the real answer is, why not?
- psanford 3y agoI love this work, but I will point out that the Asahi GPU driver still struggles on certain real world workloads. The one I run into quite often is that Google Maps will hang for long periods of time. This is a known issue and they are working on it, so I'm sure it will be fixed sometime this year.
- paulmd 3y agowouldn't surprise me if google maps had some obscene amount of drawcalls instead of proper culling/"LOD"
- psanford 3y agoFrom the gpu issue tracker[0]: > For a bit of context -- Google Maps loads images to the GPU at.. inopportune times. While games would typically load their images during a load screen (so slow image loading just means longer loading screens), Google Maps loads when scrolling around I think (so slow image loading means the whole map stutters). I don't think there's a fundamental driver bug we can fix here, but we can make image loading a lot faster which makes the symptoms go away. [0]: https://github.com/AsahiLinux/linux/issues/72#issuecomment-1856257061 https://github.com/AsahiLinux/linux/issues/72#issuecomment-1...
- ianschmitz 3y agoThat sounds like how raster image rendering works on most mapping applications? The tiles are loaded on demand as you pan/zoom
- HideousKojima 3y ago[flagged]
- sickofparadox 3y agoV-tubers in general are very strange, and attract fanbases of strange individuals. A sort of natural attraction.
- faitswulff 3y agoIs...that Hector Martin's vtuber persona? I was under the impression that they were different people.
- HideousKojima 3y ago[flagged]
- asoneth 3y agoThere is some evidence to that effect: https://news.ycombinator.com/item?id=35237006 https://news.ycombinator.com/item?id=35237006 (Note that I'm not necessarily endorsing any specific views about this, just linking to a past discussion.)
- chippiewill 3y agoIt almost certainly is. But it's never been officially confirmed and I doubt Hector ever would as it was never his intention.
- hn8305823 3y agoWhy do we care? Ashai Linux is obviously a high-IQ effort and we are very fortunate they are motivated to work on this instead of something else (like ML)
- HideousKojima 3y ago[flagged]
- whitehexagon 3y ago6 years ago I said I'd never give apple another cent, but the Asahi Linux project, and especially their efforts around OpenGL, or more specifically their ES 3 support, finally convinced me to pick up a secondhand M1 last month. Amazing work by the team! I wonder if one day the USB4 ports will be able to fully support USB3, so confusing. Anyway I haven't felt the need to boot macos so far :) and the installation was a breeze, big thanks to the team. As a bonus the unified memory allowed me to get an LLM running locally, but I suspect it is CPU bound and probably not using the new GPU driver.
- pjmlp 3y agoWhen I give money to Apple is for the whole experience, if I want to support Linux, I give money to Linux OEMs, like Asus netbooks in the past.
- blastersyndrome 3y agoI thought Asahi Linux's sole developer didn't allow discussion of his project here? I remember there being quite a lot of fallout from that, what happened?
- larvaetron 3y ago> didn't allow How would he even enforce this?
- chippiewill 3y agoIIRC it was if you link directly to the Asahi Linux website then a bit of javascript picks up the HN referrer and blocks viewing the page.
- blastersyndrome 3y agofor a short time, he was monitoring the referral header and made his website display an offensive message if you clicked the link from HN. HN's mods then edited links to his domain so they would emit the referral header, and he responded by implementing a browser exploit to detect if certain HN URLs were in your browser history. In any case, I apologize for using the wrong wording.
- E39M5S62 3y agoHow can someone forbid discussion of something on a site they don't own/control?
- ZekeSulastin 3y agoThey can’t forbid discussion but they can try to make it so people visiting from HN can’t see the page; they aren’t the only ones, either, as the poster upthread mentioning jwz’s image redirect noted.
- nozzlegear 3y agoEveryone else is asking how they wouldn’t allow discussion on HN, but I’m more interested in why they don’t want discussion on HN?
- dylan604 3y agoJust the thought of how to prioritize things in all of the reversing is enough to make me overwhelmed. Have they talked about how they prioritize? "Asahi's most recent update blog post, published in mid-January, highlighted HDMI support, support for DRM-protected websites via Google's proprietary Widevine package, Touchbar support for the handful of Apple Silicon Macs that use one, and more." Seems odd to me that a Linux open source focused something would spend so much effort on supporting DRM over USB3 functionality. So for them to go that direction implies to me they have good reasons. Are they trying to satisfy users? My knee jerk reaction would be the users willing to use this would be accepting of not supporting DRM.
- chippiewill 3y agoThe Asahi team isn't some monolithic corporation with a prioritised backlog. The skillsets and amount of work involved in getting Widevine working (quickly porting the binary from ARM64 ChromeOS) vs USB 3 (reverse engineer Apple's unique undocumented implementation and write a Linux kernel driver for it) are completely different. It's open source, if someone volunteers a Widevine implementation for Asahi then the maintainers aren't going to say no. Generally speaking Alyssa does GPU reverse engineering, Marcan does the other hardware reverse engineering, Asahi Lina writes the GPU driver and everyone else does various miscellaneous bits (like userspace binaries).
- saagarjha 3y ago> The skillsets and amount of work involved in getting Widevine working (quickly porting the binary from ARM64 ChromeOS) vs USB 3 (reverse engineer Apple's unique undocumented implementation and write a Linux kernel driver for it) are completely different. They're not all that different to be honest
- HeWhoLurksLate 3y agofor one data point, I'd much rather have DRM supported than USB 3 support- one lets me do casual things and use my machine while I relax or do whatever, and for most USB 3 devices I can just suck it up and wait for a file transfer, or do what I normally do and work off of my NAS.
- Sunspark 3y agoApple should embrace this if the project is in need of reference materials. Apple is a hardware company primarily, so if someone buys their hardware because it will be compatible with an OS they may like more, that's still a sale for Apple. No funds are lost, because MacOS doesn't charge for a new install on Apple hardware.
- palata 3y agoI really love the project, but I would guess that Apple just doesn't care because it's not bringing enough profit for them to care.
- overstay8930 3y agoApple does not want to be a hardware company, in fact when they sell lots of hardware their stock price goes down. If they can't charge a monthly fee for it, they're not doing it.
- Juicyy 3y agoOnly 20-25% of Apple's revenue is services. about 50% is iPhone about 8% for Mac and 8% for iPad. They're a hardware company.
- threeseed 3y agoApple has always been a hardware and software company. Nobody is buying the iPad or iPhone because it has better specs. Most don't even know how much memory they have. It's because of the OS, apps, ecosystem etc.
- overstay8930 3y agoI didn’t say they’re not a hardware company, I said they don’t want to be one because it makes shareholders very uneasy about the stability of the company.
- pjmlp 3y agoApple sells a complete experience, like everyone else was doing before IBM lost ownernship of the PC. Even UNIX, CP/M and MSX vendors, only supported their own version of it, on their own hardware.
- pockmockchock 3y agousing Asahi on my m2 for a year now and it's awesome, the install is straight forward my grandmother could do it. also love the rolling releases.
- tiffanyh 3y agoSource post: https://rosenzweig.io/blog/conformant-gl46-on-the-m1.html https://rosenzweig.io/blog/conformant-gl46-on-the-m1.html
- radlad 3y ago> Rosenzweig's blog post didn't give any specific updates on Vulkan except to say that the team was "well on the road" to supporting it. In addition to supporting native Linux apps, supporting more graphics APIs in Asahi will allow the operating system to take better advantage of software like Valve's Proton, which already has a few games written for x86-based Windows PCs running on Arm-based Apple hardware. Does anyone know whether these improvements will also help with gaming on macOS? I assume that Mac ships its own driver without these APIs, but e.g. will Proton for Mac or Whisky (Wine for Mac) be able to make use of them?