- โปรเจ็กต์ Asahi Linux ทำให้สามารถรัน Linux บน Mac ที่ใช้ Apple M1 และ M2 ได้ และรองรับฮาร์ดแวร์ส่วนใหญ่ครบแล้ว รวมถึงไร้สาย เสียง และ การเร่งกราฟิก
- โปรเจ็กต์นี้เริ่มต้นในเดือนธันวาคม 2020 โดย Hector Martin และ Alyssa Rosenzweig ได้เข้าร่วมด้วยการทำวิศวกรรมย้อนกลับชุดคำสั่งเชดเดอร์ของ M1 GPU
- ในเดือนธันวาคม 2022 Asahi Linux ได้ทำการเร่งกราฟิกสำเร็จโดยผสาน ไดรเวอร์ OpenGL เข้ากับไดรเวอร์เคอร์เนล ทำให้สามารถรันเกม 3D ได้
- ระหว่างปี 2023~2024 Rosenzweig ได้พัฒนาไดรเวอร์ที่สอดคล้องกับมาตรฐาน OpenGL 4.6 และ Vulkan 1.4 พร้อมรองรับการรันเกม Windows ผ่าน Proton
- โปรเจ็กต์โอเพนซอร์สนี้ก้าวข้ามไดรเวอร์นอกมาตรฐานของ Apple ไปสู่ มาตรฐานอุตสาหกรรม และเป็นแรงผลักดันให้ Vulkan เข้ามาสู่ macOS
ความสำคัญและข้อดีของโปรเจ็กต์โอเพนซอร์ส
- Asahi Linux เป็นโปรเจ็กต์โอเพนซอร์สที่ทำให้สามารถรัน Linux บนชิป Apple M1 และ M2 ได้ พร้อมมอบ การรองรับฮาร์ดแวร์อย่างสมบูรณ์ โดยไม่ต้องพึ่งซอฟต์แวร์แบบปิด
- ขณะที่ไดรเวอร์แบบปิดของ Apple ไม่เป็นไปตามมาตรฐาน OpenGL และ Vulkan นั้น Asahi Linux ตั้งเป้า การปฏิบัติตามมาตรฐานอุตสาหกรรม เพื่อเพิ่มความน่าเชื่อถือและความเข้ากันได้
- เมื่อเทียบกับโปรเจ็กต์ไดรเวอร์กราฟิกโอเพนซอร์สอื่นอย่าง Panfrost แล้ว Asahi Linux โดดเด่นด้วยการพัฒนาอย่างรวดเร็วผ่าน วิศวกรรมย้อนกลับ และการปรับจูน ประสิทธิภาพการเล่นเกม ด้วย Proton
การเริ่มต้นโปรเจ็กต์และงานช่วงแรก
- เดือนธันวาคม 2020 Hector Martin เริ่มต้น Asahi Linux และผลักดันการทำวิศวกรรมย้อนกลับ Apple M1 GPU
- Alyssa Rosenzweig เข้าร่วมระหว่างทำงานกับ Panfrost (ไดรเวอร์ GPU Arm Mali แบบโอเพนซอร์ส) ที่ Collabora
- ตอนแรกตั้งใจเพียงให้คำแนะนำง่าย ๆ แต่ต่อมาได้ซื้อ M1 Mac และเริ่มวิเคราะห์ ชุดคำสั่งเชดเดอร์
- ต้นปี 2021 Rosenzweig ประสบความสำเร็จในการ เรนเดอร์สามเหลี่ยม ภายในเวลาไม่กี่สัปดาห์ วางรากฐานให้กราฟิก 3D
- การเรนเดอร์สามเหลี่ยมคือจุดเริ่มต้นของทุกอย่างในกราฟิก 3D และเปิดทางไปสู่การทำกราฟิกที่ซับซ้อนยิ่งขึ้น
- หลังจากนั้นได้พัฒนา คอมไพเลอร์เชดเดอร์ และหลังสอบปลายภาคก็ได้สร้างไดรเวอร์ OpenGL พร้อมสาธิตเฟืองหมุน
การพัฒนาไดรเวอร์และผลงาน
- ในช่วงปี 2021~2022 Rosenzweig เดินหน้าทำ วิศวกรรมย้อนกลับ ต่อเนื่องและปรับปรุงไดรเวอร์ OpenGL จนสามารถรันเกม 3D บน macOS ได้
- Asahi Lina เขียน ไดรเวอร์เคอร์เนล สำหรับ Apple GPU และนำมาผสานกับไดรเวอร์ OpenGL ใน user space
- เดือนธันวาคม 2022 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 ต้องใช้ geometry shader แต่ฮาร์ดแวร์ของ Apple ไม่รองรับ จึงทำการจำลองด้วย compute shader
- ใช้โค้ดร่วมของไดรเวอร์ Mesa เพื่อเร่งการพัฒนา และสร้างการจำลอง geometry/tessellation
- เดือนมกราคม 2024 ได้รับการรับรองมาตรฐาน OpenGL 4.6 ก้าวล้ำกว่าไดรเวอร์นอกมาตรฐานของ Apple
- การพัฒนาไดรเวอร์ Vulkan ได้รับการรับรอง Vulkan 1.3 ภายในเวลาไม่กี่เดือน
- ผนวกการจำลอง geometry/tessellation เข้ากับ Vulkan เพื่อรองรับเกม Direct3D และ Proton
- ในวันเดียวกับที่ประกาศสเปก Vulkan 1.4 ก็ได้ทำ การรับรองมาตรฐาน สำเร็จและปล่อยใช้งานทันที
- Karol Herbst ได้รับการรับรอง OpenCL 3.0 โดยใช้คอมไพเลอร์ของ Rosenzweig และฟรอนต์เอนด์ rusticl
- เพิ่มการรองรับ sparse texture ทำให้สามารถรันเกมขั้นสูงผ่าน Direct3D 12 และ Proton ได้
ผลลัพธ์และอิทธิพลของโปรเจ็กต์
- Asahi Linux รองรับ OpenGL 4.6, OpenGL ES 3.2, OpenCL 3.0 และ Vulkan 1.4 บรรลุเป้าหมายทั้งหมด
- ไดรเวอร์ถูกรวมเข้ากับ Mesa อย่างสมบูรณ์ และปรับแต่งประสิทธิภาพเรียบร้อย
- Proton gaming ช่วยให้รันเกม Windows บน Linux ได้อย่างลื่นไหล โดยอาศัยเทคโนโลยีจาก Steam Deck
- โปรเจ็กต์นี้ได้ลบล้างความเข้าใจผิดที่ว่า Vulkan ไม่เหมาะกับฮาร์ดแวร์ของ Apple และนำ Vulkan มาสู่ macOS ผ่านโปรเจ็กต์ KosmicKrisp ของ LunarG
- หลังความสำเร็จของโปรเจ็กต์ Rosenzweig ได้ออกจากระบบนิเวศของ Apple โดยทีม Asahi Linux จะสานต่องานต่อไป
- ความท้าทายถัดไปมีแผนจะย้ายไปยัง สถาปัตยกรรม Xe HPG ของ Intel
บทสรุป
- Asahi Linux ประสบความสำเร็จในการพัฒนาไดรเวอร์กราฟิกโอเพนซอร์สผ่าน วิศวกรรมย้อนกลับ ของ Apple M1 GPU
- ด้วยการยึดตาม มาตรฐานอุตสาหกรรม และการรองรับ Proton จึงขยายความเป็นไปได้ของการเล่นเกมบน Linux บนฮาร์ดแวร์ Apple
- โปรเจ็กต์นี้แสดงให้เห็นพลังของความร่วมมือในชุมชนโอเพนซอร์สและ เทคนิควิศวกรรมย้อนกลับ พร้อมนำเสนอทางเลือกแทนระบบแบบปิด
4 ความคิดเห็น
ฉันติดตาม Asahi Lina อยู่ เลยเคยเห็นตอนสตรีมที่เธอทำรีเวิร์สเอนจิเนียริง GPU ของ M1 และพัฒนาเคอร์เนลอยู่บ้าง แต่ตอนนี้ไม่เห็นแล้ว ไม่แน่ใจว่าถูกเก็บเป็นอาร์ไคฟ์ไปแล้วหรือเปล่า…
ว้าว.....................................................................................................................................เป็นสัตว์ประหลาดจริง ๆ
ความคิดเห็นบน Hacker News
ความสำเร็จนี้มีความหมายอย่างมหาศาล ไม่ใช่แค่ในแง่ความลึกทางเทคนิค แต่ยังรวมถึงในเชิงสัญลักษณ์ด้วย งานของ Alyssa สร้างแรงบันดาลใจอย่างแท้จริง เธอนำโอเพนซอร์สกราฟิกส์มาสู่ Apple Silicon ด้วยความเข้าใจเชิงเทคนิคอย่างลึกซึ้งและความทุ่มเทยาวนาน ซึ่งเป็นแรงกระตุ้นอย่างมากให้กับนักรีเวิร์สเอนจิเนียร์และนักพัฒนาโอเพนซอร์ส และแสดงให้คนรุ่นใหม่เห็นว่าความอยากรู้อยากเห็นและความมุ่งมั่นสามารถก้าวข้ามกำแพงได้ การได้เห็นพัฒนาการตลอดหลายปีที่ผ่านมาช่างน่ายินดีอย่างยิ่ง ขอแสดงความเคารพอย่างสูงต่อเธอและทุกคนที่ทำให้โปรเจกต์นี้เกิดขึ้นได้ และขอเอาใจช่วยกับความท้าทายใหม่ของเธอที่ Intel
มันให้ความรู้สึกเหมือนจุดจบของยุคสมัยจริง ๆ น่าทึ่งมากที่เธอเริ่มการเดินทางนี้ตอนอายุ 18 และปิดงานได้ในเวลา 5 ปี ตอนแรกมีคนไม่มากนักที่เชื่อว่าจะทำให้ GPU ทำงานบน Asahi linux ได้ สงสัยจริง ๆ ว่าความท้าทายถัดไปที่เธอพูดถึงในลิงก์ “Onto the next challenge!” หมายถึงอะไร หรือว่าเธออาจจะไปทำงานกับ Intel Xe-HPG
ใช่ ในเรซูเม่ของเธอก็มีระบุว่าเริ่มทำงานเกี่ยวกับไดรเวอร์กราฟิกส์โอเพนซอร์สที่ Intel ตั้งแต่เดือนนี้
การเริ่มจาก “วาดสามเหลี่ยม” แล้วตอนนี้สามารถ upstream ไปถึง Vulkan บน M1 ได้เป็นเรื่องสุดยอดจริง ๆ ในทางปฏิบัติสิ่งนี้ทำให้เส้นทาง Venus/virtio บนสภาพแวดล้อม guest ของ Apple Silicon เป็นไปได้ ซึ่งหลายคนต้องการความสามารถนี้พอดี
"ฉันอยู่ในคณะกรรมการที่กำกับดูแล Linux graphics และครึ่งหนึ่งของคณะกรรมการนั้นเป็นคนข้ามเพศ ถ้าคุณให้ความสำคัญกับ Linux จริง ๆ คุณก็ควรต่อต้านการโจมตีคนข้ามเพศ และถ้าคุณยังมีมโนธรรมอยู่บ้าง ฉันคิดว่าคุณควรลุกขึ้นสู้กับเรื่องนี้" (ลิงก์บล็อก)
ถามด้วยความอยากรู้อยากเห็นล้วน ๆ นะ แต่รู้สึกว่าสัดส่วนของโปรแกรมเมอร์ข้ามเพศที่มีพรสวรรค์สูงนั้นมากผิดสัดส่วน ประชากรข้ามเพศมีสัดส่วนเล็กมากในภาพรวม แต่การที่ครึ่งหนึ่งของกลุ่มหนึ่งเป็นคนข้ามเพศนั้นเป็นเรื่องที่พบได้ยากมาก แถมยังมีมีมอย่าง “programmer socks” ด้วย และตัวฉันเองก็รู้จักโปรแกรมเมอร์ข้ามเพศฝีมือดีอยู่หลายคน
ไม่ค่อยเข้าใจบริบทของคอมเมนต์นี้เท่าไร แม้จะเป็นผู้เขียนคนเดียวกัน แต่ดูเหมือนไม่ได้เกี่ยวข้องโดยตรงกับ M1 GPU เลย
ภาพที่ผู้เขียนทำ API กราฟิกส์สมัยใหม่ให้ทำงานได้อย่างรวดเร็วบนฮาร์ดแวร์ที่ถูกมองว่า 'เป็นไปไม่ได้' แล้วจากไปแบบไม่ยึดติดนั้นทรงพลังมาก เป็นการ ‘mic drop’ ที่สมบูรณ์แบบ
แค่อยากรู้จริง ๆ ว่าทำทั้งสามอย่างพร้อมกันได้อย่างไร ฉันแค่ทำอย่างใดอย่างหนึ่งให้ดีสักอย่างยังยากเลย
ฉันคิดว่าเธอเป็นหนึ่งในไม่กี่คนที่มีศักยภาพโดดเด่นจริง ๆ แน่นอนว่าการไม่ต้องเสียเวลาไปกับความพยายามที่ไร้ความหมายระหว่างทำงาน และการได้รับค่าตอบแทนที่เหมาะสม ก็ทำให้ผลลัพธ์แบบนี้เป็นไปได้ การจัดการตัวเองและการมุ่งเป้าในระดับนี้เป็นกรณีที่หาได้ยากมาก เดาว่าเธออาจแทบไม่มีภาระด้านครอบครัว ชีวิตสังคม หรืองานอดิเรกอื่น ๆ เลย
ฟังดูเหมือนตำนานของวิศวกรประสิทธิภาพ 10 เท่า
คิดว่าเป็นความสำเร็จที่ยอดเยี่ยมมาก สิ่งที่เธอทำได้ตอนอายุ 23 มากกว่าสิ่งที่ฉันสั่งสมมาตลอดการทำงานในวงการกว่าสิบปีเสียอีก เป็นวิศวกรที่มีพรสวรรค์จริง ๆ
อยากขอบคุณทีม Asahi มาก ๆ โดยเฉพาะงานด้าน GPU การกลับไปพัฒนา OpenGL อีกครั้งสักวันเป็นหนึ่งในสิ่งที่ฉันอยากทำมานาน แต่ช่วงหลังที่ได้ใช้ fedora-asahi remix เป็นเครื่องหลักประจำวัน มันทำให้รู้สึกเหมือนได้เป็นเจ้าของคอมพิวเตอร์ของตัวเองอีกครั้ง งานของพวกเขาสร้างแรงบันดาลใจให้ฉันลองลุยกับโค้ด Zig PinePhone ต่อไป แม้ว่าฉันคงไม่มีฝีมือพอจะทำให้ GPU ทำงานได้เกินกว่า poke'd framebuffer ก็ตาม รายการ API ที่ Asahi รองรับนั้นชวนตะลึงมาก และแทบไม่น่าเชื่อว่าเขาทำได้ในเวลาสั้นขนาดนี้ ขอบคุณอีกครั้ง และขอให้โชคดีกับ Intel
เธอเริ่มทำงานที่ Intel ตั้งแต่เดือนสิงหาคม และภายในไม่กี่เดือนก็ทำผลงานได้มากเท่าที่คนส่วนใหญ่ต้องใช้เวลาถึงหนึ่งปีจริง ๆ น่าทึ่งมาก (ลิงก์เรซูเม่)
ไม่มีอะไรจะพูดเป็นพิเศษมากนัก แต่อยากชมจริง ๆ ว่า "ทำได้ดีมาก!" และตั้งตารอดูว่าเธอจะไปทำอะไรต่อ
Alyssa เป็นคนที่สร้างแรงบันดาลใจอย่างแท้จริง ดีใจที่เธอได้ทำงานในสิ่งที่เธอสนใจ
รู้สึกเหมือนเป็นเรื่องที่ดราม่าเกินกว่าจะเชื่อว่าเป็นผลงานของคนคนเดียวได้ แต่ก็ประทับใจมาก
ลองเข้าไปที่บล็อกแล้วอ่าน resume ดูด้วย บอกเลยว่าโหดจัด
ชีวิตทั้งชีวิตนี่คือกราฟิกไดรเวอร์ชัด ๆ;;