يساعد CodeWeavers ألعاب DirectX 12 Windows على التشغيل على Linux

تعمل شركة CodeWeavers، مطورو CrossOver، على إدخال تحسينات على DirectX 12 في طبقات توافق CodeWeavers وWine.

CodeWeavers عبور تعد إحدى الطرق الأكثر شيوعًا لتشغيل تطبيقات Windows على أنظمة التشغيل الأخرى. فهو يجمع بين العمل الممتاز للمصدر المفتوح مشروع النبيذ (التي يساهم مطورو CrossOver فيها بالكود) من خلال واجهة أمامية وواجهة أمامية أسهل في الاستخدام. أصدرت CodeWeavers CrossOver 21 مرة أخرى في أغسطسوالآن شاركت الشركة تفاصيل حول عملها لتقديم دعم الألعاب الحديثة لنظامي التشغيل Linux وMac.

تعتمد العديد من ألعاب Windows الحديثة (وغيرها من التطبيقات ذات الرسومات الثقيلة) على DirectX 12، وهو الإصدار الأحدث من مكتبة رسومات Microsoft DirectX، والذي يستخدم واجهات برمجة التطبيقات ذات المستوى الأدنى لتحقيق أداء أسرع. يتوفر DirectX فقط على أنظمة Windows (ووحدات تحكم Xbox)، لذا فإن طبقة توافق Wine تستخدم VKD3D مكتبة رسومات لتنفيذ مكالمات Direct3D أعلى Vulkan (المتوفر على أنظمة Linux وWindows وغيرها المنصات). مكتبة Vkd3d هي تم تطويره بشكل أساسي بواسطة Valve Software لها طبقة توافق البروتون، والتقدم السريع في VKD3D هو السبب الرئيسي وراء إمكانية تشغيل العديد من ألعاب Windows على Linux.

على الرغم من أن CrossOver يتضمن بالفعل VKD3D، إلا أن CrossOver لا يدعم رسميًا ألعاب DirectX 12 بينما يكتشف مطوروه بعض مشكلات الأداء، وفقًا لتقرير جديد. مشاركة مدونة:

يستخدم CrossOver VKD3D لتشغيل ألعاب DirectX 12. VKD3D هي مكتبة رسومات ثلاثية الأبعاد مبنية على أعلى فولكان. حاليًا، يتم بذل الكثير من العمل لتحسين أداء VKD3D. بمساعدة فولكان ملحق فهرسة الواصف، والذي يسمح بوظائف مشابهة لأكوام واصفات DirectX 12، تتم كتابة واصفات Vulkan بشكل أقل ويتم استخدام ذاكرة GPU أقل بكثير. ونتيجة لذلك، يمكن لـ VKD3D دعم الألعاب التي تستخدم واصفات كافية لتتطلب موارد من أجهزة المستوى 2 والمستوى 3.

تخطط CrossOver لبدء دعم ألعاب وتطبيقات DirectX 12 رسميًا على Linux في عام 2022، مع الإصدار المستقبلي لـ CrossOver 22. ومع ذلك، فإن الشركة ليست متأكدة تمامًا من متى سيتم تشغيل VKD3D على نظام Mac. لا تدعم Apple Vulkan على الإطلاق على نظام التشغيل macOS (أو iOS)، وبدلاً من ذلك تطلب من المطورين استخدامه مكتبة الرسومات المعدنية. هذه مشكلة بالنسبة لـ CrossOver، حيث يستمر منشور المدونة في القول:

بشكل عام، يقوم Metal بعمل التغطية بالفسيفساء بشكل مختلف، ويفتقد التظليل الهندسي وردود الفعل التحويلية. خاصة بـ DirectX 12 وMetal، توجد مشكلة تتعلق بالقيود المفروضة على الموارد. بشكل عام، تحتاج الألعاب إلى الوصول إلى ما لا يقل عن مليون عرض لموارد التظليل (SRVs). يتطلب الوصول إلى العديد من SRVs ربط الموارد على مستوى المستوى 2. يدعم المعدن حوالي 500000 مورد فقط لكل مخزن وسيطة، لذا فإن ربط موارد المستوى 2 غير ممكن. حد المعدن البالغ نصف مليون كافٍ لفهرسة واصف Vulkan، ولكن ليس لـ D3D12. يعني هذا القيد أن CrossOver Mac لا يمكنه دعم ربط المستوى 2 وبالتالي لن يتم تشغيل الكثير من ألعاب DirectX 12.

على الرغم من هذه التحديات، يأمل CodeWeavers أن تكون ألعاب وتطبيقات DirectX 12 فعالة على أجهزة Mac مع تحديث CrossOver 23 المستقبلي. عادةً ما يتم إصدار الإصدارات الرئيسية الجديدة من CrossOver على أساس سنوي، لذلك من المحتمل أن يكون ذلك في عام 2023.

حتى إذا كنت لا تستخدم CrossOver، فإن معظم تحسينات التوافق التي طورتها CodeWeavers يتم إرسالها مرة أخرى إلى مشروع Wine. وهذا يعني أن عمل الشركة يمكن أن يساعد في تحسين ألعاب Windows على Lutris وحدة تحكم Steam DeckوPlayOnLinux ومشاريع أخرى تعتمد على Wine. ومع ذلك، بمجرد وصول الدعم الكامل لـ DirectX 12، يمكن أن يكون CrossOver خيارًا مقنعًا للعب ألعاب Windows على Linux خارج Steam.