אוקטובר האחרון אנחנו מדברים כאן בבלוג על הנהג של NVK, מנהל התקן קוד פתוח עבור Mesa שמיישם את ה-Vulkan graphics API עבור כרטיסי מסך של NVIDIA ש-Collabora עבדה עליו מאפס תוך שימוש בקבצי כותרות רשמיים ובמודולי ליבה פתוחים שפורסמו על ידי NVIDIA.
במהלך פיתוחו ל-NVK הייתה התווית "ניסיוני". ועכשיו, בחדשות עדכניות יותר Collabora הודיעה כי NVK הפכה ליציבה ומומלצת לשימוש כללי מאז נבדקה תאימותו המלאה למפרט Vulkan 1.3. בקר זה עבר בהצלחה את כל מבחני ה-CTS (Khronos Conformance Test Suite) והוא כלול ברשימת הבקרים המוסמכים.
ההסמכה מכסה GPUs של NVIDIA המבוססים על מיקרו-ארכיטקטורות Turing, Ampere ו-Ada, כולל מסדרות GeForce GTX 16xx ל-RTX 4xxx ו-RTX 4000, RTX A2000 עד 6000. בדיקות אלו בוצעו בסביבות עם ליבת לינוקס 6.5 ו-6.8rc1.
מוזכר ש קבלת התעודה מצהירה רשמית על תאימות לתקני גרפיקה ומתיר את השימוש בסימנים המסחריים הקשורים לכרונוס. השינויים כבר שולבו בבסיס הקוד של Mesa ויהיו זמינים ב-Mesa 24.1.
בנוסף להתקדמות ב-NVK, שיפורים משמעותיים נעשו גם לתמיכה ב-OpenGL עבור כרטיסי מסך NVIDIA. Mesa אימצה שינוי המאפשר שימוש במנהל ההתקן Zink כדי לספק תמיכה ל-OpenGL 4.6 במערכות עם סדרה חדשה של כרטיסי מסך של NVIDIA, שעלולות להיתקל בבעיות עם מנהל ההתקן נובו OpenGL (NVC0).
עבדנו קשה במהלך החודשים האחרונים כדי לסיים את החלקים האחרונים הדרושים כדי ש-DXVK ייגמר עכשיו מהקופסה ב-Upstream Mesa. לא כל משחקי D3D11 מובטחים שיעבדו (יהיו באגים), אבל כל הדרישות הבסיסיות קיימות. אנו עובדים באופן פעיל על החלקים הנותרים כדי לתמוך באמולציית D3D12 באמצעות VKD3D-Proton. יש הרבה דברים שכבר בוצעו או בתהליך, אבל עדיין חסרים כמה חלקים, אז אל תצפו שמשחקי D3D12 יעבדו עדיין.
שינויים אלו במסה הם גם פותחים את האפשרות להשתמש ב-Zink כדי לתמוך ב-OpenGL במנהלי התקנים אחרים כחלופה למעבדי GPU שאינם נתמכים על ידי מנהלי ההתקן המקוריים של OpenGL של Mesa. לדוגמה, נעשה שימוש בגישה דומה כדי לספק תמיכה ב-OpenGL במנהל ההתקן של freedreno עבור ה-Qualcomm Adreno 700 GPU ומנהל התקן powervr עבור ה-Imagination PowerVR GPU המבוסס על המיקרו-ארכיטקטורה של Rogue.
בגרסה הבאה של Mesa, מנהל ההתקן של Zink יופעל כברירת מחדל במהלך הידור. הביצועים של Zink דומים להטמעות מקוריות של OpenGL, מה שמאפשר להתמקד בתמיכה באיכות גבוהה עבור Vulkan API ולא בשמירה על מנהלי התקנים בודדים של OpenGL.
אמנם אין תוכניות להסיר את הדרייבר הישן של נובו OpenGL, שילוב זינק + NVK מפגין ביצועים גבוהים יותר בבדיקות רבות. בשלב הפיתוח הנוכחי, שילוב זה מאפשר ביצועים של 60 FPS ומעלה בדגמי GPU חדשים, למרות שעדיין יש אזורים לא אופטימליים שייפתרנו עם הזמן.
מצד שני, מוזכר ש נעשית עבודה לייצוב פעולת שכבת ה-DXVK על דרייבר ה-NVK, המספק יישום של Direct3D 9, 10 ו-11 על ידי תרגום קריאות ל-Vulkan API. למרות שלא כל משחקי D3D11 עדיין מובטחים לעבוד עם השילוב הלא שונה של Mesa NVK+DXVK, פגמים שזוהו נמחקים בהדרגה. באופן דומה, חיבור NVK עם VKD3D-Proton מפותח כדי לספק תמיכה עבור D3D12, למרות שהסטטוס שלו עדיין בפיתוח ודורש יישום כמה יכולות חסרות.
לבסוף, ראוי להזכיר שהדרייבר כבר כלול ב-Mesa, והשינויים הדרושים ל-API של מנהל ההתקן של Nouveau DRM כלולים מאז גרסת ליבת לינוקס 6.6. תנומות מעוניין לדעת יותר על זה, אתה יכול לבדוק את הפרטים בקישור הבא.