إصدار مستقر من Wine 8.0

بعد عام من التطوير و 28 إصدارًا تجريبيًا ، تم تقديم إصدار ثابت للتطبيق المفتوح لـ Win32 API ، Wine 8.0 ، والذي يتضمن أكثر من 8600 تغيير. الإنجاز الرئيسي في الإصدار الجديد هو إكمال العمل على ترجمة وحدات Wine إلى ملف.

تم تأكيد 5266 (منذ عام واحد 5156 ، قبل عامين 5049) من برامج Windows للعمل بشكل صحيح ، 4370 برامج أخرى (منذ عام واحد 4312 ، قبل عامين 4227) تعمل بشكل جيد مع الإعدادات الإضافية وملفات DLL الخارجية. 3888 برنامجًا (منذ 3813 عامًا ، 3703 قبل عامين) بها مشكلات بسيطة لا تتداخل مع استخدام الوظائف الرئيسية للتطبيقات.

الابتكارات الرئيسية في Wine 8.0:

  • وحدات بتنسيق PE
    • بعد أربع سنوات من العمل ، اكتمل بالكامل نقل جميع مكتبات DLL لاستخدام تنسيق الملف القابل للتنفيذ PE (قابل للتنفيذ المحمول ، المستخدم في Windows). يتيح لك استخدام PE استخدام أدوات تصحيح الأخطاء المتوفرة لنظام التشغيل Windows وحل المشكلات المتعلقة بدعم أنظمة حماية النسخ المختلفة التي تتحقق من هوية وحدات النظام على القرص والذاكرة. تم أيضًا حل المشكلات المتعلقة بتشغيل تطبيقات 32 بت على مضيفات 64 بت وتطبيقات x86 على أنظمة ARM. من بين المهام المتبقية التي تم التخطيط لحلها في الإصدارات التجريبية اللاحقة من Wine 8.x ، تتم ملاحظة حركة الوحدات النمطية إلى واجهة استدعاء نظام NT ، بدلاً من إجراء مكالمات مباشرة بين مستويي PE و Unix.
    • تم تطبيق مرسل مكالمات نظام خاص يستخدم لترجمة المكالمات من PE إلى مكتبات Unix لتقليل الحمل عند إجراء مكالمة نظام NT كاملة. على سبيل المثال ، أتاح التحسين الذي تم إجراؤه تقليل انخفاض الأداء عند استخدام مكتبات OpenGL و Vulkan.
    • تحتفظ تطبيقات Winelib بالقدرة على استخدام إصدارات مختلطة من مكتبات Windows / Unix بتنسيق ELF (.dll.so) ، لكن مثل هذه التطبيقات التي لا تحتوي على مكتبات 32 بت لن تدعم الوظائف المتاحة من خلال واجهة استدعاء نظام NT ، مثل WoW64.
  • واو64
    • يتم توفير طبقات WoW64 (64 بت Windows-on-Windows) لجميع مكتبات Unix ، مما يسمح لوحدات تنسيق PE 32 بت بالوصول إلى مكتبات Unix 64 بت ، والتي ، بعد التخلص من مكالمات PE / Unix المباشرة ، ستجعل ذلك ممكنًا لتنفيذ تطبيقات Windows 32 بت دون تثبيت مكتبات Unix 32 بت.
    • في حالة عدم وجود أداة تحميل Wine 32 بت ، يمكن تشغيل تطبيقات 32 بت في وضع WoW64 التجريبي الجديد الذي يشبه Windows ، والذي يعمل فيه كود 32 بت داخل عملية 64 بت. يتم تمكين الوضع عند إنشاء Wine باستخدام خيار "--enable-archs".
  • النظام الفرعي للرسومات
    • يستخدم التكوين الافتراضي سمة الضوء ("فاتح"). يمكنك تغيير السمة باستخدام الأداة المساعدة WineCfg.
      إصدار مستقر من Wine 8.0
    • تم تحويل برامج تشغيل الرسومات (winex11.drv ، winemac.drv ، wineandroid.drv) لإجراء مكالمات نظام على مستوى Unix والوصول إلى برامج التشغيل من خلال مكتبة Win32u.
      إصدار مستقر من Wine 8.0
    • يتم تنفيذ بنية معالج الطباعة ، والتي تُستخدم لاستبعاد المكالمات المباشرة بين مستويي PE و Unix في برنامج تشغيل الطابعة.
    • تضيف واجهة برمجة تطبيقات Direct2D دعمًا للتأثيرات.
    • تمت إضافة القدرة على تسجيل وتشغيل قوائم الأوامر إلى Direct2D API.
    • تمت إضافة دعم لمواصفات Vulkan 1.3.237 في برنامج تشغيل Vulkan Graphics API (تم دعم Vulkan 7 في Wine 1.2).
  • Direct3D
    • تمت إضافة مترجم تظليل جديد لـ HLSL (لغة Shader عالية المستوى) ، بناءً على مكتبة vkd3d-shader. أيضًا ، استنادًا إلى vkd3d-shader ، تم إعداد مُفكك HLSL ومعالج HLSL الأولي.
    • تم تنفيذ واجهة مضخة الخيط المقدمة في D3DX 10.
    • تضيف تأثيرات Direct3D 10 دعمًا للعديد من التعبيرات الجديدة.
    • نفذت مكتبة الدعم لـ D3DX 9 دعمًا لإسقاط نسيج Cubemap.
  • الصوت والفيديو
    • استنادًا إلى إطار عمل GStreamer ، يتم تنفيذ دعم المرشحات لفك تشفير الصوت بتنسيق MPEG-1.
    • تمت إضافة مرشح لقراءة دفق الصوت والفيديو بتنسيق ASF (تنسيق الأنظمة المتقدم).
    • تمت إزالة مكتبة الطبقة المتوسطة OpenAL32.dll ، بدلاً من استخدام مكتبة Windows الأصلية OpenAL32.dll ، المزودة بالتطبيقات ، الآن.
    • قام Media Foundation Player بتحسين اكتشاف نوع المحتوى.
    • نفذت القدرة على التحكم في معدل نقل البيانات (معدل التحكم).
    • دعم محسّن للخلاط والمقدم الافتراضي في عارض الفيديو المحسن (EVR).
    • تمت إضافة تطبيق مبدئي لواجهة برمجة تطبيقات Writer Encoding.
    • تحسين دعم محمل الهيكل.
  • أجهزة الإدخال
    • دعم محسّن بشكل ملحوظ لوحدات التحكم في التوصيل السريع.
    • يُقترح تنفيذ مُحسَّن لرمز تحديد عجلات اللعبة ، استنادًا إلى مكتبة SDL.
    • دعم محسّن لتأثير ردود الفعل Force عند استخدام عجلات توجيه الألعاب.
    • نفذ القدرة على التحكم في محركات الاهتزاز اليمنى واليسرى باستخدام مواصفات HID Haptic.
    • تم تغيير تصميم لوحة التحكم في عصا التحكم.
    • من خلال استخدام الواجهة الخلفية hidraw ، يتم توفير الدعم لوحدات تحكم Sony DualShock و DualSense.
    • يُقترح WinRT-module Windows.Gaming.Input مع تنفيذ واجهة برمجة للوصول إلى لوحات الألعاب وعصا التحكم وعجلات اللعبة. بالنسبة لواجهة برمجة التطبيقات الجديدة ، من بين أشياء أخرى ، يتم تنفيذ دعم الإخطار بالتوصيل الساخن للأجهزة وتأثيرات اللمس والاهتزاز.
  • تدويل
    • يتم توفير إنشاء قاعدة البيانات الصحيحة للغات بتنسيق locale.nls من مستودع Unicode CLDR (مستودع بيانات لغة Unicode العامة).
    • تم نقل وظائف مقارنة سلسلة Unicode لاستخدام قاعدة البيانات وخوارزمية Windows Sortkey بدلاً من خوارزمية Unicode Collation ، مما يجعل السلوك أقرب إلى Windows.
    • تمت إضافة دعم نطاقات (مستويات) كود Unicode العليا إلى معظم الميزات.
    • توفير القدرة على استخدام UTF-8 كتشفير ANSI.
    • تم تحديث جداول الأحرف لمواصفات Unicode 15.0.0.
  • النص والخطوط
    • يتم تمكين ربط الخط لمعظم خطوط النظام لحل الحروف الرسومية المفقودة في الأنظمة ذات اللغات المحلية الصينية والكورية واليابانية.
    • إعادة تصميم الخط الاحتياطي إلى خط احتياطي في DirectWrite.
  • Kernel (واجهات Windows kernel)
    • تم تنفيذ قاعدة بيانات ApiSetSchema ، والتي حلت محل الوحدات النمطية api-ms- * وجعلت من الممكن تقليل استهلاك مساحة القرص والعناوين.
    • يتم حفظ سمات ملف DOS على القرص بتنسيق متوافق مع Samba باستخدام سمات نظام الملفات الموسعة.
  • فرص التواصل
    • تمت إضافة دعم لـ OCSP (بروتوكول حالة الشهادة عبر الإنترنت) المستخدم للتحقق من الشهادات الملغاة.
    • تم توسيع نطاق ميزات EcmaScript المتوفرة في وضع التوافق مع معايير JavaScript.
    • تطبيق جامع القمامة لجافا سكريبت.
    • تتضمن حزمة محرك Gecko أدوات للأشخاص ذوي الإعاقة.
    • يضيف MSHTML دعمًا لواجهة برمجة تطبيقات Web Storage API وكائن Performance وكائنات إضافية لمعالجة الأحداث.
  • التطبيقات المدمجة
    • تم تبديل جميع التطبيقات المدمجة لاستخدام مكتبة Common Controls 6 ، مع دعم السمات والعرض ، مع مراعاة الشاشات ذات الكثافة العالية للبكسل.
    • تحسين قدرات تصحيح الخيط في Wine Debugger (winedbg).
    • تمت إضافة دعم نوع QWORD إلى أدوات التسجيل المساعدة (REGEDIT و REG).
    • تمت إضافة سطر حالة إلى Notepad مع معلومات حول موضع المؤشر ووظيفة Goto Line للانتقال إلى رقم السطر المحدد
    • توفر وحدة التحكم المضمنة إخراج البيانات في صفحة رموز OEM.
    • تمت إضافة أمر "استعلام" إلى الأداة المساعدة sc.exe (التحكم في الخدمة).
  • نظام التجميع
    • توفير القدرة على إنشاء ملفات قابلة للتنفيذ بتنسيق PE للعديد من البنى (على سبيل المثال ، "--enable-archs = i386، x86_64").
    • على جميع الأنظمة الأساسية ذات النوع 32 بت الطويل ، يتم الآن إعادة تعريف أنواع البيانات المحددة على Windows على أنها "طويلة" بدلاً من "int" في Wine. في Winelib ، يمكن تعطيل هذا السلوك عبر تعريف WINE_NO_LONG_TYPES.
    • تمت إضافة القدرة على إنشاء مكتبات بدون استخدام dlltool (يتم تمكينه عن طريق تحديد الخيار "- دون- dlltool" في winebuild).
    • لتحسين كفاءة التحميل وتقليل حجم المكتبات التي لا تحتوي على تعليمات برمجية ، والمكتبات ذات الموارد فقط ، يقوم برنامج winegcc بتنفيذ خيار "البيانات فقط".
  • miscellanea
    • إصدارات محدثة من المكتبات المضمنة Faudio 22.11 و LCMS2 2.14 و LibJPEG 9e و LibMPG123 1.31.1 و LibPng 1.6.39 و LibTiff 4.4.0 و LibXml2 2.10.3 و LibXslt 1.1.37 و Zlib 1.2.13.
    • تم تحديث محرك Wine Mono مع تطبيق النظام الأساسي .NET لإصدار 7.4.
    • تم تنفيذ دعم للتشفير على أساس خوارزمية RSA والتوقيعات الرقمية RSA-PSS.
    • تمت إضافة الإصدار الأولي من واجهة برمجة تطبيقات أتمتة واجهة المستخدم.
    • تتضمن شجرة المصدر مكتبات LDAP و vkd3d ، والتي تم إنشاؤها بتنسيق PE ، مما يلغي الحاجة إلى توفير إصدارات Unix لهذه المكتبات.
    • توقف استخدام مكتبة OpenAL.

المصدر: opennet.ru

إضافة تعليق