Veröffentlichung des Emulators Box64 0.3.0, der es ermöglicht, x86-Spiele auf ARM64- und RISC-V-Systemen auszuführen.

Die Veröffentlichung des Emulators Box64 0.3.0 ermöglicht die Ausführung von für die Architektur x86_64 kompilierten Linux-Programmen auf Hardware mit ARM64-, RISC-V- und Loongarch64-Prozessoren. Das Projekt legt großen Wert auf die Unterstützung von Gaming-Anwendungen und bietet die Möglichkeit, Windows-Builds über Wine und Proton auszuführen. Der Quellcode des Projekts ist in C geschrieben und wird unter der MIT-Lizenz veröffentlicht.

Ein besonderes Merkmal des Projekts ist die Anwendung eines hybriden Ausführungsmodells, bei dem Emulation nur auf den Maschinen-Code der Anwendung selbst und spezifischer Bibliotheken angewendet wird. Typische Systembibliotheken, einschließlich libc, libm, GTK, SDL, Vulkan und OpenGL, werden durch für die Zielplattformen native Varianten ersetzt. Dadurch werden Bibliotheksaufrufe ohne Emulation ausgeführt, was zu einer erheblichen Steigerung der Leistung führt.

Die Emulation von Code, für den es keine nativen Alternativen auf der Zielplattform gibt, erfolgt mithilfe der Technik der dynamischen Rekompilierung (DynaRec), die einen Satz von Maschinenbefehlen in einen anderen umwandelt. Im Vergleich zur Interpretation von Maschinenbefehlen zeigt die dynamische Rekompilierung eine fünf- bis zehnmal höhere Leistung.

In der neuen Version:

  • Die Unterstützung für die Prozessorerweiterungen AVX, AVX2, BMI1, BMI2, ADX, FMA, F16C und RDRAND wurde implementiert.
  • Eine Umgebungsvariable BOX64_AVX wurde hinzugefügt, bei der das Setzen auf 1 die Unterstützung für AVX, BMI1, F16C und VAES aktiviert, und bei 2 AVX2, BMI2, FMA, ADX, VPCLMULQDQ und RDRAND.
  • Die Unterstützung für die dynamische Rekompilierung (DynaRec) von AVX, AVX2 und ähnlichen Anweisungen in eine auf NEON-Befehlen basierende Darstellung, die von ARM64-Architekturprozessoren bereitgestellt wird, wurde hinzugefügt.
  • Erste Unterstützung für die Rekompilierung von SIMD-Anweisungen in RVV-Anweisungen auf RISC-V-Systemen wurde hinzugefügt.
  • Der DynaRec-Mechanismus wurde optimiert, neue Opcode-Unterstützungen für RISC-V und Loongarch64 wurden hinzugefügt.
  • Die CPUID-Opcode-Liste wurde aktualisiert, jetzt wird standardmäßig anstelle von Pentium IV über CPUID die CPU-Serie Haswell ausgegeben.
  • Die Unterstützung für Wayland wurde hinzugefügt, und die Möglichkeit zur dynamischen Rekompilierung von mit Wayland verbundenen Bibliotheken bereitgestellt, was die Kompatibilität mit Wine-Wayland gewährleistet.
  • Die Anzahl der unterstützten Spiele wurde erweitert, z. B. wurde die Kompatibilität mit dem Spiel Death Stranding hinzugefügt. Es wird sichergestellt, dass die Verwendung der Bibliothek UnityPlayer.dll in unter Wine ausgeführten Programmen erkannt wird, und das Parameter BOX64_DYNAREC_STRONGMEM=1 automatisch gesetzt wird.

Quelle: opennet.ru

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