Hangover un progetto per avviare le applicazioni Windows su ARM64

Immagine in primo piano di Wine-Android

Gli sviluppatori del progetto vino Stefan Dösinger e André Hentschel hanno annunciato la prima versione pubblica dell'emulatore Hangover, che consente di eseguire applicazioni Windows a 32 e 64 bit progettato per architetture x86 e x86_64 in ambienti Linux e Android basati sull'architettura ARM64 (Aarch64).

Al contrario di eseguire Wine con un ambiente di sistema minimo utilizzando QEMU in modalità di emulazione a livello di chiamata di sistema (utilizzando lo stesso kernel del sistema principale).

Informazioni sull'emulatore Hangover

El proyecto Una sbornia consente all'utente di essere in grado di avere prestazioni significativamente più elevate. L'accelerazione di questo progetto si ottiene trasferendo il livello di emulazione al livello API Win32 / Win64, invece di emulare le normali chiamate di sistema con l'emulazione post API Win32 / Win64 basata su di esse.
Attualmente, il progetto consente all'utente di eseguire solo applicazioni e giochi semplici che utilizzano le API Win64 e Win32.

Per Linux, è stato implementato il supporto Direct3D, che non è ancora disponibile per Android a causa del supporto incompleto per OpenGL ES in Wine.

Il supporto del debugger è inesistente e la gestione delle eccezioni contiene bug noti. A causa di questi motivi, è probabile che i sistemi di protezione dalla copia e anti-cheat siano in condizioni peggiori rispetto alle versioni normali di Wine.

In generale, ci si può aspettare che le applicazioni a 64 bit siano in una forma migliore rispetto alle applicazioni a 32 bit perché non è richiesta alcuna struttura di dati di alcun tipo.
Per garantire il lavoro, viene utilizzata un'installazione regolare di Wine, integrata con varie librerie e livelli DLL.
In un ambiente Linux, le applicazioni Windows vengono eseguite automaticamente quando QEMU si trova nella directory Wine ("C: \ x86 \ qemu-x86_64.exe.so").

Mentre su Android si propone di utilizzare l'utility cmd per eseguire l'esecuzione.
Lo spazio degli indirizzi è limitato a 4 GB quando si prenotano indirizzi inferiori a 4 GB.

La maggior parte delle principali librerie di Wine sono state precedentemente caricate sopra i 4 GB per mantenere lo spazio sopra i 4 GB il più libero possibile. Lo svantaggio di questo è che l'avvio di un nuovo processo richiede circa 2 secondi.

vino-4.0

Hangover a Wine per ARM64

Wine vede ogni processo come un processo a 64 bit, quindi il suo livello WoW64 non è attivo. Questo funzionerà bene per le applicazioni pure a 32 bit o pure a 64 bit, ma causerà problemi per le applicazioni miste che prevedono una distinzione tra, ad esempio, C: \ windows \ system32 e C: \ windows \ syswow64.

Per quanto riguarda il rilascio di applicazioni Windows a 32 bit (x86), vengono elaborati a livello di traduzione delle strutture trasmesse tra l'applicazione e Wine (Il modello LLP64 su Windows preserva la compatibilità di base dei framework tra WinAPI a 32 bit e 64 bit).

Per eseguire applicazioni Windows a 32 bit, vengono utilizzati assembly Wine a 64 bit e ogni processo viene prima considerato come 64 bit.

Sul lato host, sono supportate solo le architetture ARM64 e x86_64, ma il codice è unificato, consentendo di spostare il progetto su altre architetture in ordine di byte dalla più giovane alla più vecchia (little-endian) senza troppi sforzi.

C'è ancora molto da lucidare

La performance di Hangover in questo momento lascia molto a desiderare. Poiché eIl collo di bottiglia principale è rappresentato dalle prestazioni del codice generato da QEMU.

Tuttavia, durante l'esecuzione su un dispositivo Android Nvidia Shield TV. Le prestazioni sono sufficienti per eseguire giochi degli anni 2000.

Le applicazioni testate a Hangover includono Notepad ++, ANNO 1602, Age of Wonders, Warhammer 40k: Dawn of War, The Settlers II 10th Anniversary, Prince of Persia 3D, Worms 2 e Worms Armageddon. Anche gli esempi di DirectX 9 SDK vengono eseguiti a velocità accettabili.

La versione si basa sul codice base di Wine 4.0, che si riflette nel numero di versione di Hangover 0.4.0. Il livello di emulazione è basato sul progetto QEMU.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.