הגרסאות החדשות של Box86 ו-Box64 כבר שוחררו

לאחרונה שחרורו של הגרסאות החדשות של אמולטורים של Box86 0.2.6 ו- Box64 0.1.8. הפרויקטים מפותחים בסנכרון על ידי אותו צוות פיתוח.

Box86 מוגבל להפעלת יישומי x86 של 32 סיביות (כגון משחקים) במערכות Linux שאינן x86, כגון ARM (המערכת המארחת חייבת להיות 32-bit little-endian). לכן, נדרשת תת-מערכת של 32 סיביות כדי להפעיל ולהדר את Box86. Box86 הוא חסר תועלת במערכות של 64 סיביות בלבד. כמו כן, אתה צריך שרשרת כלים של 32 סיביות כדי להדר את Box86.

מכיוון ש-Box86 משתמש בגרסאות המקוריות של מספר ספריות "מערכת", כגון libc, libm, SDL ו-OpenGL, קל לשלב ולהשתמש עם רוב היישומים, והביצועים יכולים להיות גבוהים באופן מפתיע במקרים רבים.

אותו דבר לגבי Box64, רק שכזה ומאפשר להפעיל קובצי הפעלה של 64 סיביות. הפרויקט נותן תשומת לב רבה לארגון שחרור יישומי המשחק, כולל היכולת לשחרר רכיבי Windows באמצעות Wine ו-Proton.

מאפיין של הפרויקט הוא השימוש במודל ביצוע היברידי, שבו האמולציה מוחלת רק על קוד המכונה של האפליקציה עצמה וספריות ספציפיות. ספריות מערכת גנריות, כולל libc, libm, GTK, SDL, Vulkan ו-OpenGL, מוחלפות בגרסאות מקוריות בפלטפורמות היעד. לכן, שיחות הספרייה מבוצעות ללא אמולציה, מה שמאפשר שיפור משמעותי בביצועים.

הדמיית קוד שאין לו עקיפות מקוריותs עבור פלטפורמת היעד נעשה באמצעות טכניקה של קומפילציה דינמית מחדש (DynaRec) מקבוצה אחת של הוראות מכונה לאחרת. בהשוואה לפירוש הוראות מכונה, הידור מחדש דינמי מראה ביצועים טובים פי 5 עד 10.

במבחני ביצועים, בעת ריצה על פלטפורמות Armhf ו-Aarch64, האמולטורים של Box86 ו-Box64 עלו על ביצועי QEMU ו-FEX-emu משמעותית ובכמה בדיקות (glmark2, openarena) הם השיגו ביצועים זהים להפעלת assembly מקורי לפלטפורמת היעד.

מבחינת תאימות של בקשות, דמתוך 165 המשחקים שנבדקו, כ-70% היו מוצלחים. כ-10% יותר עבודה, אך עם הסתייגויות והגבלות מסוימות.

מבין המשחקים בהם מציינים בעיות, מוזכרים משחקים המבוססים על מנוע Unity3D, שקשור לחבילת Mono, שהאמולציה שלה עדיין לא תמיד עובדת בגלל קומפילציה JIT בשימוש במונו, וגם יש לו דרישות גרפיקה די גבוהות. שלא תמיד ניתן להשיג על לוחות ARM. ההחלפה של ספריות יישומי GTK מוגבלת כרגע ל-GTK2 (החלפת GTK3/4 לא מיושמת במלואה).

באשר השינויים העיקריים במהדורות החדשות, הדברים הבאים מודגשים:

  • נוסף קישור לספריית וולקן. נוספה תמיכה ב-Vulkan ו-DXVK גרפיקה API (יישום של DXGI, Direct3D 9, 10 ו-11 על Vulkan).
  • כריכות משופרות עבור ספריות GTK. נוספו כריכות עבור gstreamer וספריות הנפוצות ביישומי GTK.
  • נוספה תמיכה ראשונית (עד כה רק מצב פירוש) עבור ארכיטקטורות RISC-V ו-PPC64LE.
  • תיקוני באגים נעשו כדי לשפר את התאימות עם SteamPlay ושכבת הפרוטון. אפשר להריץ משחקי Linux ו-Windows רבים מ-Steam על לוחות AArch64 כמו Raspberry Pi 3 ו-4.
  • שיפור ניהול זיכרון, התנהגות mmap וניטור אחר הפרות הגנת זיכרון.
  • תמיכה משופרת בקריאה של מערכת השיבוט ב-libc. נוספה תמיכה לשיחות מערכת חדשות.
  • במנוע הקומפילציה הדינמי שופרה העבודה עם רישום SSE/x87, נוספה תמיכה בקודי מכונה חדשים, בוצע אופטימיזציה של המרות צפות והמרות כפולות, שופר עיבוד סניפים פנימיים, תמיכה פשוטה בארכיטקטורות חדשות.
  • מטעין קבצי ELF משופר.

לבסוף, אם אתה מעוניין לדעת יותר על זה, אתה יכול לעיין בפרטים בקישור הבא.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.