Hangover een project om Windows-applicaties op ARM64 te starten

Wine-Android-featured-afbeelding

Wijnprojectontwikkelaars Stefan Dösinger en André Hentschel hebben de aankondiging gedaan van de eerste openbare versie van de Hangover-emulator, dat maakt het mogelijk om 32-bits en 64-bits Windows-toepassingen uit te voeren ontworpen voor x86- en x86_64-architecturen in Linux- en Android-omgevingen op basis van de ARM64-architectuur (Aarch64).

In tegenstelling tot het draaien van Wine met een minimale systeemomgeving met QEMU in emulatiemodus op systeemaanroepniveau (met dezelfde kernel als het hoofdsysteem).

Over de Hangover-emulator

El proyecto Hangover stelt de gebruiker in staat om aanzienlijk hogere prestaties te leveren. De versnelling van dit project wordt bereikt door de emulatielaag over te brengen naar het Win32 / Win64 API-niveau, in plaats van de reguliere systeemaanroepen te emuleren met post-emulatie van de Win32 / Win64 API die daarop is gebaseerd.
Momenteel stelt het project de gebruiker in staat om alleen eenvoudige applicaties en games uit te voeren die de Win64- en Win32-API's gebruiken.

Voor Linux is ondersteuning voor Direct3D geïmplementeerd, die voor Android nog niet beschikbaar is vanwege onvolledige ondersteuning voor OpenGL ES in Wine.

Ondersteuning voor foutopsporing is niet aanwezig en het afhandelen van uitzonderingen heeft bekende bugs. Om deze redenen zullen de kopieerbeveiligings- en anti-cheatsystemen er waarschijnlijk slechter aan toe zijn dan in de reguliere versies van Wine.

Over het algemeen kan worden verwacht dat 64-bit-applicaties in betere staat verkeren dan 32-bit-applicaties, omdat geen enkele datastructuur vereist is.
Om het werk te garanderen wordt er gebruik gemaakt van een reguliere installatie van Wine, aangevuld met diverse bibliotheken en DLL-lagen.
In een Linux-omgeving worden Windows-applicaties automatisch uitgevoerd wanneer QEMU zich in de Wine-directory bevindt ("C: \ x86 \ qemu-x86_64.exe.so").

Terwijl op Android wordt voorgesteld om het cmd-hulpprogramma te gebruiken om de uitvoering uit te voeren.
De adresruimte is beperkt tot 4 GB wanneer u elk adres onder 4 GB reserveert.

De meeste grote Wine-bibliotheken waren eerder geladen dan 4 GB om de bovenstaande ruimte zo min mogelijk onder de 4 GB te houden. Het nadeel hiervan is dat het starten van een nieuw proces ongeveer 2 seconden duurt.

wijn-4.0

Hangover a Wine voor ARM64

Wine beschouwt elk proces als een 64-bits proces, dus de WoW64-laag is niet actief​ Dit werkt prima voor pure 32-bit of pure 64-bit applicaties, maar veroorzaakt problemen voor gemengde applicaties die een onderscheid verwachten tussen bijvoorbeeld C: \ windows \ system32 en C: \ windows \ syswow64.

Met betrekking tot de release van 32-bits (x86) Windows-toepassingen, worden verwerkt op het vertaalniveau van de structuren die tussen de applicatie en Wine worden overgedragen (Het LLP64-model op Windows behoudt de basiscompatibiliteit van frameworks tussen 32-bits en 64-bits WinAPI).

Om 32-bits Windows-applicaties uit te voeren, worden 64-bits Wine-assemblages gebruikt en wordt elk proces eerst als 64-bits behandeld.

Aan de hostzijde worden alleen ARM64- en x86_64-architecturen ondersteund, maar de code is verenigd, waardoor het project zonder veel moeite in bytevolgorde naar andere architecturen kan worden verplaatst van jong naar oud (little-endian).

Er moet nog veel gepolijst worden

De prestatie van Hangover op dit moment laat veel te wensen over. Sinds eHet belangrijkste knelpunt is de prestatie van de code die QEMU genereert.

Echter bij gebruik op een tv-apparaat met Android Nvidia Shield. De prestaties zijn voldoende om games uit de jaren 2000 te draaien.

Toepassingen die bij Hangover zijn getest, zijn onder meer Notepad ++, ANNO 1602, Age of Wonders, Warhammer 40k: Dawn of War, The Settlers II 10th Anniversary, Prince of Persia 3D, Worms 2 en Worms Armageddon. De DirectX 9 SDK-voorbeelden werken ook met acceptabele snelheden.

De release is gebaseerd op de Wine 4.0-basiscode, wat tot uiting komt in het Hangover 0.4.0-versienummer. De emulatielaag is gebaseerd op het QEMU-project.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.