Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Portables (Apple) Linux Apple

Asahi Linux Project's OpenGL Support On Apple Silicon Officially Surpasses Apple's (arstechnica.com) 43

Andrew Cunningham reports via Ars Technica: For around three years now, the team of independent developers behind the Asahi Linux project has worked to support Linux on Apple Silicon Macs, despite Apple's total lack of involvement. Over the years, the project has gone from a "highly unstable experiment" to a "surprisingly functional and usable desktop operating system." Even Linus Torvalds has used it to run Linux on Apple's hardware. The team has been steadily improving its open source, standards-conformant GPU driver for the M1 and M2 since releasing them in December 2022, and today, the team crossed an important symbolic milestone: The Asahi driver's support for the OpenGL and OpenGL ES graphics have officially passed what Apple offers in macOS. The team's latest graphics driver fully conforms with OpenGL version 4.6 and OpenGL ES version 3.2, the most recent version of either API. Apple's support in macOS tops out at OpenGL 4.1, announced in July 2010.

Developer Alyssa Rosenzweig wrote a detailed blog post that announced the new driver, which had to pass "over 100,000 tests" to be deemed officially conformant. The team achieved this milestone despite the fact that Apple's GPUs don't support some features that would have made implementing these APIs more straightforward. "Regrettably, the M1 doesn't map well to any graphics standard newer than OpenGL ES 3.1," writes Rosenzweig. "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... 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."

Now that the Asahi GPU driver supports the latest OpenGL and OpenGL ES standards -- released in 2017 and 2015, respectively -- the work turns to supporting the low-overhead Vulkan API on Apple's hardware. Vulkan support in macOS is limited to translation layers like MoltenVK, which translates Vulkan API calls to Metal ones that the hardware and OS can understand. [...] 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.

This discussion has been archived. No new comments can be posted.

Asahi Linux Project's OpenGL Support On Apple Silicon Officially Surpasses Apple's

Comments Filter:
  • by Anonymous Coward
    Surpassing Apples OpenGL support is like celebrating beating a blind 3 leg tortoise in a sprint.
    • by Anonymous Coward

      The thing is, Mesa for the most part supports the latest standards and it can do it all in software. So technically you can "beat Apple" on anything that can run Mesa. Not much of a challenge.

      Where are the benchmarks?

    • by Tarlus ( 1000874 )

      With little to no documentation on the hardware and zero support from the manufacturer, this is pretty goddamn impressive.

  • This is very impressive, congrats to the team for reaching this milestone. I wonder what the performance is like, but for my potential future use case (picking up a second hand M1 or M2 at some point, for light stuff, running Linux) it should be fine anyways. It's nice to have more options.
    • Yes, I concur! Bring on the Quake3 benchmarks!

    • by Tarlus ( 1000874 )

      Genuine curiosity: If you're going to buy a laptop for running Linux, why would you go with a MacBook (particularly with Apple Silicon) as opposed to a competing x86-64 laptop with hardware officially supported - or open enough to be readily supported - in Linux? You'll have access to a far greater selection of distros and binaries. Potentially less expensive, and you'll have fuller access to all of the laptop's hardware features.

      The Asahi project is cool as hell and is on my radar for the day that my M2 Ai

      • Exactly, when you use Linux you neither need high processing power nor long battery life, so why not use x86-64? Right?
        • by caseih ( 160668 )

          Who said he needed neither processing power nor battery life? I expect battery life is near the top of his list for a Linux laptop.

          Let's face it, Linux on x86 laptops has never had great battery life. From everything I've read, Asahi Linux on an M1 is a pretty nice experience, gives decent performance, and has good battery life. I'd even go so far as to say Apple's M1 machines make the best Arm Linux machines period. I've long complained about the fractured landscape that is Arm. The M1 and M2 are as cl

      • I'd be going for a second hand one, since where I live there are plenty of people getting rid of perfectly functional things. With the stellar battery life, even after years of use I'm assuming there will be plenty of hours left. Other brands may not get as many, and then Linux battery life on laptops isn't all that (experience based amongst other things on a new HP, 10 on Windows, 5 if that on Linux). I also hope that Apple Mn hardware will be better investigated and tuned for Linux long battery life. When
  • OpenGL 4.1 support? (Score:4, Informative)

    by Anonymous Coward on Thursday February 15, 2024 @04:13AM (#64241044)

    Apple's support in macOS tops out at OpenGL 4.1, announced in July 2010.

    On paper, maybe. They never properly implemented shader support, though, so their implementation wasn't actually any better than OpenGL 2.1 with shiny extensions. You had better functionality on iOS with its OpenGL ES 3.2 support.

  • by serafean ( 4896143 ) on Thursday February 15, 2024 @05:04AM (#64241084)

    > That involves branching, which is inefficient.

    I'm not in high performance, we never ever think about an if statement being inefficient... props to these guys.

    • by pavon ( 30274 )

      Branches are particularly bad on GPUs. In that SIMD model of computation you usually have multiple hardware blocks (called threads but unrelated to CPU threads) implementing the same instruction on different data in parallel. Since some of the threads will evaluate the branch condition to true and others false, and they are all operating in lockstep, that means the hardware needs to execute both branches every time, with some of the threads just sitting doing nothing while the other threads execute the "if"

  • by NoMoreACs ( 6161580 ) on Thursday February 15, 2024 @08:14AM (#64241368)

    Apple Deprecated OpenGL support in favor of its own Metal API several years ago. So, it is not surprising that somebody comes along years later and surpasses what Apple essentially abandoned.

    While what Ashai Linux has achieved on Apple Silicon, especially with little to no direct help from Apple, is remarkable, this is not a legitimate example of Out-doing Apple by Ashai, sorry.

    • Re:Why is this News? (Score:4, Interesting)

      by drinkypoo ( 153816 ) <drink@hyperlogos.org> on Thursday February 15, 2024 @08:45AM (#64241436) Homepage Journal

      While what Ashai Linux has achieved on Apple Silicon, especially with little to no direct help from Apple, is remarkable, this is not a legitimate example of Out-doing Apple by Ashai, sorry.

      Just because Apple has chosen to be outdone doesn't mean this isn't an example of Apple being outdone. It's not because they're better developers necessarily (although I'll bet they are) but that was not the claim. Apple is being hamstrung by its NIH ideology, and that is causing it to produce worse performing software given what users want. And one of the things that users want whether they are power users, developers, or just your average every day user who knows nothing about how computers or software work is compatibility. They want the stuff they want to run to work, and they don't want to know the details. And frankly, there is nothing at all wrong with that. They should not have to know.

      Apple doesn't agree. They want all users to be steeped in their culture. They want all Apple users to feel a sense of superiority over other users, and they want all other users to feel inferior. Every decision they make underscores this, from the iMessage bubble colors to their adoption of their own interface and connector instead of USB-C which they knew was coming before the first lightning device was released — Apple is a member of the USB-IF and the USB-C connector was demonstrated to the USB-IF before a single Lightning device went into mass production.

      TL;DR: Apple chooses to be inferior, but uses marketing to convince people that they are superior instead of making better and friendlier engineering decisions.

      Metal is exactly like Lightning, in that Apple was aware that Vulkan was in development before Metal was released, and they not only chose to go with their own API but they also chose not to implement anyone else's. But this hurts Apple customers, because while there is a compatibility layer for Vulkan on Mac OS, it is on top of Metal so performance is compromised. And they also deliberately chose to stop updating OpenGL for the same reason, so that no other API would outperform Metal on their system in order to try to fool people into thinking that Metal was better. There's nothing inherently wrong with Metal AFAIK, except that it's unpopular and developers don't want to support it, but that is enough to provide an inferior customer experience. And Apple is doing it on purpose to make themselves seem smart to Apple users.

      • Re:Why is this News? (Score:4, Interesting)

        by NoMoreACs ( 6161580 ) on Thursday February 15, 2024 @09:53AM (#64241670)

        TL;DR: Apple chooses to be inferior, but uses marketing to convince people that they are superior instead of making better and friendlier engineering decisions.

        If you think Metal3 is inferior to any version of OpenGL, you're delusional.

        And with MoltenVK getting better by the day (and it's already spectacularly performant), there's just pretty much no real argument to be had for either OpenGL Deprecation, nor lack of native Vulkan support.

        Have you seen this? It is a pretty-good real-world demo of what you can achieve with MoltenVK. And keep in mind this is already a few generations behind in both Hardware and Software:

        https://m.youtube.com/watch?v=... [youtube.com]

        • If you think Metal3 is inferior to any version of OpenGL, you're delusional.

          The way in which it is inferior is that it doesn't let me run the stuff I want to run, which uses OpenGL. Instead I can only run the stuff which uses Metal, which is a minuscule percentage of what I want to run.

          And with MoltenVK getting better by the day (and it's already spectacularly performant)

          It is slower than Vulkan would be on the hardware, and it always will be. There is no technical reason both cannot be on the hardware.

          there's just pretty much no real argument to be had for either OpenGL Deprecation, nor lack of native Vulkan support.

          Yes, that's what I said. Is that what you meant to say? Because now you're agreeing with me.

          • If you think Metal3 is inferior to any version of OpenGL, you're delusional.

            The way in which it is inferior is that it doesn't let me run the stuff I want to run, which uses OpenGL. Instead I can only run the stuff which uses Metal, which is a minuscule percentage of what I want to run.

            And with MoltenVK getting better by the day (and it's already spectacularly performant)

            It is slower than Vulkan would be on the hardware, and it always will be. There is no technical reason both cannot be on the hardware.

            there's just pretty much no real argument to be had for either OpenGL Deprecation, nor lack of native Vulkan support.

            Yes, that's what I said. Is that what you meant to say? Because now you're agreeing with me.

            OpenGL is Deprecated on Apple OSes; but I don't think it has been removed.

            • OpenGL is Deprecated on Apple OSes; but I don't think it has been removed.

              No, instead it's what OpenGL was in Windows NT before graphics card makers started distributing OpenGL drivers: Out of date and poorly maintained.

              I wouldn't mind someone explaining to me why the GPU manufacturers can fix this problem on Windows and not Mac OS, though. Microsoft has nothing to do with the current OpenGL drivers you get from AMD or Nvidia, but they exist on windows and are up to date just the same.

              • by Holi ( 250190 )

                Now a days? it's because Apple does not support 3rd party GPUs at all. How and why do AMD, Intel, or Nvidia create drivers for the OS when they systems do not allow the card to even be recognized?

                • I guess that answers that. I thought Apple still had one or two machines with expansion, but I'm clearly not up to date on their lineup. It is obviously not exactly a priority for me. The only Apple-related thing I still want to do is get the Radius accelerator out of my SE so I can sell it :)

                  • I guess that answers that. I thought Apple still had one or two machines with expansion, but I'm clearly not up to date on their lineup. It is obviously not exactly a priority for me. The only Apple-related thing I still want to do is get the Radius accelerator out of my SE so I can sell it :)

                    The Apple Silicon-based Mac Pro has plenty of appropriate Slots; but, AFAIK, zero 3rd Party GPU Support in macOS. I assume that the recent (Big Sur and forward) Intel Builds still support GPUs; but I don't know for sure.

                    • You mean it's just not possible to run a graphics driver on it? That's pretty funny. I hope this is the beginning of the end of having to hear people brag about that half-assed excuse for a decent operating system.

                    • You mean it's just not possible to run a graphics driver on it? That's pretty funny. I hope this is the beginning of the end of having to hear people brag about that half-assed excuse for a decent operating system.

                      I don't think so, no.

                      Frankly, I am philosophically suspicious about this move; but I am cautiously optimistic that Apple has thought this through. Other PCIx Peripherals are Supported; but Apple is evidently all-in on its GPU Roadmap.

                      Personally, I hope Apple finally has to split-off the GPU, and will create a Hyper-Speed Fabric Bus that will allow true GPU and Storage Expansion back.

                    • I remember it being kind of a big deal when you could finally put your own GPUs into Macs. It could have been an even bigger deal if they had embraced gaming by also embracing APIs which were NIH.

                    • I remember it being kind of a big deal when you could finally put your own GPUs into Macs. It could have been an even bigger deal if they had embraced gaming by also embracing APIs which were NIH.

                      They had fine OpenGL Support. . . When OpenGL was the only Game In Town, other than DirectX (speaking of Proprietary!).

                      And they still have OpenGL Support, albeit Deprecated (in name only); plus native Metal Support (which is a short hop from the New Game In Town, Vulkan, via MoltenVK).

                      But the lack of 3rd Party Video Card Support in the Mac Pros is kind of sad.

                  • by dgatwood ( 11270 )

                    I guess that answers that. I thought Apple still had one or two machines with expansion, but I'm clearly not up to date on their lineup.

                    They have machines with expansion. The Mac Pro supports PCIe cards, and other Macs support PCIe cards when attached over Thunderbolt. But there are exactly zero GPU drivers for Apple Silicon other than the built-in Apple GPU drivers, and I don't think Apple is allowing the GPU vendors to sign new kexts anymore.

                    • I guess that answers that. I thought Apple still had one or two machines with expansion, but I'm clearly not up to date on their lineup.

                      They have machines with expansion. The Mac Pro supports PCIe cards, and other Macs support PCIe cards when attached over Thunderbolt. But there are exactly zero GPU drivers for Apple Silicon other than the built-in Apple GPU drivers, and I don't think Apple is allowing the GPU vendors to sign new kexts anymore.

                      So where is this going?

              • My understanding is that Apple provides the OpenGL implementation, the GPU vendor only provides the underlying plumbing. Same as with the FLOSS stack.

                https://lwn.net/Articles/95537... [lwn.net] , read the mesa paragraph.

              • OpenGL is Deprecated on Apple OSes; but I don't think it has been removed.

                No, instead it's what OpenGL was in Windows NT before graphics card makers started distributing OpenGL drivers: Out of date and poorly maintained.

                I wouldn't mind someone explaining to me why the GPU manufacturers can fix this problem on Windows and not Mac OS, though. Microsoft has nothing to do with the current OpenGL drivers you get from AMD or Nvidia, but they exist on windows and are up to date just the same.

                Well, since the only GPU maker allowed now is Apple, the point is somewhat Moot.

      • The common thread;

        "instead of USB-C which they knew was coming before the first lightning device was released "
        "was aware that Vulkan was in development before Metal was released,"

        X was in development [will be ready someday] but technology we already have is ready now.

        There is always something better on the horizon, at some point you have to choose, sometimes Apple gets it right, sometimes not.

        The Wayland vs X-windows seems to be the same thing. Someday Wayland will work, maybe, but I need to write a docume

        • Well, "Metal has been available since June 2, 2014 on iOS devices powered by Apple A7 or later", while "The Khronos Group began a project to create a next generation graphics API in July 2014 with a kickoff meeting at Valve.[55] At SIGGRAPH 2014, the project was publicly announced with a call for participants." So not really.

          And while we are at it: "Lightning ... was introduced on September 12, 2012", while "Design for the USB-C connector was initially developed in 2012 by Apple Inc. and Intel.[2] Type-C

      • by dgatwood ( 11270 )

        Metal is exactly like Lightning, in that Apple was aware that Vulkan was in development before Metal was released, and they not only chose to go with their own API but they also chose not to implement anyone else's.

        You're right. It's kind of like Lightning in that you're wrong on both counts.

        Although there was an AMD-specific predecessor, Mantle, that predates Metal, it wasn't intended to be available for other GPU manufacturers. Vulkan development per se began in July of 2014, a month *after* the Metal API was released in June of 2014. Vulkan was probably created as a response to Metal.

        USB-C development also began after Lightning was released. In fact, the first USB-C spec wasn't released until about two years af

    • by tlhIngan ( 30335 )

      Apple Deprecated OpenGL support in favor of its own Metal API several years ago. So, it is not surprising that somebody comes along years later and surpasses what Apple essentially abandoned.

      While what Ashai Linux has achieved on Apple Silicon, especially with little to no direct help from Apple, is remarkable, this is not a legitimate example of Out-doing Apple by Ashai, sorry.

      Well, technically, Khronos Group deprecated OpenGL in favor of Vulkan (for many reasons). After all, OpenGL and OpenGL ES support h

      • As for Metal, Khronos also supports MoltenVK, which is a Vulkan to Metal translation layer. It's fairly thin, showing how the APIs pretty much overlap.

        Which is exactly why I think Apple doesn't include "native" Vulkan Support in macOS.

  • Over the years I occasionally find myself headed down the rabbit hole of graphics programming looking at the primitives used for windowing systems, microcontrollers with touchscreens, etc. Inevitably my brain starts to run out of my ears trying to understand the complexity of it all.

    Geometry shaders, tessellation, and transform feedback become compute shaders.

    Yeah, I get that but only at a very superficial level. The actual coding required to emulate hardware features is not for the typical IDE jockey.

  • by Budenny ( 888916 ) on Thursday February 15, 2024 @05:11PM (#64243142)

    Asahi is a great achievement. Its made Apple hardware generally possible and attractive, in spite of Apple. Its a bit like in the previous episode of this opera, running MacOS on non-Apple hardware ,but in reverse.

    There are two components, the OS and the hardware. Apple always used to have an OS that people wanted, and so they would put up with hardware that was either inferior or (when they went to Intel) over-priced. If they would only have sold the OS to run on the hardware of your choice they would have sold a heap more of it. But being Apple, they would not.

    In fact, you can argue that back in the early days they were largely responsible for the rise in Windows and the IBM compatible OEM industry. They would not license the OS. But they also would not or could not make enough hardware to meet demand. So the market, which wanted PCs of some sort, with some kind of graphical interface, bought the only thing they could get in the required quantity, Windows PCs. Because of the ease of entry into the hardware market pretty soon there were as many of them as anyone wanted. Apple having refused to supply, the market turned to someone who would.

    This is now playing out in reverse. At the moment they have hardware that people want. It really does seem like very nice hardware. If they would just sell barebones systems or the same hardware running Windows or Linux they would probably sell heaps of it.

    But being Apple, they will not. Being Apple, they insist on selling you the OS, whether you want it or not, if you are going to be allowed to buy their hardware. They are a bit more enlightened than they were in the earlier period, they are not actively doing things to the hardware to stop you running any other OS on it. But they are also not encouraging it, so it will remain a niche market.

    Yes, they will sell more Macs with the new hardware and MacOS than they did when they were selling overpriced Intel to people who were determined to run MacOS and so put up with the overpriced Intel hardware Apple insisted on supplying with it. But they are, as in the earlier case, squandering the real opportunity for huge volume sales of their superb hardware, if they would only cut it loose from the OS that none of the market except their fans wants.

    Good for Asahi in this situation. They have some of us seriously considering buying Apple hardware for the first time in many decades.

    At this point one hears the creaking of joints as the Mac fraternity start jumping up and down, and claiming that sourcing the OS and the hardware from the same source delivers something called better integration. Right. We are supposed to believe that the same OS running on PPC, on Intel, and now on Arm, using standard memory, disks, interface components, screens, keyboards...etc was in all of those iterations somehow mystically more connected to the components than an HP or Asus machine running Windows? Well, you can believe it if it helps you to sleep... but no-one else is buying it.

    But we may buy the hardware, now we can get an OS that we want running on it.

C for yourself.

Working...