Veröffentlichung des Box64 0.3.0-Emulators, mit dem Sie x86-Spiele auf ARM64- und RISC-V-Systemen ausführen können

Der Box64-Emulator 0.3.0 wurde veröffentlicht und ist für die Ausführung von Linux- Programme, die für die x86_64-Architektur auf Hardware mit ARM64-, RISC-V- und Loongarch64-Prozessoren kompiliert wurden. Das Projekt legt besonderen Wert auf die Organisation des Starts von Spieleanwendungen und bietet die Möglichkeit zum Starten von Spielen. WindowsDas Projekt lässt sich mit Wine und Proton kompilieren. Der Quellcode ist in C geschrieben und wird unter der MIT-Lizenz vertrieben.

Die Besonderheit des Projekts ist die Verwendung eines hybriden Ausführungsmodells, bei dem die Emulation nur auf den Maschinencode der Anwendung selbst und spezifische Bibliotheken angewendet wird. Typische Systembibliotheken wie libc, libm, GTK, SDL, Vulkan und OpenGL werden durch native Varianten der Zielplattformen ersetzt. Dadurch werden Bibliotheksaufrufe ohne Emulation ausgeführt, was eine deutliche Leistungssteigerung ermöglicht.

Die Emulation von Code, der keinen nativen Ersatz für die Zielplattform hat, wird mithilfe der dynamischen Neukompilierungstechnik (DynaRec) von einem Satz Maschinenanweisungen zu einem anderen durchgeführt. Im Vergleich zur Interpretation von Maschinenanweisungen zeigt die dynamische Neukompilierung eine 5-10-mal höhere Leistung.

In der neuen Version:

  • Implementierte Unterstützung für die Prozessorerweiterungen AVX, AVX2, BMI1, BMI2, ADX, FMA, F16C und RDRAND.
  • Umgebungsvariable BOX64_AVX hinzugefügt. Wenn sie auf 1 gesetzt wird, wird die Unterstützung für AVX, BMI1, F16C und VAES aktiviert, und wenn sie auf 2 gesetzt wird, wird die Unterstützung für AVX2, BMI2, FMA, ADX, VPCLMULQDQ und RDRAND aktiviert.
  • Unterstützung für die dynamische Neukompilierung (DynaRec) von AVX-, AVX2- und ähnlichen Anweisungen in die auf NEON-Anweisungen basierende Darstellung hinzugefügt, die in ARM64-basierten CPUs bereitgestellt wird.
  • Erste Unterstützung für die Neukompilierung von SIMD-Anweisungen in RVV-Anweisungen auf RISC-V-Systemen hinzugefügt.
  • Der DynaRec-Mechanismus wurde optimiert und Unterstützung für neue Subcodes für RISC-V und Loongarch64 wurde hinzugefügt.
  • Die CPUID-Opcode-Liste wurde aktualisiert. Standardmäßig gibt CPUID jetzt anstelle von Pentium IV CPUs der Haswell-Serie zurück.
  • Unterstützung für Wayland hinzugefügt und die Möglichkeit bereitgestellt, Wayland-bezogene Bibliotheken dynamisch neu zu kompilieren, wodurch Kompatibilität mit Wine-Wayland erreicht werden konnte.
  • Die Anzahl der unterstützten Spiele wurde erweitert, beispielsweise wurde die Kompatibilität mit dem Spiel Death Stranding hinzugefügt. Die Verwendung der Bibliothek UnityPlayer.dll in in Wine gestarteten Programmen wird nun erkannt und der Parameter BOX64_DYNAREC_STRONGMEM=1 automatisch gesetzt.

Source: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz und VPS-VDS-Servern 🔥 Kaufen Sie zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server | ProHoster