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

بعد عام من التطوير و29 إصدارًا تجريبيًا، تم تقديم إصدار مستقر للتنفيذ المفتوح لـ Win32 API - Wine 10.0، والذي يتضمن أكثر من 6000 تغيير. تشمل الإنجازات الرئيسية في الإصدار الجديد الدعم الكامل لبنية ARM64EC، وتوسيع نطاق الشاشات ذات كثافة البكسل العالية، وإدراج برنامج تشغيل Wayland افتراضيًا، وتنفيذ لوحات لتخصيص الشاشة وعصا التحكم، وواجهة خلفية بديلة للوسائط المتعددة تعتمد على FFmpeg، وبلوتوث برنامج التشغيل، دعم Vulkan 1.4، إمكانية المحاكاة لتبديل أوضاع الفيديو.

تم التأكد من أن 5372 برنامجًا تعمل بشكل صحيح في Wine Windows (5336 برنامجًا قبل عام، و5266 برنامجًا قبل عامين، و5156 برنامجًا قبل ثلاثة أعوام)، بالإضافة إلى 4435 برنامج آخر (4397 برنامجًا قبل عام، و4370 برنامجًا قبل عامين، و4312 برنامجًا قبل ثلاثة أعوام) تعمل بشكل جيد مع إعدادات إضافية وملفات DLL خارجية. أما 4020 برنامجًا (3943 برنامجًا قبل عام، و3888 برنامجًا قبل عامين، و3813 برنامجًا قبل ثلاثة أعوام) فتعاني من مشاكل طفيفة لا تؤثر على استخدام الوظائف الأساسية للتطبيق.

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

  • ARM64
    • يتم توفير الدعم الكامل لبنية ARM64EC (متوافقة مع محاكاة ARM64)، وقد وصل مستوى الدعم في Wine إلى التكافؤ مع بنية ARM64. تم تصميم بنية ARM64EC لتبسيط عملية نقل التطبيقات المكتوبة في الأصل لأنظمة x64_86 إلى أنظمة ARM64، وتسمح بتشغيل وحدات كود x64_86 الفردية في بيئة ARM64 باستخدام محاكي.
    • تم تنفيذ الدعم الكامل لتنسيق ملف ARM64X PE، والذي يسمح لك بدمج التعليمات البرمجية الخاصة ببنيتي ARM64EC وARM64 في ملف واحد قابل للتنفيذ. لإنشاء Wine بتنسيق ARM64X، تحتاج إلى تثبيت LLVM من Git (سيتم تضمين الوظائف الضرورية في إصدار LLVM 20) وعند تشغيل البرنامج النصي "configure"، حدد الخيار "-enable-archs=arm64ec,aarch64" .
    • تم تنفيذ واجهة لمحاكاة أنظمة 64 بت x86. عند استخدام ARM64EC، يعمل Wine نفسه كما هو، ويتم تطبيق المحاكاة فقط على كود تطبيق x86-64. لم يتم تضمين المكتبة المزودة بالمحاكي بعد في حزمة Wine الرئيسية، ولكن لتشغيل كود x86-64 في بيئة ARM64، يمكنك استخدام محاكي FEX الخارجي المصمم بدعم ARM64EC.
    • يتطلب دعم ARM64 أن يستخدم النظام صفحات ذاكرة بحجم 4 كيلوبايت كما هو مطلوب من قبل ABI. Windows (التشغيل في بيئات ذات نواة) Linux(استخدام صفحات ذاكرة بحجم 16 كيلوبايت أو 64 كيلوبايت غير مدعوم حاليًا).
  • النظام الفرعي للرسومات
    • تم تنفيذ تحجيم أكثر دقة على الشاشات ذات كثافة البكسل العالية (High-DPI). تم توفير الدعم لوضع DPI Awareness لتنظيم عرض التطبيقات على الشاشات ذات كثافة البكسل العالية، مع الأخذ في الاعتبار ما إذا كان التطبيق يدعم التكيف مع تغييرات DPI أم لا (يتم تحجيم التطبيقات التي لا تأخذ في الاعتبار DPI تلقائيًا). تمت إضافة خيارات لتجاوز دعم High-DPI للتطبيقات الفردية أو بادئات Wine.
    • تمت إضافة دعم مواصفات Vulkan 1.4 إلى برنامج تشغيل واجهة برمجة تطبيقات الرسومات Vulkan (تم دعم Vulkan 9.0 في Wine 1.3.272). تمت إضافة دعم لملحقات Vulkan لتشفير وفك تشفير الفيديو.
    • عند استخدام الواجهة الخلفية لـ X11، تم تنفيذ القدرة على عرض نوافذ Vulkan الفرعية للتطبيقات التي تستخدم مثل هذه النوافذ لعرض محتوى ثلاثي الأبعاد (في السابق، كانت هذه الميزة متاحة فقط لـ OpenGL).
    • تمت إضافة دعم آلية ربط الخطوط إلى مكتبة GdiPlus، مما يتيح لك استخدام عدة خطوط عند عرض النص في حالة عدم وجود خطوط تغطي بشكل منفصل جميع الأحرف الموجودة في النص.
  • ايلاند
    • يتضمن الإعداد الافتراضي برنامج التشغيل winewayland.drv، الذي يسمح بتشغيل Wine في بيئات Wayland دون استخدام مكونات XWayland أو X11. يقوم Wine بتشغيل التطبيقات الافتراضية مباشرةً على Wayland فقط في حال عدم توفر XWayland؛ وإلا، فإن XWayland هو المشغل المفضل. لفرض استخدام Wayland، يمكنك استخدام متغير البيئة DISPLAY أو إضافة مفتاح تسجيل عن طريق إنشاء ملف .reg. Windows محرر التسجيل الإصدار 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] "Graphics" = "wayland" وقم بتطبيقه باستخدام الأمر: $ WINEPREFIX = /path/to/prefix wine regedit /path/to/file.reg
    • تمت إضافة دعم لـ OpenGL ومخازن البكسل المؤقتة (pBuffer) إلى برنامج تشغيل winewayland.drv.
    • تم حل المشكلات المتعلقة بتحديد موضع النافذة المنبثقة في البيئات المستندة إلى Wayland.
    • عند استخدام Wayland، يتم تنفيذ دعم الضغط المتكرر التلقائي أثناء الضغط على المفاتيح.
  • تكامل سطح المكتب
    • تمت إضافة آلية محاكاة "ضبط الأوضاع" التجريبية التي تسمح لك بمحاكاة تبديل أوضاع الفيديو دون تغيير إعدادات الشاشة فعليًا. يتم إنشاء إمكانية رؤية تغيير دقة الشاشة دون تبديل وضع الفيديو عن طريق توسيع النوافذ وتوسيع نطاقها.
    • تمت إضافة برنامج صغير جديد للوحة تحكم سطح المكتب (desk.cpl) مع تطبيق واجهة لإدارة إعدادات العرض (على سبيل المثال، يمكنك تغيير الدقة الافتراضية لسطح المكتب أو تكوين معلمات العرض التي تمت محاكاتها).
    • تمت إضافة القدرة على إعادة ضبط إعدادات الشاشة على القيم الافتراضية إذا كان من المستحيل استعادة الحالة بعد تعطل العملية.
    • تمت إضافة دعم لتعطيل عرض الأيقونات في شريط النظام (في "HKLM\Software\Microsoft\Windowsيجب أن يحدد "NoTrayItemsDisplay=1" في "\CurrentVersion\Policies\Explorer".
    • تمت إضافة دعم لتعطيل واجهات سطر الأوامر (مشغل واجهات سطر الأوامر) في وضع سطح المكتب (في "HKLM\Software\Microsoft\Windowsيجب أن يحدد "NoDesktop=1" في "\CurrentVersion\Policies\Explorer").
  • Direct3D
    • يتطلب العرض باستخدام OpenGL الآن دعمًا لـ GLSL 1.20، بالإضافة إلى الامتدادين EXT_framebuffer_object وARB_texture_non_power_of_two. تم إيقاف دعم الواجهة الخلفية لتظليل ARB القديم وإعداد OffscreenRenderingMode.
    • بالنسبة إلى Direct3D 9 والإصدارات الأقدم، تمت إضافة خط أنابيب رسومات ذات وظائف ثابتة (قدم Direct3D الأقدم فقط عمليات رسومات محددة مسبقًا لا يمكن تغييرها)، وتم تنفيذها باستخدام لغة تظليل HLSL والسماح بمحاكاة الوظائف الثابتة عند العرض عبر Vulkan أو OpenGL API.
    • يستخدم العرض باستخدام Vulkan امتدادات Vulkan لتغيير حالة مسار الرسومات ديناميكيًا، مما يقلل التأتأة في الألعاب.
    • تمت إضافة واجهة خلفية glsl-vkd3d بديلة لتظليل GLSL، باستخدام vkd3d-shader.
    • تم توفير الدعم الأولي لتجميع تأثيرات Direct3D باستخدام vkd3d-shader.
    • تنفذ مكتبة D3DX9 القدرة على إنشاء مواد MIP (MipMap) عند تحميل مواد حجمية. تمت إضافة دعم لتنسيقات تمثيل الألوان RGBA و64bpp RGB في صور PNG، بالإضافة إلى تنسيقات X48L8V8U8 وA8W2V10U10 وA10P8 وV8U16 وQ16W16V16U16.
  • الصوت والفيديو
    • كبديل للواجهة الخلفية المستندة إلى GStreamer، تم تنفيذ واجهة خلفية جديدة للوسائط المتعددة، تعتمد على استخدام FFmpeg ومناسبة لتشغيل إطار عمل Media Foundation. لتمكين الواجهة الخلفية البديلة، يجب عليك تحديد "DisableGstByteStreamHandler=1" في قسم التسجيل "HKCU\Software\Wine\MediaFoundation".
    • تم تحسين تنفيذ Media Foundation API لاستيعاب التطبيقات التي تعتمد على مكونات إزالة تعدد الإرسال وفك التشفير بشكل أفضل.
    • أضافت DirectMusic API دعمًا لتحميل ملفات MIDI.
  • أجهزة الإدخال
    • تمت إضافة الإصدار الأولي من برنامج تشغيل Bluetooth.
    • تمت إضافة برنامج لوحة تحكم عصا التحكم (joy.cpl) مع تنفيذ إعدادات عصا التحكم.
    • أُدخلت تحسينات على أجهزة التأشير (لوحات اللمس، الفأرات) باستخدام بروتوكول HID (جهاز واجهة المستخدم). أُضيف برنامج تشغيل mouhid.sys لأجهزة HID. تم تطبيق تحليل صحيح لأجهزة الإدخال المركبة، ويتم الآن إرسال معلومات عنها إلى Windows-التطبيقات، كأجهزة منفصلة.
    • بالنسبة للواجهة الخلفية لـ X11، تمت إضافة دعم شاشات اللمس وتم تنفيذ القدرة على استخدام وضع اللمس المتعدد من خلال معالجة رسائل WM_POINTER* (WM_POINTERENTER، WM_POINTERLEAVE، وما إلى ذلك).
    • تم تنفيذ وضع بعض الهياكل الداخلية لمكتبة user32 في الذاكرة المشتركة، مما أدى إلى زيادة الأداء وتقليل الحمل على Wine Server.
    • أضاف Winex11 دعمًا لمعالجة أحداث XInput2 فيما يتعلق بالنوافذ الفردية.
    • تم تنفيذ الدعم الصحيح للوحات المفاتيح ذات تخطيط دفوراك.
  • النواة (واجهات النواة) Windows)
    • تمت إضافة دعم لتصعيد امتيازات العملية (العملية التي يتم تشغيلها في البداية كمستخدم قياسي يمكن منحها امتيازات المسؤول). عند إنشاء عمليات الخادم (خادم إجراء msi)، بالإضافة إلى العمليات التي تستدعي وظائف RtlCreateUserProcess() وCreateProcessInternal()، يتم تمكين رمز مسؤول محدود بشكل افتراضي.
    • عند الحصول على معلومات حول تسميات القرص، كلما كان ذلك ممكنًا، يتم الآن استخدام الوصول إلى خدمات النظام عبر DBus، بدلاً من محاولة الوصول مباشرة إلى الجهاز.
    • تم الآن تنفيذ آلية الاتصال بين العمليات أحادية الاتجاه (IPC) الخاصة بـ Mailslots مباشرةً في خادم Wine، مما يسمح بدعم دلالي كامل. Windows.
    • تم تنفيذه في انتظار أحداث المنفذ التسلسلي في الوضع غير المتزامن.
    • تمت إضافة دعم كامل لامتدادات معالج XSTATE في سياقات الخيوط، مما يسمح باستخدام امتدادات المتجهات الجديدة مثل AVX-512.
  • التطبيقات المدمجة
    • تمت إعادة كتابة محرك معالجة بيانات الإدخال المستخدم في مترجم الأوامر cmd.exe. تمت إضافة دعم لعمليات "||" إلى cmd.exe و "&&".
    • أضافت الأداة المساعدة findstr دعمًا للتعبيرات العادية وعمليات البحث غير الحساسة لحالة الأحرف.
    • تمت إضافة القدرة على تسجيل وحدات ARM32EC إلى الأدوات المساعدة regsvr32 وrundll64.
    • الأدوات المساعدة المضافة: فرز لفرز بيانات الإدخال، وfc لمقارنة الملفات ومكان البحث عن الملفات.
    • يطبق تطبيق wmic وضع التشغيل التفاعلي.
    • أضاف Explorer دعمًا اختياريًا لقائمة البدء وشريط الأدوات. تمكين إطلاق Explorer.exe مع حقوق وصول منخفضة.
  • ادوات التطوير
    • تمت إضافة خيار "-marm64x" إلى winebuild لإنشاء مكتبات ARM64X المختلطة.
    • تمت إضافة خيار "-marm64x" إلى winegcc للسماح ببناء ARM64X.
    • تستخدم الملفات التي تم إنشاؤها باستخدام لغة تعريف الواجهة (IDL) المكونات التي تدعم التنفيذ بشكل كامل في الوضع المفسر.
    • تمت إضافة دعم لإنشاء مكتبات الأنواع (TypeLib) بالتنسيق القديم (SLTG) إلى برنامج التحويل البرمجي لـ IDL (لغة تعريف الواجهة).
    • أضافت الأداة المساعدة winedump دعمًا لحفظ عمليات تفريغ جداول minidump ومعلومات استثناء C++ وموارد typelib.
  • miscellanea
    • تحسين الدعم لبروتوكول تبادل المفاتيح Diffie-Hellman (DH). تمت إضافة القدرة على تكوين واستقبال معلمات DH. تم تنفيذ معالجات لإنشاء أزواج من المفاتيح العامة والخاصة.
    • يتم توفير استخدام الحشو التزايدي OAEP (حشو التشفير غير المتماثل الأمثل) مع خوارزمية RSA.
    • تدعم DirectPlay API جلسات الشبكة.
    • تحسين معالجة حالات الإدخال/الإخراج غير المتزامنة عند العمل في وضع WoW64 (64 بت) Windows-على-Windows)، مما يسمح لك بتشغيل 32 بت Windows-التطبيقات على أنظمة يونكس 64 بت.
    • تمت إضافة دعم لتحميل برامج تشغيل ODBC لأنظمة إدارة قواعد البيانات المُجمَّعة لـ Windows.
    • بالنسبة لنظام ARM، يتم تنفيذ الدعم الكامل لاستثناءات RPC/COM وC++ RTTI (معلومات نوع وقت التشغيل) واستثناءات C++.
    • في وقت التشغيل C، تنفذ وظائف ANSI الدعم لتشفير UTF-8.
    • تم توسيع قدرات محرك MSHTML. تمت إضافة دعم للنماذج الأولية ومنشئي الكائنات. تمت إضافة واجهة ربط كائن جديدة لـ MSHTML إلى محرك JavaScript. تم تحويل وظائف MSHTML المضمنة إلى كائنات JavaScript صالحة. تحسين مجموعة البيانات المهملة لجافا سكريبت لتغطية جميع سياقات تنفيذ البرنامج النصي في سلسلة المحادثات. تمت إضافة دعم لكائنات ArrayBuffer وDataView JavaScript.
    • تمت إضافة دعم التحليل الثابت باستخدام تقارير اختبار Clang وJUnit إلى نظام التكامل المستمر القائم على Gitlab.
    • مكتبة Capstone 5.0.3 مدمجة في الحزمة، والتي من خلالها يتم تنفيذ التفكيك في مصحح أخطاء WineDb.
    • تم تحديث المكونات إلى الإصدارات الجديدة: Vkd3d 1.14، Faudio 24.10، FluidSynth 2.4.0، LDAP 2.5.18، LCMS2 2.16، LibJpeg 9f، LibMPG123 1.32.9، LibPng 1.6.44، LibTiff 4.7.0، LibXml2 2.12.8 وLibXslt 1.1.42 وZlib 1.3.1.

المصدر: opennet.ru

شراء استضافة موثوقة للمواقع مع حماية DDoS وخوادم VPS VDS 🔥 اشترِ استضافة مواقع ويب موثوقة مع حماية من هجمات DDoS، وخوادم VPS وVDS | ProHoster