Valve حمایت مالی پروژه‌ای را آغاز کرده که هدفش پورت کردن درایور متن‌باز Radeon Vulkan (RADV) از لینوکس به ویندوز است. تیم Collabora گزارش داده نسخهٔ اولیهٔ این پورت اکنون قادر به اجرای بازی‌هایی مانند Counter-Strike 2 است.

اهمیت پورت RADV برای اکوسیستم گرافیکی

وجود یک درایور Vulkan متن‌باز و قابل‌اجرا روی ویندوز، اجرای بازی‌ها و توسعهٔ چندسکویی را ساده‌تر می‌کند. پروژهٔ RADV بخشی از پشتهٔ Mesa است که در لینوکس به‌عنوان گزینه‌ای پایدار و بهینه برای کارت‌های AMD شناخته می‌شود؛ در مقابل، در ویندوز عموماً درایور رسمی AMD به‌عنوان گزینهٔ اصلی عرضه می‌شود که در برخی موارد مشکلات پایداری و ناسازگاری در پروژه‌های چندسکویی ایجاد می‌کند.

موانع فنی و راه‌حل Collabora

چالش اصلی هنگام انتقال RADV به ویندوز مربوط به ارتباط میان فضای کاربر و درایور هسته است. با معرفی Windows 10 و مدل نمایش درایور WDDM 2.0، جداسازی بین فضای کاربر و بخش هسته بهبود یافت و امکان اتصال RADV به درایور هستهٔ AMD فراهم شد. با این وجود، رابط بین فضای کاربر و هسته اغلب مستند نشده است و تجزیه‌و‌تحلیل بسته‌های دادهٔ عبوری لازم است.

ابزارها و فرایند مهندسی معکوس

  • ابزاری پایه که در سال 2024 توسط Faith Ekstrand ساخته شد، امکان لاگ‌گیری فراخوان‌های WDDM 2.0 را فراهم کرد.
  • Collabora این ابزار را توسعه داد و لاگر را طوری گسترش داد که بتواند فراخوان‌های Vulkan را هنگام اجرای درایور رسمی AMD ضبط کند و داده‌های عبوری به هسته را استخراج نماید.
  • با استفاده از داده‌های استخراج‌شده و مهندسی معکوس کنترل‌کننده‌ها، پورت اولیه‌ای ایجاد شد که اکنون چند بازی را اجرا می‌کند، از جمله Counter-Strike 2.
نمایی از اجرای بازی با درایور RADV روی ویندوز

خطرات سازگاری و درخواست برای رابط مستند

درایور فضای کاربر و درایور هسته معمولاً به‌عنوان یک جفت هماهنگ طراحی می‌شوند؛ تغییر در هر یک می‌تواند سازگاری به عقب را نقض کند. بنابراین یک پیاده‌سازی RADV عملیاتی ممکن است در صورت تغییرات در درایور رسمی، به‌طور ناگهانی از کار بیفتد. Collabora از AMD و Microsoft خواسته است یک رابط مستند و پایدار برای تعامل با درایور هسته فراهم کنند یا یک لایهٔ میانی سازگار معرفی نمایند تا پایداری بلندمدت تضمین شود.

پیامدها برای توسعه‌دهندگان و گیمرها

  • برای توسعه‌دهندگان: امکان هدف‌گیری یک پشتهٔ Vulkan مشترک میان لینوکس و ویندوز که فرایند اشکال‌زدایی و بهینه‌سازی را ساده‌تر می‌کند.
  • برای گیمرها: احتمال دسترسی به درایورهایی با پایداری و عملکرد بهتر، به‌ویژه روی کارت‌های قدیمی‌تر که RADV در لینوکس گاهی عملکرد بهتری نسبت به درایور رسمی نشان داده است.
  • برای Valve: فرصت بهبود لایه‌های سازگاری و به اشتراک‌گذاری بهینه‌سازی‌ها بین سیستم‌ها؛ اقدامی که می‌تواند به محصولات سخت‌افزاری Valve مانند Steam Deck نیز کمک کند.

منابع و ادامهٔ مسیر

اگر AMD یا Microsoft رابط‌های مورد نیاز را مستندسازی کنند و جامعهٔ متن‌باز نیز مشارکت داشته باشد، RADV روی ویندوز می‌تواند به گزینه‌ای جدی تبدیل شود. برای اطلاعات بیشتر دربارهٔ WDDM و پشتهٔ Mesa می‌توانید به صفحات مربوط در Wikipedia دربارهٔ WDDM و Mesa مراجعه کنید و برای جزئیات فنی نگاهی به بلاگ Collabora بیندازید.

پیشرفت این پروژه می‌تواند پایه‌ای برای همگرایی بیشتر پشته‌های گرافیکی بین لینوکس و ویندوز باشد و کیفیت اجرای بازی‌ها را از طریق شفافیت در ابزارهای اشکال‌زدایی و همکاری شرکتی ارتقا دهد.