14P by GN⁺ 8시간전 | ★ favorite | 댓글 3개
  • Asahi Linux 프로젝트는 Apple M1 및 M2 Mac에서 Linux를 실행 가능하게 하며, 무선, 오디오, 그래픽 가속을 포함한 대부분의 하드웨어 지원을 완료
  • 프로젝트는 2020년 12월 Hector Martin이 시작했으며, Alyssa Rosenzweig가 M1 GPU의 셰이더 명령어 세트를 역설계하며 참여
  • 2022년 12월 Asahi Linux는 OpenGL 드라이버와 커널 드라이버를 결합해 그래픽 가속을 구현, 3D 게임 실행 가능
  • 2023~2024년 Rosenzweig는 OpenGL 4.6 및 Vulkan 1.4 규격을 충족하는 드라이버를 개발, Proton을 통한 Windows 게임 실행 지원
  • 이 오픈소스 프로젝트는 Apple의 비규격 드라이버를 넘어 산업 표준을 달성하며, macOS에 Vulkan을 도입하는 계기를 제공

오픈소스 프로젝트의 중요성과 장점

  • Asahi Linux는 Apple M1 및 M2 칩에서 Linux를 실행 가능하게 하는 오픈소스 프로젝트로, 독점 소프트웨어에 의존하지 않고 완전한 하드웨어 지원을 제공
  • Apple의 독점 드라이버가 OpenGL 및 Vulkan 규격을 준수하지 않는 반면, Asahi Linux는 산업 표준 준수를 목표로 하여 신뢰성과 호환성을 높임
  • Panfrost와 같은 다른 오픈소스 그래픽 드라이버 프로젝트와 비교해, Asahi Linux는 역설계를 통해 빠르게 발전하며, Proton을 활용한 게이밍 성능 최적화로 차별화됨

프로젝트 시작과 초기 작업

  • 2020년 12월, Hector Martin이 Asahi Linux를 시작하며 Apple M1 GPU의 역설계를 추진
    • Alyssa Rosenzweig는 Collabora에서 Panfrost(오픈소스 Arm Mali GPU 드라이버) 작업 중 참여
    • 초기에는 간단한 조언을 제공하려 했으나, M1 Mac을 구매해 셰이더 명령어 분석을 시작
  • 2021년 초, Rosenzweig는 몇 주 만에 삼각형 렌더링에 성공, 3D 그래픽의 기초를 닦음
    • 삼각형 렌더링은 3D 그래픽에서 모든 작업의 시작점으로, 이후 복잡한 그래픽 구현 가능
  • 이후 셰이더 컴파일러를 개발, 학기 말 시험 후 OpenGL 드라이버를 구현해 기어 회전을 시연

드라이버 개발과 성과

  • 2021~2022년, Rosenzweig는 역설계를 지속하며 OpenGL 드라이버를 개선, macOS에서 3D 게임 실행 가능
    • Asahi Lina가 Apple GPU용 커널 드라이버를 작성, 사용자 공간의 OpenGL 드라이버와 결합
    • 2022년 12월, Asahi Linux는 그래픽 가속을 지원하며 완전한 그래픽 스택 완성
  • 2023년, Rosenzweig는 토론토 대학교 컴퓨터과학 마지막 학기를 보내며 드라이버 개발을 병행
    • Panfrost 프로젝트 성공 후, M1 GPU 드라이버를 새로운 도전으로 삼음
    • 목표: OpenGL 4.6, Vulkan, Proton 게이밍 지원

OpenGL 및 Vulkan 규격 준수

  • 2023년, OpenGL 3.1을 구현하고, OpenGL ES 3.1 규격 인증 획득
    • OpenGL ES 3.2는 지오메트리 셰이더를 요구하나, Apple 하드웨어는 이를 지원하지 않아 컴퓨팅 셰이더로 에뮬레이션
    • Mesa 드라이버의 공통 코드를 활용해 빠르게 개발, 지오메트리/테셀레이션 에뮬레이션 구현
  • 2024년 1월, OpenGL 4.6 규격 인증을 획득, Apple의 비규격 드라이버를 초월
  • Vulkan 드라이버 개발은 수개월 만에 Vulkan 1.3 인증을 획득
    • 지오메트리/테셀레이션 에뮬레이션을 Vulkan에 통합, Direct3D 및 Proton 게임 지원
    • Vulkan 1.4 사양 발표 당일 규격 인증 구현, 즉각 배포
  • Karol Herbst는 OpenCL 3.0 인증을 획득, Rosenzweig의 컴파일러와 rusticl 프론트엔드 활용
  • 희소 텍스처 지원을 추가해 Direct3D 12 및 Proton을 통해 고급 게임 실행 가능

프로젝트 성과와 영향

  • Asahi Linux는 OpenGL 4.6, OpenGL ES 3.2, OpenCL 3.0, Vulkan 1.4를 지원하며 모든 목표 달성
    • 드라이버는 Mesa에 완전히 통합, 성능 최적화 완료
    • Proton 게이밍을 통해 Windows 게임을 Linux에서 원활히 실행, Steam Deck의 기술 활용
  • Apple 하드웨어에서 Vulkan이 부적합하다는 오해를 깨고, LunarG의 KosmicKrisp 프로젝트를 통해 macOS에 Vulkan 도입
  • Rosenzweig는 프로젝트 성공 후 Apple 생태계를 떠나며, Asahi Linux 팀이 작업을 이어감
    • 다음 도전으로 Intel의 Xe HPG 아키텍처로 전환 계획

결론

  • Asahi Linux는 Apple M1 GPU의 역설계를 통해 오픈소스 그래픽 드라이버를 성공적으로 개발
  • 산업 표준 준수와 Proton 지원으로 Apple 하드웨어의 Linux 게이밍 가능성을 확장
  • 이 프로젝트는 오픈소스 커뮤니티의 협력과 역설계 기술의 힘을 보여주며, 독점 시스템에 대한 대안을 제시

한 사람이 해낸 일이라고 보기에 너무 드라마같은 이야기같기도하고 인상깊습니다.
블로그 들어가서 resume 도 읽어봤는데 괴물이네요
그냥 인생 자체가 그래픽 드라이버임;;

Hacker News 의견
  • 이 성과는 기술적인 깊이뿐만 아니라 그 상징성 면에서도 엄청난 의미를 가짐, Alyssa의 작업은 정말 영감을 주는 일임, 그녀가 깊은 기술적 통찰과 오랜 시간의 헌신으로 Apple Silicon에 오픈소스 그래픽스를 도입함으로써 리버스 엔지니어들과 오픈소스 개발자들에게 큰 자극이 되었음, 호기심과 끈기로 장벽을 뛰어넘을 수 있다는 점을 새로운 세대에게 보여줌, 지난 몇 년 동안 발전하는 모습을 보는 것이 정말 즐거웠음, 그녀와 이 프로젝트를 가능하게 한 모든 분들께 큰 존경을 표함, 그리고 Intel에서의 새로운 도전도 응원함

    • 정말 한 시대의 끝처럼 느껴짐, 처음 이 여정을 시작한 게 18살이었고 5년 만에 마무리했다는 게 놀라움, Asahi linux에서 GPU를 작동시킬 수 있을 거라고 믿는 사람은 많지 않았음, 그녀가 “Onto the next challenge!”라는 링크에서 말한 다음 도전이 뭘 의미하는지 궁금함, 혹시 Intel Xe-HPG에서 일하게 되는 건 아닐지 생각됨

      • 맞음, 그녀의 이력서에도 이번 달부터 Intel에서 오픈소스 그래픽스 드라이버 관련해서 일하기 시작했다는 내용이 있음

      • “삼각형 그리기”에서 시작해서 이제는 M1에서 Vulkan까지 upstream 시킨 점이 정말 대단함, 실질적으로 이 덕분에 Apple Silicon 게스트 환경에서 Venus/virtio 경로가 가능해졌는데, 많은 이들이 바로 이 기능을 필요로 하고 있음

  • "나는 Linux 그래픽스를 감독하는 위원회에 속해 있음, 그 중 절반이 트랜스젠더임, 만약 Linux만을 중요하게 생각한다면 트랜스젠더에 대한 공격에 저항해야 함, 조금이라도 양심이 있다면 이에 맞서 싸워야 한다고 생각함" (https://rosenzweig.io/blog/growing-up-alyssa.html">블로그 링크)

    • 순수한 호기심에서 묻는 건데, 엄청난 재능을 가진 트랜스젠더 프로그래머가 비율적으로 굉장히 많은 느낌임, 트랜스젠더 인구는 전체에서 아주 적은 비율인데도 어떤 그룹의 절반이 트랜스젠더인 경우가 정말 드문 일임, 게다가 “프로그래머 양말”처럼 밈도 있고, 나 역시도 능숙한 트랜스젠더 프로그래머 여러 명을 직접 알고 있음

    • 이 코멘트의 맥락이 뭔지 잘 모르겠음, 같은 저자가 쓴 것이긴 하지만 M1 GPU와는 아무 직접적 관련이 없어 보임

  • 작성자가 '불가능'한 하드웨어에서 최신 그래픽스 API를 빠르게 구현해낸 다음, 그대로 미련 없이 떠난 모습이 정말 강렬하게 다가옴, 완벽한 ‘마이크 드랍’임

    • Intel GPU로 옮겨가는 것은 떠나는 게 아니라 새로운 도전을 수락하는 것임
    1. 토론토대학교 학생
  1. Collabora에서 리더 역할
  2. 엄청 성공적인 야심찬 취미 프로젝트
    이 세 가지를 어떻게 동시에 해낼 수 있었는지 정말 궁금함, 나는 겨우 하나도 제대로 하기가 힘든데
  • 실제로 뛰어난 역량을 가진 몇 안 되는 사람 중 하나라고 봄, 물론 일을 하면서 무의미한 노력에 시간을 낭비하지 않고, 충분한 보상도 받기 때문에 이런 결과가 가능했다는 생각이 들음, 이런 수준의 자기 관리와 목표 지향성은 정말 드문 케이스임, 아마 가족, 사교생활, 다른 취미가 거의 없을 수도 있다고 생각함

  • 전설 속의 10배 생산성을 가진 엔지니어 이야기처럼 들림

  • 정말 멋진 성취라고 생각함, 그녀가 23살에 이룬 게 내가 10년 이상 업계에서 일하며 쌓은 것보다 많음, 정말 재능 있는 엔지니어임

    • 누군지 정확히 모르겠지만, 솔직히 말하자면 그녀가 평생 동안 내가 할 수 있는 것보다 이미 더 많은 것을 이뤘음, 나도 수십 년을 업계에서 일했지만 그럴 자신이 없음
  • Asahi 팀, 특히 GPU 작업에 정말 감사함을 전하고 싶음, OpenGL 개발을 언젠가 재개하는 게 내 위시리스트였는데, 최근 fedora-asahi remix를 일상 머신으로 쓰게 되면서 컴퓨터를 정말 다시 내 것으로 소유하는 느낌임, 그들의 작업은 내가 Zig PinePhone 코드를 계속 시도하도록 영감을 줌, 비록 GPU를 poke'd framebuffer 이상으로 돌릴 실력은 없겠지만 말임, Asahi에서 지원하는 API 체크리스트가 정말 압도적인데, 이런 짧은 기간에 이뤄낸 건 믿기 어려울 정도임, 다시 한 번 감사하고 Intel에서의 행운도 빌겠음

  • 그녀는 8월에 Intel에서 일하기 시작했는데, 몇 달 만에 대부분이 1년이 걸릴 만큼의 성과를 이미 이뤄냈음, 정말 놀라움 (이력서 링크)

  • 특별히 할 말이 많진 않지만 정말 "잘했어!"라고 칭찬하고 싶음, 그리고 앞으로 무슨 일을 하게 될지 기대됨

  • Alyssa는 정말 영감을 주는 사람임, 그녀가 자기가 흥미로워하는 분야에서 일하게 되어 기쁨

워.....................................................................................................................................괴물이네