Hangover projekt za zagon aplikacij Windows na ARM64

Slika z vinskim Androidom

Razvijalca vinskih projektov Stefan Dösinger in André Hentschel objavili prvo javno različico emulatorja Hangover, da omogoča zagon 32-bitnih in 64-bitnih aplikacij Windows zasnovan za arhitekture x86 in x86_64 v okoljih Linux in Android, ki temeljijo na arhitekturi ARM64 (Aarch64).

V nasprotju z izvajanjem Wine z minimalnim sistemskim okoljem z uporabo QEMU v načinu emulacije na ravni sistemskih klicev (z uporabo istega jedra kot glavni sistem).

O Hangover emulatorju

Projekt Hangover uporabniku omogoča bistveno višjo zmogljivost. Pospeševanje tega projekta dosežemo s prenosom sloja emulacije na raven API-ja Win32 / Win64, namesto da posnemajo običajne sistemske klice z Win32 / Win64 API po emulaciji, ki temelji na njih.
Trenutno projekt omogoča uporabniku zagon samo preprostih aplikacij in iger, ki uporabljajo API-je Win64 in Win32.

Za Linux je bila izvedena podpora za Direct3D, ki za Android še ni na voljo zaradi nepopolne podpore za OpenGL ES v vinu.

Podpora za razhroščevalnike ne obstaja, pri obravnavi izjem pa so znane napake. Zaradi teh razlogov so sistemi za zaščito pred kopiranjem in proti goljufijam verjetno v slabšem stanju kot v običajnih različicah Wine.

Na splošno lahko pričakujemo, da bodo 64-bitne aplikacije v boljši obliki kot 32-bitne, ker ni potrebna nobena podatkovna struktura.
Za zagotovitev dela se uporablja redna namestitev Wine, dopolnjena z različnimi knjižnicami in plastmi DLL.
V okolju Linux se aplikacije Windows samodejno zaženejo, ko je QEMU v imeniku Wine ("C: \ x86 \ qemu-x86_64.exe.so").

Medtem ko je v Androidu za izvedbo predlagana uporaba pripomočka cmd.
Pri rezervaciji vsakega naslova pod 4 GB je naslovni prostor omejen na 4 GB.

Večina večjih knjižnic vina je prej naloženih nad 4 GB da bo zgornji prostor pod 4 GB čim bolj prost. Slaba stran tega je, da zagon novega postopka traja približno 2 sekundi.

vino-4.0

Mamurje vino za ARM64

Wine vidi vsak postopek kot 64-bitni proces, zato njegova plast WoW64 ni aktivna. To bo dobro delovalo za čiste 32-bitne ali čiste 64-bitne programe, vendar bo povzročalo težave mešanim aplikacijam, ki pričakujejo razliko med, na primer, C: \ windows \ system32 in C: \ windows \ syswow64.

Glede izdaje 32-bitnih (x86) aplikacij Windows, se obdelujejo na ravni prevoda struktur, ki se prenašajo med aplikacijo in vinom (Model LLP64 v sistemu Windows ohranja osnovno združljivost ogrodja med 32-bitnim in 64-bitnim WinAPI).

Za zagon 32-bitnih aplikacij Windows se uporabljajo 64-bitni sklopi Wine in vsak postopek se najprej obravnava kot 64-bitni.

Na gostiteljski strani sta podprti samo arhitekturi ARM64 in x86_64, vendar je koda poenotena, kar omogoča, da se projekt brez večjega truda premakne v druge arhitekture v bajtnem vrstnem redu od najmlajše do najstarejše (malo-endian).

Veliko je še za poliranje

Ta trenutek predstava o mamilu pušča veliko želenega. Ker eGlavno ozko grlo je delovanje kode, ki jo generira QEMU.

Vendar pa pri zagonu na napravi Android Nvidia Shield TV. Zmogljivost zadostuje za izvajanje iger iz 2000-ih.

Vključene so aplikacije, preizkušene v Hangoverju Notepad ++, ANNO 1602, Age of Wonders, Warhammer 40k: Dawn of War, The Settlers II 10th Anniversary, Prince of Persia 3D, Worms 2 in Worms Armageddon. Primeri SDK DirectX 9 prav tako delujejo s sprejemljivo hitrostjo.

Izdaja temelji na osnovni kodi Wine 4.0, ki je navedena v številki različice Hangover 0.4.0. Emulacijski sloj temelji na projektu QEMU.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.