Hangover un projecte per llançar aplicacions de Windows en ARM64

Wine-Android-featured-image

Els desenvolupadors de el projecte Wine Stefan Dösinger i André Hentschel han realitzat l'anunci de la primera versió pública de l'emulador Hangover, que permet executar aplicacions de Windows de 32 i 64 bits dissenyades per a arquitectures x86 i x86_64 en entorns Linux i Android basats en l'arquitectura ARM64 (Aarch64).

A diferència d'executar Wine amb un entorn de sistema mínim usant QEMU en mode d'emulació en el nivell de trucada de sistema (usant el mateix nucli que el sistema principal).

Sobre l'emulador Hangover

El Projecte Hangover permet a l'usuari poder tenir un rendiment significativament més gran. L'acceleració d'aquest projecte s'aconsegueix a partir de transferir la capa d'emulació a el nivell de l'API de Win32 / Win64, en lloc d'emular les trucades regulars de sistema amb l'emulació posterior de l'API de Win32 / Win64 basada en elles.
Actualment, el projecte li permet a l'usuari el poder executar només aplicacions i jocs simples que utilitzen les API de Win64 i Win32.

Per a Linux, s'ha implementat el suport per Direct3D, que encara no està disponible per a Android a causa de el suport incomplet per a OpenGL ÉS en Wine.

El suport de l'depurador és inexistent i el maneig d'excepcions té errors coneguts. A causa d'aquestes raons, és probable que els sistemes de protecció contra còpia i anti-trampes estiguin en pitjor forma que en les versions regulars de Wine.

En general, es pot esperar que les aplicacions de 64 bits estiguin en millor forma que les aplicacions de 32 bits perquè no és necessari realitzar cap tipus d'estructura de dades.
Per garantir el treball, s'utilitza una instal·lació regular de Wine, complementada amb diverses biblioteques i capes de DLL.
En un entorn Linux, les aplicacions de Windows s'executen automàticament quan QEMU està en el directori de Wine ( «C: \ x86 \ qemu-x86_64.exe.so»).

Mentre que, en Android, es proposa utilitzar la utilitat cmd per realitzar l'execució.
L'espai d'adreces està limitat a 4 GB a l'reservar cada direcció per sota de 4 GB.

La majoria de les biblioteques principals de Wine es carreguen anteriorment per sobre de 4 GB per mantenir l'espai anterior per sota de 4 GB el més lliure possible. L'inconvenient d'això és que iniciar un nou procés porta aproximadament 2 segons.

vi-4.0

Hangover 64 Wine per ARMXNUMX

Wine veu cada procés com un procés de 64 bits, pel que la seva capa WOW64 no està activa. Això funcionarà bé per a aplicacions de 32 bits purs o de 64 bits purs, però causarà problemes per a aplicacions mixtes que esperen una distinció entre, per exemple, C: \ windows \ system32 i C: \ windows \ syswow64.

Pel que fa a el llançament de les aplicacions de Windows de 32 bits (x86), es processen a el nivell de traducció de les estructures transmeses entre l'aplicació i Wine (El model LLP64 en Windows preserva la compatibilitat bàsica de les estructures entre WINAPI de 32 i 64 bits).

Per executar aplicacions de Windows de 32 bits, s'utilitzen acoblaments de Wine de 64 bits i cada procés es tracta abans com de 64 bits.

A la banda de l'amfitrió, només es suporten les arquitectures ARM64 i x86_64, però el codi està unificat, el que permet traslladar el projecte a altres arquitectures en ordre de bytes de el més jove a el més antic (little-endian) sense gaire esforç.

Encara queda molt per polir

El rendiment de Hangover de moment deixa molt a desitjar. Ja que il principal coll d'ampolla és el rendiment de el codi que genera QEMU.

No obstant això, quan s'executa en un dispositiu de TV amb Android Nvidia Shield. El rendiment és suficient per executar jocs a partir de la dècada de 2000.

Les aplicacions provades en Hangover inclouen Notepad ++, ANNO 1602, Age of Wonders, Warhammer 40k: Dawn of War, The Settlers II 10th Anniversary, Prince of Pèrsia 3D, Worms 2 i Worms Armageddon. Els exemples de l'DirectX 9 SDK també s'executen a velocitats acceptables.

El llançament es basa en el codi base Wine 4.0, que es reflecteix en el nombre de versió de Hangover 0.4.0. La capa d'emulació es basa en el projecte QEMU.


Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.