פרויקט Wine הודיע על שחרור הגרסה היציבה החדשה, Wine 11.0, בהודעה לעיתונות, המסמנת את שיאה של שנה של פיתוח אינטנסיבי שהביא ליותר מ-6300 שינויים ו-600 תיקוני באגים. גרסה זו לא רק מרחיבה את התאימות עם מערכת האקולוגית של תוכנות Windows, אלא גם מציגה שינויים מבניים עמוקים, כגון תמיכה מלאה במנהל ההתקן NTSYNC וארכיטקטורת WoW64 מחודשת, אשר מבטיחים לחולל מהפכה בביצועי משחקים ויישומים במערכות יוניקס.
על פי הנתונים הסטטיסטיים האחרונים של הפרויקט, למעלה מ-5400 יישומי Windows פועלים כראוי באופן טבעי , בעוד 4500 נוספים פועלים בצורה מושלמת עם התאמות קלות או ספריות חיצוניות. נתון זה משקף צמיחה מתמשכת באמינות התוכנה, עם ירידה הדרגתית בתוכניות המציגות פגמים קריטיים.
חדשות עיקריות על יין 11.0
היהלום שבכתר של Wine 11.0 הוא שילוב מנהל ההתקן NTSYNC. רכיב זה, הזמין בליבת לינוקס החל מגרסה 6.14, מיישם פרימיטיבים מקוריים של סנכרון Windows NT ישירות בליבת לינוקס . על ידי ביטול התקורה של קריאות לפרוצדורות מרוחקות (RPCs) במרחב המשתמש, הוא משיג שיפור דרמטי בביצועים של משחקי וידאו מודרניים, מפחית את ההשהיה ומגדיל את קצב הפריימים.
במקביל, גובשה סופית ארכיטקטורת WoW64 החדשה (Windows on Windows 64-bit) . בניגוד למודל הקודם, שאילץ יישומי 32 סיביות לפעול בתהליכי יוניקס של 32 סיביות, המימוש החדש מאפשר לקוד של 32 סיביות לפעול בתוך תהליכי 64 סיביות. זה מפשט מאוד את ניהול התלות בהפצות שזונחות את התמיכה בספריות מרובות ספריות, מכיוון שמודולי Windows יכולים לגשת לספריות יוניקס של 64 סיביות באמצעות מתרגמי קריאות (thunks). יתר על כן, התמיכה בהפעלת יישומי 16 סיביות מדור קודם תחת סכימה חדשה זו שוחזרה.
גרפיקה ו-Direct3D
מבחינת ויזואליה, תת-המערכת הגרפית עשתה צעד קדימה על ידי אימוץ EGL כבסיס ברירת המחדל עבור OpenGL בסביבות X11, מה שדחק את GLX לתפקיד משני. שילוב Wayland גם הוא התבגר משמעותית ; מנהל ההתקן המקורי winewayland.drv תומך כעת בתכונות מתקדמות כגון שקיפות, חלונות שאינם מלבניים וניהול מלא של לוח הגזירים, מה שמאפשר לוותר על XWayland בתרחישים רבים.
עבור גיימרים, השיפורים ב-Direct3D הם משמעותיים, שכן תמיכה בפענוח וידאו H.264 מואץ חומרה נוספה ב-Direct3D 11 באמצעות Vulkan. יתר על כן, ספריית vkd3d-shader שיכללה את תמיכתה במודלים ישנים יותר של shader (Shader Model 1-3), מה שמבטיח שמשחקים קלאסיים ייראו טוב כמו משחקים מודרניים. ניהול המרקמים עבר גם הוא אופטימיזציה, תוך יישום דחיסת BC4/BC5 ויצירת mipmap אוטומטית.
מכשירים וציוד היקפי
חוויית המשתמש עם ציוד היקפי הייתה מוקד נוסף, כאשר תמיכת הג'ויסטיק וההגה השתפרה הודות ל- hidraw backend , מה שמשפר את תגובת משוב הכוח. בנוגע ל- Bluetooth, כעת ניתן לסרוק ולזווג מכשירים ישירות מ- Wine, כולל תמיכה ב- Bluetooth Low Energy (BLE) ובחיבורי RFCOMM ברמה נמוכה.
בתחום הפרודוקטיביות, תמיכת הסורקים עשתה קפיצת מדרגה עם יישום ממשק ה-API של TWAIN 2.0 עבור יישומי 64 סיביות. זה מאפשר תכונות מתקדמות כגון סריקה מרובת עמודים ושימוש במזיני מסמכים אוטומטיים, כמו גם פתרון הקריסות שהתרחשו בעבר בעת הפעלת ממשק הסריקה.
ליבה ומערכת קבצים
ברמת המערכת, Wine 11.0 מציג מנגנון נקודת ניתוח מחדש המאפשר צירוף מטא-דאטה לקבצים וספריות, מה שמקל על תאימות עם קישורים סמליים בסגנון Windows. יתר על כן, ניהול הזיכרון עבר אופטימיזציה באמצעות Userfaultfd (UFFD), טכניקה המטפלת בשגיאות עמוד במרחב המשתמש. בדיקות פנימיות מראות ששיפור זה מפחית את זמני הטעינה במשחקים תובעניים כמו "Streets of Rage 4" מ-8 שניות לפחות מ-2, תוך התאמה לביצועים המקוריים של Windows.
לבסוף, שופרה התאימות עם פלטפורמות ARM64 , מה שמאפשר סימולציה של דפי זיכרון 4K על ליבות המשתמשות בגדלי דפים גדולים יותר, ובכך מרחיב את מגוון המכשירים שבהם Wine יכול לפעול ביציבות.
אם אתם מעוניינים ללמוד עוד, תוכלו למצוא את הפרטים בקישור הבא.