Hangover projekt na spustenie aplikácií Windows na ARM64

Obrázok s vínom pre Android

Vývojári vinárskych projektov Stefan Dösinger a André Hentschel ohlásili prvú verejnú verziu emulátora Hangover, že umožňuje beh 32-bitových a 64-bitových aplikácií Windows určené pre architektúry x86 a x86_64 v prostrediach Linux a Android založených na architektúre ARM64 (Aarch64).

Na rozdiel od spustenia aplikácie Wine s minimálnym prostredím systému pomocou QEMU v režime emulácie na úrovni systémového volania (s použitím rovnakého jadra ako hlavný systém).

O emulátore Hangover

Projekt Hangover umožňuje používateľovi dosiahnuť podstatne vyšší výkon. Urýchlenie tohto projektu je dosiahnuté prenosom emulačnej vrstvy na úroveň Win32 / Win64 API, namiesto emulácie bežných systémových hovorov s následnou emuláciou rozhrania Win32 / Win64 API na ich základe.
V súčasnosti tento projekt umožňuje používateľovi spúšťať iba jednoduché aplikácie a hry, ktoré používajú API Win64 a Win32.

Pre Linux bola implementovaná podpora Direct3D, ktorá pre Android zatiaľ nie je k dispozícii z dôvodu neúplnej podpory OpenGL ES vo Wine.

Podpora debuggeru neexistuje a spracovanie výnimiek obsahuje známe chyby. Z týchto dôvodov sú systémy na ochranu proti kopírovaniu a proti podvádzaniu pravdepodobne v horšom stave ako v bežných verziách Wine.

Všeobecne možno očakávať, že 64-bitové aplikácie budú v lepšej kondícii ako 32-bitové aplikácie, pretože sa nevyžaduje nijaká dátová štruktúra.
Na zabezpečenie práce sa používa pravidelná inštalácia programu Wine doplnená rôznymi knižnicami a vrstvami DLL.
V prostredí Linuxu sa aplikácie Windows spúšťajú automaticky, keď je QEMU v adresári Wine („C: \ x86 \ qemu-x86_64.exe.so“).

Zatiaľ čo v systéme Android sa navrhuje vykonať program pomocou nástroja cmd.
Pri rezervácii každej adresy pod 4 GB je adresný priestor obmedzený na 4 GB.

Väčšina hlavných knižníc s vínom je predtým načítaná nad 4 GB aby bol vyššie uvedený priestor pod 4 GB čo najviac voľný. Nevýhodou je, že spustenie nového procesu trvá asi 2 sekundy.

víno-4.0

Kocovina víno pre ARM64

Wine vníma každý proces ako 64-bitový, takže jeho vrstva WoW64 nie je aktívna. Toto bude fungovať dobre pre čisté 32-bitové alebo čisté 64-bitové aplikácie, ale spôsobí problémy zmiešaným aplikáciám, ktoré očakávajú rozdiel medzi napríklad C: \ windows \ system32 a C: \ windows \ syswow64.

Pokiaľ ide o vydanie 32-bitových (x86) aplikácií pre Windows, sa spracúvajú na úrovni prekladu štruktúr prenášaných medzi aplikáciou a Wine (Model LLP64 v systéme Windows zachováva základnú kompatibilitu rámcov medzi 32-bitovým a 64-bitovým WinAPI).

Na spustenie 32-bitových aplikácií Windows sa používajú 64-bitové zostavy Wine a s každým procesom sa najskôr zaobchádza ako s 64-bitovými.

Na strane hostiteľa sú podporované iba architektúry ARM64 a x86_64, ale kód je zjednotený, čo umožňuje presunúť projekt na iné architektúry v bajtovom poradí od najmladšej po najstaršiu (little-endian) bez veľkého úsilia.

Stále je čo leštiť

Výkon Kocoviny v súčasnosti zostáva veľmi požadovaný. Pretože naprHlavným problémom je výkon kódu, ktorý generuje QEMU.

Avšak, keď bežíte na televíznom zariadení s Android Nvidia Shield. Výkon je dostatočný na spustenie hier od roku 2000.

Medzi aplikácie testované na Hangover patria Notepad ++, ANNO 1602, Age of Wonders, Warhammer 40k: Dawn of War, 10. výročie The Settlers II, Prince of Persia 3D, Worms 2 a Worms Armageddon. Príklady DirectX 9 SDK tiež bežia pri prijateľných rýchlostiach.

Vydanie je založené na základnom kóde Wine 4.0, čo sa odráža v čísle verzie Hangover 0.4.0. Emulačná vrstva je založená na projekte QEMU.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.