CodeWeavers עוזר למשחקי Windows DirectX 12 לפעול על לינוקס

CodeWeavers, המפתחים של CrossOver, עובדים על שיפורים ל-DirectX 12 בשכבות התאימות CodeWeavers ו-Wine.

CodeWeavers הצלבה היא אחת הדרכים הפופולריות ביותר להפעיל יישומי Windows במערכות הפעלה אחרות. הוא משלב את העבודה המצוינת של הקוד הפתוח פרויקט יין (מתוכם המפתחים של CrossOver תורמים קוד) עם ממשק וחזית קצה קלה יותר לשימוש. CodeWeavers הוציאה את CrossOver 21 עוד באוגוסט, וכעת החברה שיתפה פרטים על עבודתה להביא תמיכה במשחקים מודרניים ללינוקס ול-Mac.

משחקי Windows אחרונים רבים (ויישומים אחרים עתירי גרפיקה) מסתמכים על DirectX 12, הגרסה האחרונה של ספריית הגרפיקה DirectX של מיקרוסופט, שמשתמש בממשקי API ברמה נמוכה יותר כדי להשיג ביצועים מהירים יותר. DirectX זמין רק ב-Windows (וקונסולות Xbox), כך ששכבת התאימות Wine משתמשת ב-VKD3D ספריית גרפיקה לביצוע קריאות Direct3D על גבי Vulkan (שזמין ב-Linux, Windows ועוד פלטפורמות). ספריית Vkd3d היא פותח בעיקר על ידי Valve Software עבורו שכבת תאימות פרוטונים, וההתקדמות המהירה ב-VKD3D היא הסיבה העיקרית לכך שכל כך הרבה משחקי Windows ניתנים להפעלה בלינוקס.

למרות ש-CrossOver כבר כולל VKD3D, CrossOver אינו תומך רשמית במשחקי DirectX 12 בעוד שהמפתחים שלו מוצאים כמה בעיות ביצועים, על פי חדש

פוסט בבלוג:

CrossOver משתמש ב-VKD3D כדי להריץ משחקי DirectX 12. VKD3D היא ספריית גרפיקה תלת מימדית הבנויה על גבי וולקן. נכון לעכשיו, הרבה עבודה נעשית כדי לשפר את ביצועי VKD3D. בעזרת הוולקן הרחבה לאינדקס מתאר, המאפשרת פונקציונליות דומה לערמות מתאר DirectX 12, מתארי Vulkan נכתבים בתדירות נמוכה יותר ונעשה שימוש בהרבה פחות זיכרון GPU. כתוצאה מכך, VKD3D יכול לתמוך במשחקים המשתמשים במספיק מתארים כדי לדרוש משאבים מחומרה מדרג 2 ו-Tier 3.

CrossOver מתכננת להתחיל רשמית לתמוך במשחקים ויישומים של DirectX 12 על לינוקס בשנת 2022, עם השחרור העתידי של CrossOver 22. עם זאת, החברה לא כל כך בטוחה מתי VKD3D יפעל ב-Mac. אפל לא תומכת בוולקן בכלל ב-macOS (או iOS), במקום זאת מבקשת מהמפתחים להשתמש בו ספריית גרפיקה מתכת. זו בעיה עבור CrossOver, כפי שהפוסט בבלוג ממשיך ואומר:

באופן כללי, מתכת מבצעת טssellation בצורה שונה, וחסרה הצללות גיאומטריה ומשוב טרנספורמציה. ספציפית ל-DirectX 12 ולמטאל, יש בעיה עם מגבלות על משאבים. בדרך כלל, משחקים צריכים גישה לפחות מיליון צפיות משאבי הצללה (SRV). גישה ל-SRVs רבים דורשת קשירת משאבים ברמת שכבה 2. מתכת תומכת רק בכ-500,000 משאבים לכל מאגר ארגומנטים, כך שקישור משאבים ברמה 2 אינה אפשרית. המגבלה של Metal של חצי מיליון מספיקה לאינדקס מתאר Vulkan, אבל לא עבור D3D12. מגבלה זו פירושה ש-CrossOver Mac לא יכול לתמוך בכריכה של Tier 2 ולכן הרבה משחקי DirectX 12 לא יפעלו.

למרות האתגרים הללו, CodeWeavers מקווה שמשחקים ויישומים של DirectX 12 יוכלו להיות פונקציונליים ב-Mac עם העדכון העתידי של CrossOver 23. גרסאות עיקריות חדשות של CrossOver מתרחשות בדרך כלל על בסיס שנתי, כך שסביר להניח שזה יהיה ב-2023.

גם אם אינך משתמש ב-CrossOver, רוב שיפורי התאימות שפותחו על ידי CodeWeavers נשלחים בחזרה לפרויקט Wine. זה אומר שהעבודה של החברה יכולה לעזור לשפר את משחקי Windows ב- Lutris קונסולת Steam Deck, PlayOnLinux ופרויקטים אחרים המבוססים על Wine. עם זאת, ברגע שתגיע תמיכה מלאה ב-DirectX 12, CrossOver יכול להיות בחירה משכנעת למשחקי Windows בלינוקס מחוץ ל-Steam.