M1 पर अनुरूप OpenGL 4.6

ओपन-सोर्स डेवलपर्स ने Linux के तहत Apple के M1 GPU पर पूर्णतः अनुरूप OpenGL 4.6 implementation हासिल की है, जो Apple के अपने non-conformant 4.1 drivers से आगे निकलती है और Blender तथा emulators जैसे आधुनिक OpenGL applications के साथ बेहतर compatibility सक्षम करती है। टिप्पणीकार इस बात पर विचार करते हैं कि Apple Silicon एक Linux platform के रूप में क्या अर्थ रखता है, Metal के performance और design की तुलना OpenGL और Vulkan की portability से करते हैं, और Linux hardware support तथा power management में शेष gaps को नोट करते हैं। बातचीत आगे बढ़कर इस पर केंद्रित होती है कि Vulkan और Metal जैसे आधुनिक low-level APIs usability, performance, और दीर्घकालिक relevance के मामले में OpenGL से कैसे तुलना करते हैं, खासकर indie developers और cross-platform game engines के लिए.

सामान्य प्रतिक्रिया

  • कई पाठकों को यह लेख पसंद आया, लेकिन उन्हें GPU/ड्राइवर के गहरे तकनीकी विवरणों का अनुसरण करना कठिन लगा।
  • कई लोगों ने इंजीनियरिंग प्रयास और ब्लॉग श्रृंखला के शैक्षिक मूल्य की बहुत प्रशंसा की।

macOS पर पोर्टिंग / Metal का उपयोग

  • कुछ लोग पूछते हैं कि क्या इसी तरह का OpenGL 4.6 समर्थन macOS पर आ सकता है।
  • बताए गए अवरोध:
    • Apple के पास स्थिर सार्वजनिक kernel API का अभाव और तीसरे पक्ष के kernel drivers पर प्रतिबंध।
    • Apple की GPU command submission को user space से इंटरफ़ेस करने और macOS compositing के साथ एकीकृत करने की आवश्यकता।
  • अन्य लोग तर्क देते हैं कि macOS पर GL-on-Metal layer, पूर्ण custom driver की तुलना में अधिक समझदारी भरा है, लेकिन वे प्रश्न करते हैं कि “legacy” API में भारी निवेश क्यों किया जाए।
  • प्रतिवाद: बहुत सा सॉफ़्टवेयर अभी भी OpenGL पर निर्भर है; कुछ लोग मानते हैं कि Apple की नैतिक ज़िम्मेदारी है कि वह इसका सही समर्थन करे।

Apple Silicon पर Asahi Linux

  • नया conformant OpenGL stack एक बड़ा milestone माना जा रहा है; कुछ का दावा है कि Apple Silicon अब “best Linux hardware” है।
  • प्रतिवाद:
    • macOS/Metal अभी भी Blender जैसे विशिष्ट workloads के लिए बेहतर performance देता है।
    • Asahi अभी feature-complete नहीं है: microphones, कुछ power-saving features, और hardware video decoding अधूरे हैं, हालांकि काम जारी है।
    • daily-driver के रूप में उपयुक्तता विवादित है: कुछ कहते हैं “ready नहीं”, जबकि अन्य इसे full-time सफलतापूर्वक उपयोग करने की बात करते हैं।

तकनीकी दृष्टिकोण और प्रदर्शन

  • मुख्य उपलब्धि: ऐसे hardware पर OpenGL 4.6 conformance हासिल करना जो मूल रूप से केवल लगभग OpenGL ES 3.1 तक ही मैप होता है।
  • अनुपस्थित features (geometry shaders, tessellation, transform feedback, आदि) compute shaders और shader tricks के माध्यम से emulate किए जाते हैं।
  • टिप्पणीकार इसे Zink (OpenGL on Vulkan) से तुलना करते हैं, और सोचते हैं कि ये “features-on-features” तकनीकें कितनी पुन: प्रयोज्य हैं।
  • Metal की तुलना में performance impact को “it depends” माना गया है और thread से पूरी तरह स्पष्ट नहीं है, हालांकि कुछ लोग ध्यान दिलाते हैं कि “hardware” features भी अक्सर microcode में implement होते हैं, इसलिए performance समान हो सकती है।

OpenGL बनाम Vulkan/Metal और API design

  • इस पर बहस कि Vulkan की बजाय OpenGL को पहले target क्यों किया जाए:
    • Pro-GL: पहले के काम से incremental path आसान, desktops/compositors के लिए तुरंत उपयोगी, और developers के पास पहले से GL-driver experience है।
    • Pro-Vulkan: Vulkan आधुनिक target है और उसमें पहले से GL layers हैं, लेकिन नीचे वही feature work फिर भी आवश्यक है।
  • OpenGL बनाम Vulkan की ease-of-use:
    • कई लोग कहते हैं कि OpenGL beginners और छोटे/indie projects के लिए बहुत आसान है; Vulkan का boilerplate और explicit synchronization डराने वाला है।
    • अन्य लोग तर्क देते हैं कि Vulkan की बहुत-सी “pain” एक बार की setup है और libraries में wrap की जा सकती है; अनुभवी graphics programmers के लिए Vulkan पसंदीदा है।
    • कुछ लोग Apple platforms पर Metal को OpenGL और Vulkan दोनों से अधिक clean और आसान मानते हैं।

इतिहास और ecosystem

  • चर्चा कि Quake और संबंधित games ने OpenGL को CAD से आगे बढ़ाकर mainstream PC gaming तक पहुँचाने में कैसे मदद की, जिसका प्रतिकार Direct3D के उदय ने किया।
  • मिश्रित दृष्टिकोण:
    • कुछ कहते हैं कि Direct3D का API evolution, tools, और GPU vendors के साथ cooperation अंततः PC पर “जीत” गया।
    • अन्य लोग Microsoft के OpenGL को किनारे करने के पुराने प्रयासों को उजागर करते हैं और नोट करते हैं कि Direct3D का Windows/Xbox lock-in उसे सच्चा cross-platform standard बनने से रोकता है।

OpenGL और cross-platform graphics का भविष्य

  • आम सहमति है कि OpenGL प्रभावी रूप से stagnant है: 4.6 आख़िरी version है, Apple platforms पर deprecated है, और drivers में increasingly Vulkan/Direct3D के ऊपर layered है।
  • फिर भी, कई लोग अभी भी OpenGL को:
    • आज सीधे लिखने के लिए सबसे व्यावहारिक cross-platform API मानते हैं।
    • कई non-AAA उपयोग मामलों के लिए पर्याप्त और सरल, भले ही cutting-edge performance के लिए उपoptimal हो।
  • कुछ लोगों को उम्मीद है कि उच्च-स्तरीय, OpenGL-जैसे APIs (जैसे Vulkan के ऊपर या wgpu या Zink जैसे projects के माध्यम से) accessibility के लिए महत्वपूर्ण बने रहेंगे।