Hangover مشروع لإطلاق تطبيقات Windows على ARM64

النبيذ - أندرويد - صورة مميزة

مطورو مشروع النبيذ Stefan Dösinger و André Hentschel الإعلان عن أول إصدار عام من محاكي Hangover ، أن يسمح بتشغيل تطبيقات Windows 32 بت و 64 بت مصمم لمعماريات x86 و x86_64 في بيئات Linux و Android استنادًا إلى بنية ARM64 (Aarch64).

على عكس تشغيل Wine مع الحد الأدنى من بيئة النظام باستخدام QEMU في وضع المحاكاة على مستوى استدعاء النظام (باستخدام نفس النواة مثل النظام الرئيسي).

حول محاكي Hangover

المشروع يسمح Hangover للمستخدم بالحصول على أداء أعلى بشكل ملحوظ. تسريع هذا المشروع يتم تحقيقه عن طريق نقل طبقة المحاكاة إلى مستوى Win32 / Win64 API ، بدلاً من محاكاة استدعاءات النظام العادية باستخدام محاكاة النشر لواجهة برمجة تطبيقات Win32 / Win64 بناءً عليها.
حاليًا ، يسمح المشروع للمستخدم بتشغيل التطبيقات والألعاب البسيطة فقط التي تستخدم Win64 و Win32 APIs.

بالنسبة لنظام التشغيل Linux ، تم تنفيذ دعم Direct3D ، والذي لم يتوفر بعد لنظام Android بسبب عدم اكتمال دعم OpenGL ES في Wine.

دعم المصحح غير موجود ومعالجة الاستثناءات معروفة بأخطاء. بسبب هذه الأسباب ، من المرجح أن تكون أنظمة الحماية من النسخ ومكافحة الغش في حالة أسوأ مما كانت عليه في الإصدارات العادية من Wine.

بشكل عام ، يمكن توقع أن تكون تطبيقات 64 بت في حالة أفضل من تطبيقات 32 بت لأنه لا يلزم وجود بنية بيانات من أي نوع.
لضمان العمل ، يتم استخدام تثبيت منتظم لـ Wine ، مع استكماله بمكتبات مختلفة وطبقات DLL.
في بيئة Linux ، تعمل تطبيقات Windows تلقائيًا عندما يكون QEMU في دليل Wine ("C: \ x86 \ qemu-x86_64.exe.so").

حيث أنه ، على نظام Android ، يُقترح استخدام الأداة المساعدة cmd لتنفيذ التنفيذ.
مساحة العنوان محدودة بـ 4 جيجا بايت عند حجز كل عنوان أقل من 4 جيجا بايت.

تم تحميل معظم مكتبات Wine الرئيسية مسبقًا فوق 4 غيغابايت للحفاظ على المساحة أعلاه أقل من 4 جيجابايت خالية قدر الإمكان. الجانب السلبي لذلك هو أن بدء عملية جديدة يستغرق حوالي ثانيتين.

النبيذ 4.0

Hangover a Wine لـ ARM64

يرى Wine كل عملية على أنها عملية 64 بت ، لذا فإن طبقة WoW64 الخاصة بها غير نشطة. سيعمل هذا بشكل جيد مع تطبيقات 32 بت أو 64 بت نقية ، ولكنه سيسبب مشاكل للتطبيقات المختلطة التي تتوقع تمييزًا بين ، على سبيل المثال ، C: \ windows \ system32 و C: \ windows \ syswow64.

فيما يتعلق بإصدار 32 بت (x86) تطبيقات Windows ، تتم معالجتها على مستوى ترجمة الهياكل المنقولة بين التطبيق و Wine (يحافظ نموذج LLP64 على Windows على التوافق الأساسي لأطر العمل بين 32 بت و 64 بت WinAPI).

لتشغيل تطبيقات Windows 32 بت ، يتم استخدام تجميعات Wine 64 بت ويتم التعامل مع كل عملية أولاً على أنها 64 بت.

على الجانب المضيف ، يتم دعم معماريات ARM64 و x86_64 فقط ، ولكن الكود موحد ، مما يسمح بنقل المشروع إلى أبنية أخرى بترتيب البايت من الأصغر إلى الأقدم (الصغير) دون بذل الكثير من الجهد.

لا يزال هناك الكثير لتلميعه

أداء Hangover في الوقت الحالي يترك الكثير مما هو مرغوب فيه. منذ هالعقبة الرئيسية هي أداء الكود الذي يولده QEMU.

ومع ذلك، عند التشغيل على جهاز Android Nvidia Shield TV. الأداء كافٍ لتشغيل الألعاب من العقد الأول من القرن الحادي والعشرين.

تشمل التطبيقات التي تم اختبارها في Hangover Notepad ++ و ANNO 1602 و Age of Wonders و Warhammer 40k: Dawn of War و The Settlers II 10th Anniversary و Prince of Persia 3D و Worms 2 و Worms Armageddon. تعمل أمثلة DirectX 9 SDK أيضًا بسرعات مقبولة.

يعتمد الإصدار على رمز Wine 4.0 الأساسي ، والذي ينعكس في رقم إصدار Hangover 0.4.0. تعتمد طبقة المحاكاة على مشروع QEMU.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.