• BillyClark@piefed.social
    link
    fedilink
    English
    arrow-up
    8
    ·
    3 hours ago

    It’s an amazing accomplishment, but if anybody is wondering why it’s not flat-out impossible, she very likely was snooping on how it was controlled by existing drivers, either by looking at the software side, which honestly, I’m less familiar with, or by using something like a logic analyzer, which can be used to record signals being sent to the hardware directly. So, if she did it that way, she didn’t reuse the code of the existing driver, but analyzed the output. I’ve had to debug some drivers in the past with a logic analyzer, and just that was a lot of work.

    If she did it without existing drivers, then it would have been an absolute slog, I think bordering on impossible. You’d have to guess every signal. GPUs may be more specialized than CPUs, meaning that their instruction set will be smaller, but that would be insane.

    • AdrianTheFrog@lemmy.world
      link
      fedilink
      English
      arrow-up
      13
      arrow-down
      1
      ·
      2 hours ago

      lol I randomly searched for a page from collabora about how they reverse engineer GPU drivers (since I’ve seen that they’ve done that for other GPUs) and the very first page I went to was written by this person. Apparently this was a side project while she did fairly similar work on Mali GPUs at Collabora.

      Anyways, here’s what she said about the process:

      Typically, for Linux or Android driver reverse-engineering, a small wrap library will be written to inject into a test application via LD_PRELOAD that hooks key system calls like ioctl and mmap in order to analyze user-kernel interactions. Once the “submit command buffer” call is issued, the library can dump all (mapped) shared memory for offline analysis…

      it took some elbow grease to identify the three critical calls: memory allocation, command buffer creation, and command buffer submission…

      With those obstacles cleared, we can finally get to the shader binaries, black boxes in themselves. However, the process from here on out is standard: start with the simplest fragment or compute shader possible, make a small change in the input source code, and compare the output binaries. Iterating on this process is tedious but will quickly reveal key structures, including opcode numbers.

      From https://alyssarosenzweig.ca/blog/asahi-gpu-part-1.html , there’s a lot more details about the subsequent parts of the process in the next articles but they’re harder to summarize

  • TheThunderWolf@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    33
    arrow-down
    1
    ·
    6 hours ago

    very based

    personally grateful as i daily drive asahi linux

    posting this comment from an m2 macbook pro running fedora asahi

    • jnod4@lemmy.ca
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 hours ago

      The only reason I’m not buying an M series macbook is because I thought there’s no Linux support, have things changed? Is it all unofficial?

      • sudoer777@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        43 minutes ago

        M1 and M2 got unofficial Linux support pretty quickly. M3 still lacks GPU support last I checked and Apple is on M6 now. The oldest devices they sell are M4 and M1 is a year away from losing all support from Apple from what I was told, so yes things have changed but not in a good way. I’ve heard that the Framework 13 Pro might be a decent alternative though

    • partofthevoice@lemmy.zip
      link
      fedilink
      English
      arrow-up
      2
      ·
      4 hours ago

      You observe input and output across the entire API surface with every combination of discrete configuration options possible, then determine the function by which those outputs can be reproduced with the same parameters?

      You can probably automate collection of the I/O data. Determining the function probably requires some extra brain juice.

      Does it get more fancy than that?

  • BigTurkey@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    89
    ·
    8 hours ago

    Sometimes I think I’m smart then I hear stories like this and I’m humbled.

    She is a hero and a legend. It just makes me think, it’s so sad that we live in a world where the most altruistic, talented, and capable people make less than those that are the best at taking advantage of three system and others for their own greed.

    • Ann Archy@lemmy.world
      link
      fedilink
      English
      arrow-up
      40
      arrow-down
      1
      ·
      8 hours ago

      That’s what our economic system suppresses to bring the losers to the top.

      Wanna bet someone else profited off her hard work in some fashion without her seeing a dime? I know AI did.

      Did you know that the board game “Monopoly” was originally called The Landlord’s Game, meant to showcase how property ownership breaks the capitalist system for the common man?

      A capitalist came along, rebranded it “Monopoly”, took all the credit and lived like a king.

      Sweat of my brow indeed.

  • DickFiasco@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    294
    arrow-down
    1
    ·
    11 hours ago

    At age 20, she reverse-engineered the Apple GPU. At age 40, I got the LED to blink on my Arduino.

    • HubertManne@piefed.social
      link
      fedilink
      English
      arrow-up
      90
      ·
      10 hours ago

      I mean I have decades of doing all sorts of IT work and this is way beyond my level. Absolutely amazing.

      • Scrubbles@poptalk.scrubbles.tech
        link
        fedilink
        English
        arrow-up
        43
        ·
        10 hours ago

        I have such immense respect for people who know how the bits are physically flowing through a machine. I took classes about it but I can’t imagine doing that daily, it’s so tedious.

    • DeadPixel@lemmy.zip
      link
      fedilink
      English
      arrow-up
      39
      ·
      10 hours ago

      Wins no matter how small are wins!

      Don’t compare yourself to others, just enjoy the learning process & satisfaction it hopefully brings you for every single win, no matter the size!

      Arduino is a fantastic platform for learning, I still remember a lot of my ‘firsts’ with it, I had no idea what I was doing, we all start somewhere. Have fun!

      • thingsiplay@lemmy.ml
        link
        fedilink
        English
        arrow-up
        14
        ·
        9 hours ago

        While I agree partially, want to mention that having someone to compare to is not as bad as it sounds. Its only bad if you think its unreachable and you give up doing anything. Sometimes you need a hero to look up and fight and dream about it, for the motivation. I think looking up to people like Alyssa’s work is inspirational. In a similar way how I look up to those magicians who create emulators… but that is a different topic for another day.

  • Ann Archy@lemmy.world
    link
    fedilink
    English
    arrow-up
    37
    arrow-down
    6
    ·
    8 hours ago

    Alyssa reverse-engineered Apple’s M1 GPU with no public documentation and developed an open-source Linux driver.

    Be like Alyssa.

    I’d rather watch her do that than someone doing triple saltos at the olympics.

    This is way more impressive. 10/10

    • AeonFelis@lemmy.world
      link
      fedilink
      English
      arrow-up
      23
      arrow-down
      5
      ·
      7 hours ago

      No need to diminish Olympic athletes. They worked very hard to get there. There are plenty of influences you can diminish instead.

      • SalmonTractor@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 hours ago

        They’re also groomed as children - the decision almost always made by their parents before they’re old enough to decide if they actually want to.

      • Jarix@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        2
        ·
        4 hours ago

        Fuck the Olympics. It hasn’t been anything other than a corporate entity intent on making money above all else in almost a hundred years. IOC tramples on the rights of many people every day and the entirety of the organization can burn in hell

      • Ann Archy@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        8
        ·
        5 hours ago

        Seriously? I’m diminishing Olympic athletes? Go get your moral outrage gatekeeping fix somewhere else please.

    • 4am@lemmy.zip
      link
      fedilink
      English
      arrow-up
      8
      arrow-down
      1
      ·
      7 hours ago

      Canada has been killing it for like 50 years, being all the things the United States thinks it is

      I knew I should’ve escaped to Canada during Trump 1, they seem to be feeding and educating their kids right (except Alberta fuck Alberta ;) )

      • Darkonion@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        6 hours ago

        I had heard that other provinces university’s apply a 2 to 3% bump in GPAs to applicants from Alberta. The Alberta reason: They respect the advanced program as being more difficult. The other provinces reason: charity for the poor students raised there with a heavily exam-based GPA.

  • thingsiplay@lemmy.ml
    link
    fedilink
    English
    arrow-up
    54
    arrow-down
    1
    ·
    10 hours ago

    Some missing links:

    Alyssa Rosenzweig, GPU lead. Alyssa is a Linux graphics hacker. After reverse-engineering the Arm Mali GPUs and building the free Panfrost driver for them, she did the same magic trick on the Apple GPU and built the userspace Asahi graphics drivers.

    - https://asahilinux.org/about/

  • ReallyZen@lemmy.ml
    link
    fedilink
    English
    arrow-up
    66
    ·
    edit-2
    8 hours ago

    And beside those who survive (and provide us with great software), let us spare a thought for the ones who didn’t, proof the opensource community can be an evil pit of haters: marcan and AsahiLina.

    Both quit for different reasons, but both did it facing extremely unpleasant behaviours.

    As a regular Asahi user (m2pro mbp), I literally felt the project slowing down when they quit.

    An outcome of that crisis was the buildup of an organised directorial structure, with funding through the “Open Collective” organisation. That’s good, and it’s full of good people in there. Alyssa is an admin now btw.

    Let us wish them all the best (and strength against all evil neckbeards).

    Support them if you can!

    • sudoer777@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      34 minutes ago

      opensource community can be an evil pit of haters

      More like worthless shits on Kiwi Farms

      As a regular Asahi user (m2pro mbp), I literally felt the project slowing down when they quit.

      Me too, there’s still great work being done on the project but the pace hasn’t been the same since

      • ReallyZen@lemmy.ml
        link
        fedilink
        English
        arrow-up
        11
        arrow-down
        1
        ·
        10 hours ago

        Part of the hate campaign. Anyone following both accounts at the time was quite puzzled by the hypothesis.

      • Duamerthrax@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        1
        ·
        9 hours ago

        Their haters were going around and concern trolling that they were the same person. Anyone outside of the scene would take it as a stated fact and repeat it without knowing.

      • frongt@lemmy.zip
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        1
        ·
        9 hours ago

        Allegedly. There was no evidence either way, and ultimately it doesn’t matter anyway.

  • afk_strats@lemmy.world
    link
    fedilink
    English
    arrow-up
    174
    ·
    12 hours ago

    Of you look at all of the work behind Asahi, it’s incredible. I’m so grateful for heroes like Alyssa who are saving millions of computers from landfills when Apple no longer supports them

    • sudoer777@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      24 minutes ago

      saving millions of computers from landfills when Apple no longer supports them

      Kindof except that their build quality tanked during the late Intel era and the motherboards will die a lot sooner now

    • djhandsome@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      3 hours ago

      How far developed is asahi now? Is every hardware working? Last time i looked into it wifi didn’t work, i think. So i thought it was not useful for me.

      • sudoer777@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        21 minutes ago

        For M1 most things work except for USB-HDMI dongles and the fingerprint reader, I think M2 is in a similar boat now

      • kevingoes@feddit.online
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 hours ago

        I’ve been using Asahi as my daily driver on my m1 MacBook for a few weeks now. The only thing I’ve noticed that seems to not work is audio through the built in speakers. I normally use Bluetooth headphones anyways so I haven’t tried to fix it.

        • sudoer777@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          20 minutes ago

          Audio has been supported for a long time now, do you have “asahi-audio” installed?

    • chunkystyles@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      29
      arrow-down
      1
      ·
      9 hours ago

      I applaud them for their thankless work. I hate that it’s necessary in the first place.

        • djdarren@piefed.social
          link
          fedilink
          English
          arrow-up
          8
          ·
          7 hours ago

          I ran it on my M1 mini for several months a year or so back. At that stage it was probably 90% of what I needed it to be, which was bloody impressive. After I no longer needed it for work, I tried using it as my Home Assistant server, but with only 8gb RAM, ultimately it ended up being far more efficient to run HA in a virtual machine in macOS.

          But yeah, if you can pick up an M1 for a good price, give it a go. It’s good fun.

          • arsCynic@piefed.social
            link
            fedilink
            English
            arrow-up
            3
            ·
            edit-2
            7 hours ago

            I’ve already been using Linux for ten years, it definitely puts the fun back into computing. This would actually be primarily to know how to install it on a Mac, because when offering to install Linux as a replacement for Windows in groups I am part of, there have been multiple requests for doing so on a Mac. Unfortunately always had to answer I’ve never done so, so couldn’t promise anything.

            Anyway, is €375 for an Apple MacBook Air 2020 M1, 256GB a good price?

            • sudoer777@lemmy.ml
              link
              fedilink
              English
              arrow-up
              1
              ·
              18 minutes ago

              If you’re dual booting which is what they recommend, you should probably get a 512 GB model