- Asahi Linux प्रोजेक्ट Apple M1 और M2 Mac पर Linux चलाने में सक्षम बनाता है, और wireless, audio, graphics acceleration सहित अधिकांश हार्डवेयर सपोर्ट पूरा कर चुका है
- यह प्रोजेक्ट दिसंबर 2020 में Hector Martin ने शुरू किया था, और Alyssa Rosenzweig ने M1 GPU के shader instruction set की reverse engineering करते हुए इसमें भाग लिया
- दिसंबर 2022 में Asahi Linux ने OpenGL driver और kernel driver को जोड़कर graphics acceleration लागू किया, जिससे 3D गेम चलाना संभव हुआ
- 2023~2024 में Rosenzweig ने OpenGL 4.6 और Vulkan 1.4 स्पेसिफिकेशन को पूरा करने वाले drivers विकसित किए, और Proton के ज़रिए Windows गेम चलाने का समर्थन दिया
- इस open source प्रोजेक्ट ने Apple के non-standard drivers से आगे बढ़कर industry standard हासिल किया, और macOS में Vulkan लाने का रास्ता खोला
ओपन सोर्स प्रोजेक्ट का महत्व और फायदे
- Asahi Linux एक open source प्रोजेक्ट है जो Apple M1 और M2 chips पर Linux चलाने में सक्षम बनाता है, और proprietary software पर निर्भर हुए बिना पूर्ण हार्डवेयर सपोर्ट देता है
- जहाँ Apple के proprietary drivers OpenGL और Vulkan स्पेसिफिकेशन का पालन नहीं करते, वहीं Asahi Linux का लक्ष्य industry standard compliance है, जिससे reliability और compatibility बढ़ती है
- Panfrost जैसे अन्य open source graphics driver प्रोजेक्ट्स की तुलना में, Asahi Linux reverse engineering के ज़रिए तेज़ी से आगे बढ़ा और Proton का उपयोग करके gaming performance optimization के कारण अलग नज़र आया
प्रोजेक्ट की शुरुआत और शुरुआती काम
- दिसंबर 2020 में Hector Martin ने Asahi Linux शुरू किया और Apple M1 GPU की reverse engineering को आगे बढ़ाया
- Alyssa Rosenzweig Collabora में Panfrost (open source Arm Mali GPU driver) पर काम करते हुए इसमें शामिल हुईं
- शुरुआत में वह केवल साधारण सलाह देना चाहती थीं, लेकिन M1 Mac खरीदकर shader instructions का विश्लेषण शुरू किया
- 2021 की शुरुआत में Rosenzweig ने कुछ ही हफ्तों में triangle rendering में सफलता पाई, जिससे 3D graphics की बुनियाद तैयार हुई
- triangle rendering 3D graphics में हर काम की शुरुआत होती है, और इसके बाद जटिल graphics implementation संभव होता है
- इसके बाद shader compiler विकसित किया गया, और semester-end exam के बाद OpenGL driver लागू करके घूमते हुए gears का प्रदर्शन किया गया
driver development और उपलब्धियाँ
- 2021~2022 में Rosenzweig ने reverse engineering जारी रखते हुए OpenGL driver को बेहतर बनाया, और macOS पर 3D गेम चलाना संभव किया
- Asahi Lina ने Apple GPU के लिए kernel driver लिखा, जिसे user-space OpenGL driver के साथ जोड़ा गया
- दिसंबर 2022 में Asahi Linux ने graphics acceleration सपोर्ट किया और पूरा graphics stack तैयार हुआ
- 2023 में Rosenzweig ने University of Toronto में computer science के अपने अंतिम semester के दौरान driver development साथ-साथ जारी रखा
- Panfrost प्रोजेक्ट की सफलता के बाद, M1 GPU driver को एक नई चुनौती के रूप में लिया गया
- लक्ष्य: OpenGL 4.6, Vulkan, और Proton gaming सपोर्ट
OpenGL और Vulkan स्पेसिफिकेशन का पालन
- 2023 में OpenGL 3.1 लागू किया गया, और OpenGL ES 3.1 स्पेसिफिकेशन certification हासिल की गई
- OpenGL ES 3.2 में geometry shader की आवश्यकता होती है, लेकिन Apple hardware इसे सपोर्ट नहीं करता, इसलिए compute shader से इसका emulation किया गया
- Mesa driver के common code का उपयोग कर तेज़ी से development हुआ, और geometry/tessellation emulation लागू की गई
- जनवरी 2024 में OpenGL 4.6 स्पेसिफिकेशन certification हासिल की गई, जो Apple के non-standard drivers से आगे थी
- Vulkan driver development ने कुछ ही महीनों में Vulkan 1.3 certification हासिल कर ली
- geometry/tessellation emulation को Vulkan में शामिल किया गया, और Direct3D तथा Proton गेम्स का समर्थन मिला
- Vulkan 1.4 specification की घोषणा के दिन ही certification लागू की गई और तुरंत रिलीज़ किया गया
- Karol Herbst ने OpenCL 3.0 certification हासिल की, जिसमें Rosenzweig के compiler और rusticl frontend का उपयोग हुआ
- sparse texture सपोर्ट जोड़ा गया, जिससे Direct3D 12 और Proton के माध्यम से उन्नत गेम चलाना संभव हुआ
प्रोजेक्ट की उपलब्धियाँ और प्रभाव
- Asahi Linux ने OpenGL 4.6, OpenGL ES 3.2, OpenCL 3.0, Vulkan 1.4 का सपोर्ट दिया और सभी लक्ष्य पूरे किए
- drivers पूरी तरह Mesa में integrate किए गए, और performance optimization पूरा हुआ
- Proton gaming के ज़रिए Windows गेम Linux पर सुचारु रूप से चले, और Steam Deck की तकनीक का उपयोग हुआ
- Apple hardware पर Vulkan अनुपयुक्त है, इस गलतफ़हमी को तोड़ा गया, और LunarG के KosmicKrisp प्रोजेक्ट के माध्यम से macOS में Vulkan लाया गया
- प्रोजेक्ट की सफलता के बाद Rosenzweig Apple ecosystem से आगे बढ़ीं, और Asahi Linux टीम ने काम जारी रखा
- अगली चुनौती के रूप में Intel की Xe HPG architecture की ओर जाने की योजना है
निष्कर्ष
- Asahi Linux ने Apple M1 GPU की reverse engineering के माध्यम से open source graphics driver को सफलतापूर्वक विकसित किया
- industry standard compliance और Proton सपोर्ट के साथ Apple hardware पर Linux gaming की संभावनाओं का विस्तार हुआ
- यह प्रोजेक्ट open source community के सहयोग और reverse engineering तकनीक की ताकत दिखाता है, और proprietary systems के लिए एक विकल्प पेश करता है
4 टिप्पणियां
मैं Asahi Lina को subscribe किए हुए हूँ, इसलिए मैंने कभी उनके stream में M1 GPU reverse engineering और kernel development करते देखा था, लेकिन अब शायद वह archive हो गया है, इसलिए दिखाई नहीं देता…
वा.....................................................................................................................................राक्षस है
Hacker News टिप्पणियाँ
यह उपलब्धि सिर्फ तकनीकी गहराई के कारण ही नहीं, बल्कि अपने प्रतीकात्मक महत्व के कारण भी बेहद बड़ी है। Alyssa का काम सचमुच प्रेरणादायक है। गहरी तकनीकी समझ और लंबे समय की प्रतिबद्धता के साथ Apple Silicon पर open source graphics लाकर उन्होंने reverse engineers और open source developers दोनों को बड़ा प्रोत्साहन दिया है। उन्होंने नई पीढ़ी को दिखाया है कि जिज्ञासा और दृढ़ता से बाधाओं को पार किया जा सकता है। पिछले कुछ वर्षों में उनकी प्रगति को देखना वास्तव में आनंददायक रहा। उन्हें और इस प्रोजेक्ट को संभव बनाने वाले सभी लोगों को गहरा सम्मान, और Intel में उनकी नई चुनौती के लिए भी शुभकामनाएँ।
सचमुच ऐसा लगता है जैसे एक युग का अंत हो रहा हो। यह हैरानी की बात है कि उन्होंने यह सफर 18 साल की उम्र में शुरू किया और 5 साल में पूरा कर लिया। बहुत कम लोग मानते थे कि Asahi linux पर GPU चलाया जा सकेगा। उन्होंने “Onto the next challenge!” लिंक में जिस अगली चुनौती का ज़िक्र किया है, उसका क्या मतलब है, यह जानने की उत्सुकता है। क्या वह Intel Xe-HPG पर काम करने जा रही हैं?
हाँ, उनके resume में भी लिखा है कि उन्होंने इसी महीने से Intel में open source graphics drivers से जुड़े काम की शुरुआत की है।
“triangle draw” से शुरुआत करके अब M1 पर Vulkan तक upstream करा देना वाकई अविश्वसनीय है। व्यावहारिक रूप से इसी वजह से Apple Silicon guest environment में Venus/virtio path संभव हो पाया है, और बहुत से लोगों को ठीक इसी capability की ज़रूरत है।
"मैं Linux graphics की देखरेख करने वाली committee का हिस्सा हूँ, और उसमें आधे लोग transgender हैं। अगर आप सच में सिर्फ Linux की परवाह करते हैं, तो transgender लोगों पर होने वाले हमलों का विरोध करना चाहिए। अगर आपके भीतर ज़रा भी अंतरात्मा है, तो आपको इसके खिलाफ लड़ना चाहिए" (ब्लॉग लिंक)
मैं पूरी तरह जिज्ञासा से पूछ रहा हूँ, लेकिन अनुपात के हिसाब से बेहद प्रतिभाशाली transgender programmers की संख्या काफी ज़्यादा महसूस होती है। transgender आबादी कुल जनसंख्या का बहुत छोटा हिस्सा है, इसलिए किसी समूह का आधा transgender होना वास्तव में बहुत असामान्य बात है। ऊपर से “programmer socks” जैसा meme भी है, और मैं खुद भी कई सक्षम transgender programmers को व्यक्तिगत रूप से जानता हूँ।
मुझे समझ नहीं आ रहा कि इस comment का संदर्भ क्या है। इसे उसी लेखक ने लिखा है, लेकिन M1 GPU से इसका कोई सीधा संबंध नहीं दिखता।
जिस तरह लेखक ने 'असंभव' हार्डवेयर पर आधुनिक graphics API को तेज़ी से लागू किया और फिर बिना पीछे देखे आगे बढ़ गए, वह बेहद प्रभावशाली है। यह एकदम परफेक्ट ‘mic drop’ है।
इन तीनों को एक साथ कैसे संभाला गया, यह जानने की सचमुच उत्सुकता है। मुझसे तो मुश्किल से एक भी चीज़ ठीक से हो पाती है।
मुझे लगता है कि वह वास्तव में उन बहुत कम लोगों में से हैं जिनकी क्षमता असाधारण है। साथ ही, शायद वह काम करते समय बेकार की मेहनत में समय बर्बाद नहीं करतीं, और उन्हें पर्याप्त compensation भी मिलता है, इसलिए ऐसे परिणाम संभव हो पाए। इस स्तर का self-management और goal orientation वास्तव में बहुत दुर्लभ है। शायद परिवार, social life, या दूसरे hobbies लगभग न के बराबर हों।
यह किसी दंतकथा वाले 10x productivity engineer की कहानी जैसी लगती है।
मुझे यह सचमुच शानदार उपलब्धि लगती है। उन्होंने 23 साल की उम्र तक जितना हासिल किया है, वह मेरे 10 साल से अधिक के industry experience से भी ज़्यादा है। वह बेहद प्रतिभाशाली engineer हैं।
मैं Asahi टीम, खासकर GPU के काम के लिए, वास्तव में धन्यवाद कहना चाहता हूँ। OpenGL development को कभी फिर से शुरू करना मेरी wish list में था, और हाल में fedora-asahi remix को daily machine की तरह इस्तेमाल करते हुए मुझे सचमुच ऐसा लग रहा है कि मेरा कंप्यूटर फिर से मेरा अपना हो गया है। उनका काम मुझे Zig PinePhone code पर कोशिश जारी रखने के लिए प्रेरित करता है, भले ही मेरे पास GPU को poke'd framebuffer से आगे चलाने की क्षमता न हो। Asahi द्वारा supported API checklist वास्तव में चकित कर देने वाली है, और इतने कम समय में यह सब हासिल करना विश्वास से परे है। एक बार फिर धन्यवाद, और Intel में शुभकामनाएँ।
उन्होंने अगस्त में Intel में काम शुरू किया, और कुछ ही महीनों में वह इतना कर चुकी हैं जितना ज़्यादातर लोगों को एक साल लग जाता है। वास्तव में आश्चर्यजनक (resume लिंक)
कहने के लिए मेरे पास खास कुछ नहीं है, बस दिल से "शाबाश!" कहना चाहता हूँ, और आगे वह क्या करेंगी यह देखने के लिए उत्साहित हूँ।
Alyssa वास्तव में प्रेरणादायक हैं। यह देखकर खुशी होती है कि उन्हें उसी क्षेत्र में काम करने का मौका मिला है जिसमें उनकी वास्तविक रुचि है।
यह कहानी इतनी नाटकीय लगती है कि यकीन करना मुश्किल होता है कि यह सब एक ही इंसान ने किया, और यह काफ़ी प्रभावशाली भी है.
ब्लॉग में जाकर उनका resume भी पढ़ा, सच में कमाल के इंसान हैं.
लगता है उनकी पूरी ज़िंदगी ही graphics driver है;;