کار مجدد درایور VGEM در Rust

Maíra Canal از Igalia پروژه ای را برای بازنویسی درایور VGEM (ارائه دهنده مجازی GEM) در Rust ارائه کرد. VGEM از تقریباً 400 خط کد تشکیل شده است و یک GEM (مدیر اجرای گرافیک) سخت افزاری را ارائه می دهد که برای به اشتراک گذاشتن دسترسی بافر به درایورهای دستگاه سه بعدی نرم افزاری مانند LLVMpipe برای بهبود عملکرد شطرنجی سازی نرم افزار استفاده می شود.

VGEM دومین درایور گرافیک Rust خواهد بود که در سطح هسته اجرا می شود (اولین درایور Asahi DRM (مدیر رندر مستقیم) برای پردازنده گرافیکی Apple AGX مورد استفاده در تراشه های Apple M1/M2 بود). توسعه مستلزم ایجاد پیوندهای جدید برای کار از کد Rust با دستگاه پلت فرم، نوع XArray و انتزاعات مرتبط با DMA مانند حصارهای DMA بود. در مرحله فعلی توسعه، راننده تقریباً آماده است، اکثر تست های IGT را به استثنای دو بررسی (vgem_slow و vgem_basic@unload) پشت سر می گذارد، اما نیاز به بهبود پشتیبانی IOCTL دارد.

منبع: opennet.ru

اضافه کردن نظر