• Aeder@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    5 days ago

    I admire people like this because even though there’s like 3 pieces of hardware I wish I could fix like this, I’ve got no clue where to start. And except for one, most are simpler devices than the M1 GPU.

    • PumaStoleMyBluff@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      5 days ago

      Some of the basics of reverse engineering:

      • Learn to use a binary editor to inspect compiled binaries
      • Learn to debug without symbols
      • Learn to use a decompiler
      • Learn to inspect the traffic between the device and the OS

      It’s kind of monumental and there’s no real finish line for learning any of them.

    • Johanno@feddit.org
      link
      fedilink
      English
      arrow-up
      4
      ·
      5 days ago

      Depending on what you want to do you need a lot of time, dedication, tools and probably money.

      • Aeder@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 days ago

        Well, one is a GPU like this one that only has 2D support and it’s apparently perpetually stuck as experimental. The second one is a trackpad / numpad combo that someone else got working but because the code never got upstreamed it broke. The last one is an internal microphone that might have support in the kernel but it might be missing quirk flags or a small change in how it works.

        • pastaq@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          5 days ago

          The second two are orders of magnitude easier than the first. Out of date code usually just means it relies on some ABI that was deprecated, so it needs to be updated with the new functions. Microphone pin quirks are fairly common so there are a lot of resources available a search away.

        • Johanno@feddit.org
          link
          fedilink
          English
          arrow-up
          2
          ·
          5 days ago

          That sounds like reading a lot of documentation and testing stuff out when no dox is available.

          And probably you first need to learn about each device how they function on an os level…