Box86 اور Box64 ایمولیٹرز کے نئے ورژن، آپ کو ARM سسٹم پر x86 گیمز چلانے کی اجازت دیتے ہیں۔

Box86 0.2.6 اور Box64 0.1.8 ایمولیٹرز کی ریلیز شائع کی گئی ہیں، جو ARM، ARM86، PPC86LE اور RISC-V پروسیسر والے آلات پر x64 اور x64_64 فن تعمیر کے لیے مرتب کردہ لینکس پروگراموں کو چلانے کے لیے ڈیزائن کیے گئے ہیں۔ پروجیکٹس کو ڈیولپرز کی ایک ٹیم کے ذریعے ہم وقت سازی سے تیار کیا جاتا ہے - Box86 صرف 32-bit x86 ایپلی کیشنز کو چلانے کی صلاحیت تک محدود ہے، اور Box64 64-bit executables کو چلانے کی صلاحیت فراہم کرتا ہے۔ پراجیکٹ گیمنگ ایپلی کیشنز کے آغاز کو منظم کرنے پر بہت توجہ دیتا ہے، بشمول وائن اور پروٹون کے ذریعے ونڈوز بلڈز کو لانچ کرنے کی صلاحیت فراہم کرنا۔ پروجیکٹ کا سورس کوڈ C میں لکھا گیا ہے اور MIT لائسنس کے تحت (Box86, Box64) تقسیم کیا گیا ہے۔

پروجیکٹ کی ایک خصوصیت ہائبرڈ ایگزیکیوشن ماڈل کا استعمال ہے، جس میں ایمولیشن کا اطلاق صرف ایپلی کیشن کے مشین کوڈ اور مخصوص لائبریریوں پر ہوتا ہے۔ عام نظام کی لائبریریاں، بشمول libc، libm، GTK، SDL، Vulkan اور OpenGL، کو ٹارگٹ پلیٹ فارمز کے مقامی اختیارات سے تبدیل کیا جاتا ہے۔ اس طرح، لائبریری کالز ایمولیشن کے بغیر انجام دی جاتی ہیں، جس کے نتیجے میں کارکردگی میں نمایاں اضافہ ہوتا ہے۔

کوڈ کی ایمولیشن جس کے لیے ٹارگٹ پلیٹ فارم کے لیے کوئی متبادل نہیں ہے، ڈائنامک ری کمپائلیشن (DynaRec) کی تکنیک کا استعمال کرتے ہوئے مشین ہدایات کے ایک سیٹ سے دوسرے میں کیا جاتا ہے۔ مشین کی ہدایات کی ترجمانی کے مقابلے میں، متحرک دوبارہ مرتب کرنا 5-10 گنا زیادہ کارکردگی کو ظاہر کرتا ہے۔

کارکردگی کے ٹیسٹوں میں، Box86 اور Box64 ایمولیٹروں نے، جب Armhf اور Aarch64 پلیٹ فارمز پر عمل درآمد کیا، نمایاں طور پر QEMU اور FEX-emu منصوبوں کو پیچھے چھوڑ دیا، اور انفرادی ٹیسٹوں (glmark2، openarena) میں انہوں نے ہدف کے لیے اسمبلی چلانے کے مترادف کارکردگی حاصل کی۔ پلیٹ فارم کمپیوٹ کے لحاظ سے 7-zip اور dav1d ٹیسٹوں میں، Box64 کی کارکردگی مقامی ایپلیکیشن کی کارکردگی کے 27% سے 53% تک تھی (مقابلے کے لیے، QEMU نے 5-16%، اور FEX-emu - 13-26% کے نتائج دکھائے )۔ مزید برآں، روزیٹا 2 ایمولیٹر کے ساتھ ایک موازنہ کیا گیا، جسے ایپل نے M86 ARM چپ والے سسٹمز پر x1 کوڈ چلانے کے لیے استعمال کیا۔ Rosetta 2 نے مقامی تعمیر کے 7%، اور Box71 - 64% کی کارکردگی کے ساتھ 57zip پر مبنی ٹیسٹ فراہم کیا۔

Box86 اور Box64 ایمولیٹرز کے نئے ورژن، آپ کو ARM سسٹم پر x86 گیمز چلانے کی اجازت دیتے ہیں۔

جہاں تک ایپلی کیشنز کے ساتھ مطابقت کا تعلق ہے، ٹیسٹ کیے گئے 165 گیمز میں سے تقریباً 70 فیصد نے کامیابی سے کام کیا۔ مزید 10% کام، لیکن کچھ تحفظات اور پابندیوں کے ساتھ۔ تعاون یافتہ گیمز میں WorldOfGoo، Airline Tycoon Deluxe، FTL، Undertale، A Risk of Rain، Cook Serve Delicious اور سب سے زیادہ GameMaker گیمز شامل ہیں۔ جن گیمز میں مسائل کا ذکر کیا گیا ہے، ان میں یونٹی تھری ڈی انجن پر مبنی گیمز کا ذکر کیا گیا ہے، جو مونو پیکج سے منسلک ہے، جس کی ایمولیشن مونو میں استعمال ہونے والی جے آئی ٹی کمپلیشن کی وجہ سے ہمیشہ کام نہیں کرتی، اور یہ بھی کافی حد تک اعلی گرافکس کی ضروریات جو ہمیشہ ARM بورڈز پر حاصل نہیں ہوتی ہیں۔ GTK ایپلیکیشن لائبریریوں کا متبادل فی الحال GTK3 تک محدود ہے (GTK2/3 کا متبادل مکمل طور پر نافذ نہیں ہے)۔

نئی ریلیز میں اہم تبدیلیاں:

  • ولکن لائبریری کے لیے بائنڈنگ شامل کر دی گئی۔ Vulkan اور DXVK گرافکس API (Vulkan کے اوپر DXGI، Direct3D 9، 10 اور 11 کا نفاذ) کے لیے معاونت شامل کی گئی۔
  • GTK لائبریریوں کے لیے بہتر پابندیاں۔ عام طور پر GTK ایپلی کیشنز میں استعمال ہونے والی gstreamer اور لائبریریوں کے لیے شامل کردہ پابندیاں۔
  • RISC-V اور PPC64LE فن تعمیر کے لیے ابتدائی مدد (ابھی کے لیے صرف تشریحی موڈ) شامل کی گئی۔
  • SteamPlay اور پروٹون پرت کے لیے سپورٹ کو بہتر بنانے کے لیے اصلاحات کی گئی ہیں۔ AArch64 بورڈز جیسے Raspberry Pi 3 اور 4 پر Steam سے بہت سے Linux اور Windows گیمز چلانے کی صلاحیت فراہم کرتا ہے۔
  • بہتر میموری مینجمنٹ، mmap کارکردگی، اور میموری پروٹیکشن وائلیشن ٹریکنگ۔
  • libc میں کلون سسٹم کال کے لیے بہتر سپورٹ۔ نئے سسٹم کالز کے لیے سپورٹ شامل کر دی گئی۔
  • ڈائنامک ری کمپائلیشن انجن نے SSE/x87 رجسٹروں کے ساتھ کام میں بہتری لائی ہے، نئے مشین کوڈز کے لیے سپورٹ شامل کیا ہے، فلوٹ اور ڈبل نمبرز کے بہتر تبادلوں، اندرونی ٹرانزیشنز کی بہتر پروسیسنگ، اور نئے فن تعمیرات کے لیے سپورٹ کے اضافے کو آسان بنایا ہے۔
  • بہتر ELF فائل لوڈر۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں