מהדורה יציבה של Wine 7.0

לאחר שנה של פיתוח ו-30 גרסאות ניסיוניות, יצאה מהדורה יציבה של המימוש הפתוח של ממשק ה-API של Win32 - Wine 7.0 - אשר שילבה יותר מ-9100 שינויים. ההישגים המרכזיים של הגרסה החדשה כוללים תרגום של רוב מודולי Wine לפורמט PE, תמיכה בערכות עיצוב, מחסנית מורחבת עבור ג'ויסטיקים והתקני קלט עם ממשק HID, ויישום ארכיטקטורת WoW64 להפעלת תוכניות 32 סיביות בסביבת 64 סיביות.

5156 (5049 לפני שנה) תוכניות אושרו כפועלות כראוי ב-Wine Windows4312 תוכנות נוספות (4227 לפני שנה) פועלות בצורה מושלמת עם הגדרות נוספות וקבצי DLL חיצוניים. 3813 תוכנות (3703 לפני שנה) סובלות מבעיות קלות שאינן מפריעות לפונקציונליות הבסיסית של היישומים.

חידושים מרכזיים ב-Wine 7.0:

  • מודולים בפורמט PE
    • כמעט כל ספריות ה-DLL הומרו לשימוש בפורמט קובץ ההפעלה PE (Portable Executable, המשמש ב-). Windows) במקום ELF. השימוש ב-PE פותר את בעיית התמיכה במגוון תוכניות הגנה מפני העתקה המאמתות את זהות מודולי המערכת בדיסק ובזיכרון.
    • היכולת לקיים אינטראקציה עם ספריות יוניקס באמצעות קריאה סטנדרטית של מערכת ליבת NT יושמה, המאפשרת להסתיר גישה לקוד יוניקס מפני ניפוי באגים. Windows ולעקוב אחר רישום הזרימות.
    • קבצי DLL מוטמעים נטענים כעת רק אם קובץ ה-PE המתאים קיים בדיסק, בין אם מדובר בספרייה אמיתית או בקובץ stub. שינוי זה מאפשר ליישום לראות תמיד את הקישור הנכון לקבצי PE. כדי להשבית התנהגות זו, ניתן להשתמש במשתנה הסביבה WINEBOOTSTRAPMODE.
  • WoW64
    • ארכיטקטורת WoW64 (64 סיביות) מיושמת Windows-עַל-Windows), המאפשר לך להריץ 32 סיביות Windows- יישומים בתהליכי יוניקס של 64 סיביות. התמיכה מיושמת באמצעות הכללת שכבה המתרגמת קריאות מערכת NT של 32 סיביות לקריאות של 64 סיביות ל-NTDLL.
    • שכבות ביניים של WoW64 מוכנות עבור רוב ספריות יוניקס ומאפשרות למודולים של 32 סיביות בפורמט PE גישה לספריות יוניקס של 64 סיביות. לאחר שכל המודולים יומרו לפורמט PE, ניתן יהיה להריץ פעולות של 32 סיביות Windows-יישומים מבלי להתקין ספריות יוניקס של 32 סיביות.
  • ערכות נושא
    • תמיכה בערכות נושא יושמה. ערכות נושא "בהיר", "כחול" ו"כחול קלאסי" כלולות, אותן ניתן לבחור דרך קונפיגורטור WineCfg.
    • נוספה היכולת להתאים אישית את המראה של כל פקדי הממשק באמצעות ערכות עיצוב. קיימת עדכון אוטומטי של מראה האלמנטים לאחר שינוי ערכת העיצוב.
    • כל יישומי Wine המובנים עודכנו כדי לתמוך בערכות נושא. היישומים הותאמו למסכים בעלי DPI גבוה.
  • תת מערכת גרפית
    • ספריית Win32u חדשה נוספה, המכילה חלקים מספריות GDI32 ו-USER32 הקשורות לעיבוד גרפי וניהול חלונות ברמת הליבה. בעתיד, תחל עבודה על העברת רכיבי מנהלי התקנים כגון winex32.drv ו-winemac.drv ל-Win11u.
    • מנהל ההתקן של Vulkan מיישם תמיכה במפרט Vulkan 1.2.201 של ממשק ה-API הגרפי.
    • קיימת תמיכה בפלט של אובייקטים גיאומטריים מקוטעים דרך ממשק ה-API של Direct2D, עם אפשרות לבדוק האם קליק פגע (מבחן פגיעה).
    • ממשק ה-API של Direct2D מספק תמיכה ראשונית לאפקטים חזותיים המיושמים באמצעות ממשק ID2D1Effect.
    • ממשק ה-API של Direct2D הוסיף תמיכה בממשק ID2D1MultiThread, המשמש למתן גישה בלעדית למשאבים ביישומים מרובי הליכי משנה.
    • בסט של ספריות Windowsתמיכה בקודקים לפענוח תמונות בפורמט WMP יושמה (Windows (Media Photo) וקידוד תמונות בפורמט DDS (DirectDraw Surface). תמיכה בקידוד תמונות בפורמט ICNS (עבור macOS), שאינו נתמך ב Windows.
  • Direct3D
    • מנוע הרינדור החדש שמתרגם קריאות Direct3D לממשק ה-API הגרפי של Vulkan שופר משמעותית. ברוב המקרים, המנוע מבוסס Vulkan תומך כעת ב-Direct3D 10 ו-11 באותה רמה כמו המנוע הישן יותר מבוסס OpenGL. כדי להפעיל את מנוע הרינדור של Vulkan, הגדר את משתנה הרישום "renderer" של Direct3D ל-"vulkan".
    • תכונות רבות של Direct3D 10 ו-11 מיושמות, כולל Deferred Contexts, אובייקטי מצב הפועלים בהקשר של התקן, קיזוזים מתמשכים במאגרים, ניקוי ייצוגי מרקם לא מסודרים, העתקת נתונים בין משאבים בפורמטים חסרי טיפוס (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32B32A32_TYPELESS) וכו'.
    • נוספה תמיכה בתצורות מרובות צגים, המאפשרת לך לבחור צג להצגת יישום Direct3D במצב מסך מלא.
    • ממשק ה-API של DXGI מיישם תיקון גמא של המסך, שניתן להשתמש בו על ידי יישומים מבוססי Direct3D 10 ו-11 כדי לשנות את בהירות המסך. מוני מאגרים וירטואליים (SwapChain) מחוצים.
    • Direct3D 12 מוסיף תמיכה בחתימות שורש גרסה 1.1.
    • קוד הרינדור דרך ממשק ה-API של Vulkan שופר כדי לטפל בבקשות בצורה יעילה יותר כאשר ההרחבה VK_EXT_host_query_reset נתמכת במערכת.
    • נוספה היכולת להפיק מאגרי מסגרות וירטואליים (SwapChain) דרך GDI אם לא ניתן להשתמש ב-OpenGL או Vulkan לתצוגה, לדוגמה, בעת פלט לחלון מתהליכים שונים, כגון בתוכניות המבוססות על framework CEF (Chromium Embedded Framework).
    • בעת שימוש בקצה האחורי של השיידר של GLSL, המגדיר "מדויק" מוחל כעת על הוראות השיידר.
    • ממשק ה-API של DirectDraw הוסיף תמיכה ברינדור תלת-ממדי לזיכרון המערכת באמצעות התקני תוכנה כגון RGB, MMX ו-Ramp.
    • מסד הנתונים של כרטיסי המסך Direct3D כולל כעת את ה-AMD Radeon RX 5500M, AMD Radeon RX 6800/6800 XT/6900 XT, AMD Van Gogh, Intel UHD Graphics 630 ו-NVIDIA GT 1030.
    • המפתח "UseGLSL" הוסר מהרישום HKEY_CURRENT_USER\Software\Wine\Direct3D, והחל מ-Wine 5.0, יש להשתמש במפתח "shader_backend" במקום זאת.
    • תמיכה ב-Direct3D 12 דורשת כעת לפחות את ספריית vkd3d גרסה 1.2.
  • D3DX
    • יישום D3DX 10 משפר את התמיכה במסגרת האפקטים הוויזואליים ומוסיף תמיכה בפורמט התמונה. Windows תמונת מדיה (JPEG XR)
    • נוספה D3DX10 שסיפקה פונקציות ליצירת טקסטורות כגון D3DX10CreateTextureFromMemory().
    • ממשקי התכנות ID3DX10Sprite ו-ID3DX10Font יושמו באופן חלקי.
  • קול ווידאו
    • WineGStreamer משלב תוספים של GStreamer עבור DirectShow ומסגרת Media Foundation לתוך backend משותף אחד, מה שאמור לפשט את הפיתוח של ממשקי API חדשים לפענוח תוכן.
    • אובייקטים מיושמים על בסיס ה-backend של WineGStreamer Windows מדיה לקריאה סינכרונית ואסינכרונית.
    • יישום מסגרת Media Foundation שוכלל עוד יותר, תמיכה בפונקציונליות IMFPMediaPlayer, מקצה דגימות ותמיכה משופרת במאגרי רינדור EVR ו-SAR.
    • הוסרה ספריית wineqtdecoder, המספקת מפענח עבור פורמט QuickTime (כל רכיבי ה-codec משתמשים כעת ב-GStreamer).
  • התקני קלט
    • המחסנית עבור התקני קלט התומכים בפרוטוקול HID (התקני ממשק אנושיים) שופרה משמעותית, תוך יישום תכונות כגון ניתוח מתארי HID, עיבוד הודעות HID ואספקת מיני-מנהלי התקנים של HID.
    • מערכות ההפעלה winebus.sys שיפרו את התרגום של תיאורי התקנים להודעות HID.
    • נוסף קצה אחורי חדש של DirectInput עבור ג'ויסטיקים התומכים בפרוטוקול HID. יושם האפשרות להשתמש באפקטים של משוב בג'ויסטיקים. שופר. панель управления ג'ויסטיקים. אינטראקציה אופטימלית עם מכשירים תואמי XInput. ב-WinMM, התמיכה בג'ויסטיקים הועברה ל-DInput, במקום להשתמש בקצה האחורי של evdev. Linux ו-IOHID ב macOS IOHID. הסרת מנהל ההתקן הישן של הג'ויסטיק winejoystick.drv.
    • בדיקות חדשות נוספו למודול DInput, המבוססות על שימוש בהתקני HID וירטואליים ואינן דורשות נוכחות של התקן פיזי.
  • טקסט ופונטים
    • אובייקט Font Set נוסף ל-DirectWrite.
    • RichEdit מיישם נכון את ממשק TextHost.
  • ליבה (ממשקי ליבה Windows)
    • בעת הפעלת קובץ הפעלה לא מזוהה (למשל 'wine foo.msi') ב-Wine, כעת נקרא start.exe, אשר קורא למנהלי קובץ הקשורים לסוג הקובץ.
    • נוספה תמיכה במנגנוני הסנכרון NtAlertThreadByThreadId ו-NtWaitForAlertByThreadId, הקרובים ל-futexes ב- Linux.
    • נוספה תמיכה באובייקטי ניפוי שגיאות של NT המשמשים לאיתור ניפוי שגיאות בפונקציות ליבה.
    • נוספה תמיכה במפתחות רישום דינמיים לאחסון נתוני ביצועים.
  • זמן ריצה של C
    • זמן הריצה של C מיישם סט מלא של פונקציות מתמטיות, אשר מועברות בעיקר מספריית Musl.
    • תמיכה נכונה בפונקציות נקודה צפה ניתנת עבור כל פלטפורמות המעבד.
  • תכונות רשת
    • מצב תאימות משופר עם Internet Explorer 11 (IE11), המשמש כעת כברירת מחדל לעיבוד מסמכי HTML.
    • ספריית mshtml מיישמת את מצב ה-JavaScript ES6 (ECMAScript 2015), המספק תמיכה בתכונות כגון הביטוי let ואובייקט Map.
    • התקנת חבילות MSI עם תוספים למנוע Gecko לתוך ספריית העבודה של Wine מתבצעת כעת בעת הצורך, ולא במהלך עדכון Wine.
    • נוספה תמיכה בפרוטוקול DTLS.
    • שירות NSI (ממשק אחסון רשת) יושם, והוא מאחסן ומשדר מידע אודות ניתוב וממשקי רשת במחשב לשירותים אחרים.
    • מטפלי API של WinSock כגון setsockopt ו-getsockopt הועברו למנהלי ההתקן NTDLL ו- afd.sys כדי להתאים לארכיטקטורה. Windows.
    • Wine מתקינה כעת קבצי מסד נתונים משלה, כגון /etc/protocols ו- /etc/networks, לתוך ספריית העבודה שלה במקום לגשת למסדי נתונים דומים של יוניקס.
  • פלטפורמות אלטרנטיביות
    • נוספה תמיכה בחומרה של אפל המבוססת על שבבי M1 ARM (סיליקון של אפל).
    • כדי לתמוך בתכונות BCrypt ו-Secur32 בפלטפורמה macOS כעת נדרשת התקנה של ספריית GnuTLS.
    • קבצי הרצה של 32 סיביות עבור פלטפורמות ARM בנויים כעת במצב Thumb-2, בדומה ל- Windowsטוען מראש משמש לטעינת קבצים כאלה.
    • עבור פלטפורמות ARM של 32 סיביות, יושמה תמיכה בניתוק חריגים.
    • FreeBSD תומך כעת ביותר שאילתות עבור מידע מערכת ברמה נמוכה, כגון סטטוס זיכרון ורמת טעינת סוללה.
  • יישומים מובנים וכלי פיתוח
    • כלי השירות reg.exe תומך כעת בתצוגות רישום של 32 ו-64 סיביות. נוספה תמיכה בהעתקת מפתחות רישום.
    • כלי השירות WineDump תומך כעת בפלט של dump של מטא-נתונים. Windows ולהציג מידע מפורט על רשומות CodeView.
    • ניפוי הבאגים של Wine (winedbg) מאפשר כעת ניפוי באגים של תהליכי 32 סיביות מתוך ניפוי הבאגים של 64 סיביות.
    • מהדר ה-IDL (widl) תומך כעת בטעינת ספריות המוטמעות בקבצי PE, מספק תמיכה בתכונות ובמבנים ספציפיים ל-WinRT, ומיישם חיפוש ספריות באופן ספציפי לפלטפורמה.
  • מערכת הרכבה
    • בספריות ספציפיות לארכיטקטורת חומרה, ספריות מאוחסנות כעת עם שמות המשקפים את הארכיטקטורה והסוג של קבצי ההפעלה, כגון 'i386-windows' עבור פורמט PE ו-'x86_64-unix' עבור ספריות יוניקס, מה שמאפשר תמיכה בין ארכיטקטורות בהתקנת Wine יחידה ובקומפילציה צולבת של Winelib.
    • כדי להגדיר אפשרות בכותרות קבצי PE השולטת במעבר לשימוש בספריות DLL מקוריות, הדגל '--prefer-native option' נוסף ל-winebuild (עיבוד DLL_WINE_PREATTACH ב-DllMain הופסק).
    • נוספה תמיכה בגרסה 4 של פורמט נתוני ניפוי שגיאות Dwarf, המשמש כעת כברירת מחדל בעת בניית ספריות Wine.
    • נוספה אפשרות הבנייה '--enable-build-id' לאחסון מזהי בנייה ייחודיים בקבצי הרצה.
    • נוספה תמיכה בשימוש במהדר Clang במצב תאימות MSVC.
  • Miscellanea
    • מתן שמות לספריות אופייניות במעטפת המשתמש (Windows מעטפת) מצטמצמת לסכימה שבה נעשה שימוש מאז Windows ויסטה, כלומר במקום 'המסמכים שלי', נוצרת כעת ספריית 'מסמכים', ורוב הנתונים נשמרים בספריית 'AppData'.
    • שכבת ספריית OpenCL תומכת כעת במפרט OpenCL 1.2.
    • מנהל ההתקן של WinSpool עודכן כדי לתמוך באפשרויות גודל עמוד שונות בעת הדפסה.
    • נוספה תמיכה ראשונית עבור MSDASQL, ספק OLE DB של Microsoft עבור מנהלי התקנים של ODBC.
    • מנוע Wine Mono עם הטמעת פלטפורמת NET עודכן לגרסה 7.0.0.
    • נתוני יוניקוד עודכנו למפרט יוניקוד 14.
    • עץ המקור כולל את ספריות Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt ו-Zlib, אשר בנויות בפורמט PE ואינן דורשות גרסה בפורמט יוניקס. עם זאת, ניתן גם לייבא ספריות אלו מהמערכת כדי להשתמש בגרסת build חיצונית במקום גרסאות PE המובנות.

מקור: OpenNet.ru

קנה אירוח אמין לאתרים עם הגנת DDoS, שרתי VPS VDS 🔥 קנה אחסון אתרים אמין עם הגנת DDoS, שרתי VPS VDS | ProHoster