عن المشروع
felix86 هو محاكي مساحة مستخدم لنظام لينكس يتيح تشغيل برامج x86 وx86-64 على معالجات RISC-V. يهدف إلى تشغيل الألعاب والبرامج الأخرى على أنظمة لينكس المعتمدة على RISC-V.
الميزات الرئيسية التي يذكرها المشروع:
- مترجم Just-in-Time (JIT)
- يستخدم امتداد RISC-V Vector لمحاكاة امتدادات SIMD حتى AVX2
- يدعم عتاد RVA23 والعديد من الامتدادات الاختيارية
- يستخدم مكتبات النظام المضيف في بعض الحالات لتحسين الأداء
البدء: على Ubuntu وDebian وBianbu وربما توزيعات أخرى، يوفر المشروع أمر تثبيت ينزّل ويشغّل سكربتًا لتثبيت felix86 ونظام ملفات جذر من اختيارك. تتوفر وثائق للمطورين والمستخدمين على موقع المشروع، كما تُنشر هناك قائمة توافق.
يعتمد المشروع على عدة مكونات مفتوحة المصدر أخرى، منها مجموعة اختبارات الوحدة الخاصة بـ FEX، وBiscuit لتوليد كود RISC-V، وZydis لفك الترميز والتفكيك، وCatch2 لاختبارات الوحدة، وfmt لتنسيق النصوص، وnlohmann/json لتحليل JSON، وtomlc17 لتحليل TOML، وberkeley-softfloat-3 لمحاكاة أرقام الفاصلة العائمة 80-بت الخاصة بـ x87. كما يستخدم اختبارات ثنائية من مشاريع أخرى للتحقق من السلوك ومنع التراجعات.
يذكر المؤلف أن felix86 بدأ بهدف اكتساب فهم أعمق لمعمارية x86-64 وRISC-V ولينكس والمحاكاة عالية المستوى، واستكشاف المترجمات المحسّنة وتقنيات JIT مثل SSA وتخصيص السجلات ومراحل التحسين، وتعلم التفاصيل منخفضة المستوى مثل الإشارات واستدعاءات النظام وتحميل البرامج، إضافة إلى كونه مشروعًا ممتعًا ومليئًا بالتحديات. يشير ملف README أيضًا إلى مشاريع محاكاة ذات صلة: Panda3DS وshadPS4 وChonkyStation3.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.