HeadlinesBriefing favicon HeadlinesBriefing.com

برنامج تشغيل GPU لـ M4 Mac في شهر

Hacker News •
×

بنى Niklas وأنا برنامج تشغيل GPU متوافقًا تمامًا مع OpenGL ES 3.0 لـ M4 Mac Mini و MacBook Neo في حوالي شهر، وهي عملية تستغرق عادةً سنوات. يشغل برنامج التشغيل Chrome و Firefox مع WebGL و Minecraft بمعدل 200 إطار في الثانية. تضمن ذلك الهندسة العكسية لواجهة برمجة تطبيقات البرامج الثابتة (ABI) لوحدة معالجة الرسومات AGX ومكونات مساحة المستخدم بطريقة الغرفة النظيفة.

سابقًا، بنيت برنامج مراقبة افتراضية للهندسة العكسية لنظام macOS. كان هدفنا تنفيذ برامج تشغيل OpenGL متوافقة (وقريبًا Vulkan). قمنا بالهندسة العكسية لمساحة المستخدم لـ M4 و A18 Pro و M5، وبنينا مترجم IR/تظليل مخصص، وباني تدفق الأوامر، وبرنامج تشغيل نواة Linux كامل. استخدمنا فقط آثار الأجهزة والتظليل الخاص بنا، مع التعامل مع ملفات Apple الثنائية كغير شفافة.

يتحدث برنامج تشغيل النواة مع البرامج الثابتة لوحدة معالجة الرسومات التي تشغل RTKit، وليس مباشرة مع الأجهزة. كانت واجهة ABI للبرامج الثابتة الجزء الأكثر إزعاجًا، مع هياكل مشتركة تتداخل فيها حقول البرامج الثابتة والمضيف. اكتشفت Asahi Lina هذا لـ M1/M2 خلال أيام مرهقة من 12 ساعة.

الكود ليس جاهزًا للمستخدمين النهائيين، لكننا نهدف إلى إيصاله إليهم قريبًا.

الكيانات الرئيسية: الشركات: Apple | الأشخاص: Cody Ho، Niklas، Asahi Lina