Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Graphics Apple Linux

Four-Person Dev Team Gets Apple's M-Series GPU Working On Linux (arstechnica.com) 55

An anonymous reader quotes a report from Ars Technica: For the brave people running Linux on Apple Silicon, their patience has paid off. GPU drivers that provide desktop hardware acceleration are now available in Asahi Linux, unleashing more of the M-series chips' power. It has taken roughly two years to reach this alpha-stage OpenGL driver, but the foundational groundwork should result in faster progress ahead, writes project leads Alyssa Rosenzweig and Asahi Lina. In the meantime, the drivers are "good enough to run a smooth desktop experience and some games."

The drivers offer non-conformance-tested OpenGL 2.1 and OpenGL ES 2.0 support for all M-series Apple devices. That's enough for desktop environments and older games running at 60 frames per second at 4K. But the next target is Vulkan support. OpenGL work is being done "with Vulkan in mind," Lina writes, but some OpenGL support was needed to get desktops working first. There's a lot more you can read about the interplay between OpenGL, Vulkan, and Zink in Asahi's blog post.

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

Four-Person Dev Team Gets Apple's M-Series GPU Working On Linux

Comments Filter:
  • Impressive. (Score:5, Insightful)

    by Major_Disorder ( 5019363 ) on Wednesday December 07, 2022 @06:02PM (#63111870)
    I cannot even imagine how difficult it must have been to reverse engineer something like this.
    Well done to all four of them.
    • I cannot even imagine how difficult it must have been to reverse engineer something like this.
      Well done to all four of them.

      I can imagine. It's hard enough to get the hardware working when you have the datasheets. (Though I guess some hardware manufacturers now hand-hold you through it. Back in the day though, we were setting bits in our drum memories by hand with a magnetized needle!) Doing it blind is a whole new level of hell.

      Well done indeed. And better them than me.

      • by tlhIngan ( 30335 )

        What I want to know is how. It's a difficult thing to do - GPU drivers are not simple devices you can figure out from a trace.

        I mean, did they reverse-engineer the driver from macOS, or did Apple somehow include portions of the driver as header files or what?

        You've got a black box and while you can communicate with it at a basic level, you have no idea to its actual ISA internally, its instruction set, its machine code representation, etc. At the same time, you need to figure out how to command it to do thi

        • I follow one of the devs on mastodon. They've written quite a bit about the work. They looked at traces from MacOS, but there was also a lot of trial same error to figure out the protocol, message structure and offsets for each firmware version.

          They first wrote a user mode driver in python for rapid iteration and then once it was stable ported the code to Rust and moved it into the kernel.

  • Seriously, if they've achieved a smooth Linux desktop experience they deserve to be millionaires!
    • by caseih ( 160668 )

      Guess you haven't used Linux in recent years, especially with Wayland. Can't speak for NVIDIA hardware, but with Intel and AMD it's been very smooth and responsive for years now.

  • by devslash0 ( 4203435 ) on Wednesday December 07, 2022 @06:39PM (#63111972)

    In every group of N people, the number of possible communication lines between different members is equal to N*(N-1)/2. This means that for 3 people we have 3 possible lines of communication - the triangle. For N=4 we have 4*3/2 = 6 lines, a.k.a. the square + diagonals, and so on. The critical number happens to be number 7 for which the team has the maximum of 21 possible conversations happening at the same time. Beyond 7 members, the work environment becomes chaos. But go below 7, and you'll up with a highly-efficient, tight-knit group of people who know what they are doing and get to the finish line in time, making impossible-in-larger-groups miracles happen with ease every day.

    • It's true small teams are more efficient, but big tasks can't be completed with a small team. It follows that big tasks cannot be completed efficiently. And so it is. You cannot build an aircraft carrier without some people ending up sitting on their hands or performing make-work some of the time.
      • Teams of teams can achieve larger goals, that's the theory behind middle managers. If only fewer of them were worthless.

        • What if we setup a structure where the middle managers could really focus by eliminating all distractions, like sending them offsite and cutting all communications?
      • by jd ( 1658 )

        If you use a hierarchy of teams, operating on the same idea (so, basically a quaternary tree), you ought to be able to keep things efficient.

        There are other tools that can help with managing large, complex projects (critical path analysis is one) that tend to get overlooked a lot.

  • Ah, original link says "working IN Linux", Sloshdat Oditurs are just shit at their job, nothing new to see here.
  • If anybody remembers the "byuu" drama a year or two back (byuu being the online name of the developer of the higan/bsnes emulation software), byuu allegedly committed suicide in Japan. Despite his claims of a passport release, there was never a death certificate, obituary, or any public record that verified his death. There have been rumors floating around that one of these developers, Asahi Lina (who is an anime Vtuber--which I had to google), is actually byuu.

    I have no idea if true or not. It would be nic

    • Another rumour is that Asahi Lina is an alterego for Hector Martin, the project lead himself.
      • I watched a little bit of one of the Asahi Lina coding stream. I guess it's a sign that I am getting older, but I don't get the Vtube stuff, or the feaux-girlish giggling while coding.

  • Just to nitpick, "Apple's M-Series GPU Working On Linux" should read "Linux Working On Apple's M-Series GPU".

    • Should actually have "mostly" on there. It's compatible with only a small subset. Booting to desktop is easy compared to a full 3d environment
    • Do you get Linux working on {pick a video card} or do you get {pick a video card} working on linux?

      The title is correct.

      • You get the {pick a video card} working with|under|using|from Linux.

        The video card itself does not execute software in the Linux environment.

        The title is wrong.

To the systems programmer, users and applications serve only to provide a test load.

Working...