Hangover un proiect pentru lansarea aplicațiilor Windows pe ARM64

Imagine prezentată cu vin-Android

Dezvoltatorii de proiecte vinicole Stefan Dösinger și André Hentschel au făcut anunțul primei versiuni publice a emulatorului Hangover,permite rularea aplicațiilor Windows pe 32 și 64 de biți conceput pentru arhitecturi x86 și x86_64 în medii Linux și Android bazate pe arhitectura ARM64 (Aarch64).

Spre deosebire de rularea Wine cu un mediu minim de sistem utilizând QEMU în modul de emulare la nivelul apelului de sistem (folosind același nucleu ca sistemul principal).

Despre emulatorul Hangover

Proiectul Mahmureala permite utilizatorului să aibă o performanță semnificativ mai mare. Accelerarea acestui proiect se realizează prin transferul stratului de emulare la nivelul API Win32 / Win64, în loc să emulați apeluri de sistem obișnuite cu Win32 / Win64 API post emulare bazată pe acestea.
În prezent, proiectul permite utilizatorului să ruleze doar aplicații și jocuri simple care utilizează API-urile Win64 și Win32.

Pentru Linux, a fost implementat suport pentru Direct3D, care nu este încă disponibil pentru Android din cauza suportului incomplet pentru OpenGL ES în Wine.

Suportul pentru depanare este inexistent, iar gestionarea excepțiilor conține erori cunoscute. Din aceste motive, este posibil ca sistemele de protecție împotriva copierii și anti-trișare să fie într-o formă mai proastă decât în ​​versiunile obișnuite de Wine.

În general, se poate aștepta ca aplicațiile pe 64 de biți să aibă o formă mai bună decât aplicațiile pe 32 de biți, deoarece nu este necesară nicio structură de date.
Pentru a garanta munca, se folosește o instalare regulată a vinului, suplimentată cu diverse biblioteci și straturi DLL.
Într-un mediu Linux, aplicațiile Windows rulează automat când QEMU se află în directorul Wine („C: \ x86 \ qemu-x86_64.exe.so”).

În timp ce, pe Android, se propune utilizarea utilitarului cmd pentru a efectua execuția.
Spațiul de adresă este limitat la 4 GB atunci când rezervați fiecare adresă sub 4 GB.

Majoritatea bibliotecilor majore de vinuri sunt încărcate anterior peste 4 GB pentru a menține spațiul de mai sus sub 4 GB cât mai liber posibil. Dezavantajul este că pornirea unui nou proces durează aproximativ 2 secunde.

vin-4.0

Mahmureală un vin pentru ARM64

Wine vede fiecare proces ca pe un proces pe 64 de biți, astfel încât stratul său WoW64 nu este activ. Acest lucru va funcționa bine pentru aplicațiile pure pe 32 de biți sau pe 64 de biți, dar va cauza probleme aplicațiilor mixte care așteaptă o distincție între, de exemplu, C: \ windows \ system32 și C: \ windows \ syswow64.

În ceea ce privește lansarea aplicațiilor Windows pe 32 de biți (x86), sunt procesate la nivelul traducerii structurilor transmise între aplicație și Wine (Modelul LLP64 pe Windows păstrează compatibilitatea de bază a cadrelor între WinAPI pe 32 de biți și pe 64 de biți).

Pentru a rula aplicații Windows pe 32 de biți, sunt utilizate ansambluri Wine pe 64 de biți și fiecare proces este tratat mai întâi ca pe 64 de biți.

Pe partea gazdă, sunt acceptate doar arhitecturile ARM64 și x86_64, dar codul este unificat, permițând mutarea proiectului în alte arhitecturi în ordine de octeți de la cel mai tânăr la cel mai vechi (mic-endian) fără eforturi mari.

Mai sunt multe de lustruit

Performanța mahmurelii în acest moment lasă de dorit. Din moment ce ePrincipalul blocaj este performanța codului generat de QEMU.

Sin embargo, când rulați pe un dispozitiv Android Nvidia Shield TV. Performanța este suficientă pentru a rula jocuri din anii 2000.

Aplicațiile testate la Hangover includ Notepad ++, ANNO 1602, Age of Wonders, Warhammer 40k: Dawn of War, The Settlers II 10th Anniversary, Prince of Persia 3D, Worms 2 și Worms Armageddon. Exemplele DirectX 9 SDK rulează, de asemenea, la viteze acceptabile.

Lansarea se bazează pe codul de bază Wine 4.0, care se reflectă în numărul versiunii Hangover 0.4.0. Stratul de emulare se bazează pe proiectul QEMU.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.