Les nouvelles versions de Box86 et Box64 sont déjà sorties

Récemment La libération de les nouvelles versions du Emulateurs Box86 0.2.6 et Box64 0.1.8. Les projets sont développés en synchronisation par la même équipe de développement.

Box86 est limité à l'exécution d'applications x86 32 bits (tels que des jeux) sur des systèmes Linux non x86, tels que ARM (le système hôte doit être petit-boutiste 32 bits). Par conséquent, un sous-système 32 bits est requis pour exécuter et compiler Box86. Box86 est inutile sur les systèmes 64 bits uniquement. De plus, vous avez besoin d'une chaîne d'outils 32 bits pour compiler Box86.

Étant donné que Box86 utilise les versions natives de certaines bibliothèques "système", telles que libc, libm, SDL et OpenGL, il est facile à intégrer et à utiliser avec la plupart des applications, et les performances peuvent être étonnamment élevées dans de nombreux cas.

Il en va de même pour Box64, seulement que tel et permet exécuter des exécutables 64 bits. Le projet accorde une grande attention à l'organisation de la sortie des applications de jeu, y compris la possibilité de publier des versions Windows via Wine et Proton.

Une caractéristique du projet est l'utilisation d'un modèle d'exécution hybride, dans lequel l'émulation est appliquée uniquement au code machine de l'application elle-même et à des bibliothèques spécifiques. Les bibliothèques système génériques, notamment libc, libm, GTK, SDL, Vulkan et OpenGL, sont remplacées par des variantes natives sur les plates-formes cibles. Par conséquent, les appels à la bibliothèque sont exécutés sans émulation, ce qui permet une augmentation significative des performances.

Émulation de code qui n'a pas de remplacements natifss pour la plate-forme cible se fait à l'aide de la technique de recompilation dynamique (DynaRec) d'un ensemble d'instructions machine à un autre. Par rapport à l'interprétation des instructions machine, la recompilation dynamique affiche des performances 5 à 10 fois supérieures.

dans les tests de performance, lors de l'exécution sur les plates-formes Armhf et Aarch64, Les émulateurs Box86 et Box64 ont largement surpassé les projets QEMU et FEX-emu et dans certains tests (glmark2, openarena), ils ont obtenu des performances identiques à l'exécution d'un assemblage natif sur la plate-forme cible.

En termes de compatibilité des candidatures, dSur les 165 jeux testés, environ 70% ont réussi. Environ 10% de travail en plus, mais avec certaines réserves et restrictions.

Parmi les jeux avec lesquels des problèmes sont notés, les jeux basés sur le moteur Unity3D sont mentionnés, qui est lié au package Mono, dont l'émulation ne fonctionne toujours pas toujours en raison de la compilation JIT utilisée dans Mono, et a également des graphismes assez élevés, des exigences cela ne peut pas toujours être réalisé sur les cartes ARM. Le remplacement des bibliothèques d'application GTK est actuellement limité à GTK2 (le remplacement de GTK3/4 n'est pas entièrement implémenté).

En ce qui concerne principaux changements dans les nouvelles versions, les éléments suivants sont mis en évidence :

  • Ajout d'un lien pour la bibliothèque Vulkan. Ajout de la prise en charge de l'API graphique Vulkan et DXVK (implémentation de DXGI, Direct3D 9, 10 et 11 sur Vulkan).
  • Liaisons améliorées pour les bibliothèques GTK. Ajout de liaisons pour gstreamer et les bibliothèques couramment utilisées dans les applications GTK.
  • Ajout de la prise en charge initiale (jusqu'à présent uniquement en mode interprétation) pour les architectures RISC-V et PPC64LE.
  • Des corrections de bogues ont été apportées pour améliorer la compatibilité avec SteamPlay et Proton Layer. Il est possible de faire tourner de nombreux jeux Linux et Windows depuis Steam sur des cartes AArch64 comme Raspberry Pi 3 et 4.
  • Amélioration de la gestion de la mémoire, du comportement mmap et de la surveillance des violations de la protection de la mémoire.
  • Prise en charge améliorée de l'appel système clone dans libc. Ajout de la prise en charge des nouveaux appels système.
  • Dans le moteur de recompilation dynamique, le travail avec les registres SSE/x87 a été amélioré, la prise en charge des nouveaux codes machine a été ajoutée, les conversions flottantes et doubles ont été optimisées, le traitement des branches internes a été amélioré, la prise en charge simplifiée des nouvelles architectures.
  • Chargeur de fichiers ELF amélioré.

Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.