إعادة صياغة برنامج تشغيل VGEM في Rust

قدمت Maíra Canal من Igalia مشروعًا لإعادة كتابة برنامج تشغيل VGEM (موفر GEM الافتراضي) في Rust. يتكون VGEM من ما يقرب من 400 سطر من التعليمات البرمجية ويوفر واجهة خلفية GEM (مدير تنفيذ الرسومات) غير متوافقة مع الأجهزة تُستخدم لمشاركة الوصول إلى المخزن المؤقت لبرامج تشغيل الأجهزة ثلاثية الأبعاد مثل LLVMpipe لتحسين أداء تنقيط البرامج.

سيكون VGEM هو برنامج تشغيل رسومات Rust الثاني الذي يتم تشغيله على مستوى kernel (الأول كان برنامج تشغيل Asahi DRM (Direct Rendering Manager) لوحدة معالجة الرسومات Apple AGX المستخدمة في شرائح Apple M1/M2). يتطلب التطوير إنشاء روابط جديدة للعمل من كود Rust مع جهاز النظام الأساسي، ونوع XArray، والتجريدات المتعلقة بـ DMA مثل أسوار DMA. في المرحلة الحالية من التطوير، يكون برنامج التشغيل جاهزًا تقريبًا، ويجتاز معظم اختبارات IGT، باستثناء فحصين (vgem_slow وvgem_basic@unload)، ولكنه يتطلب تحسين دعم IOCTL.

المصدر: opennet.ru

إضافة تعليق