Mamurluk projekt za pokretanje Windows aplikacija na ARM64

Slika s vinskim Androidom

Programeri vinskih projekata Stefan Dösinger i André Hentschel objavili prvu javnu verziju emulatora mamurluka, ovo omogućuje pokretanje 32-bitnih i 64-bitnih Windows aplikacija dizajniran za arhitekture x86 i x86_64 u Linux i Android okruženjima koja se temelje na ARM64 (Aarch64) arhitekturi.

Za razliku od pokretanja Winea s minimalnim sistemskim okruženjem koji koristi QEMU u načinu emulacije na razini sistemskog poziva (koristeći istu jezgru kao i glavni sustav).

O mamurluku emulator

Projekt Mamurluk omogućava korisniku da može imati znatno veće performanse. Ubrzanje ovog projekta postiže se prijenosom sloja emulacije na razinu Win32 / Win64 API, umjesto oponašanja redovnih sistemskih poziva s Win32 / Win64 API post emulacijom koja se temelji na njima.
Trenutno projekt omogućuje korisniku pokretanje samo jednostavnih aplikacija i igara koje koriste Win64 i Win32 API-je.

Za Linux je implementirana podrška za Direct3D, koja još nije dostupna za Android zbog nepotpune podrške za OpenGL ES u Wineu.

Podrška za otklanjanje pogrešaka ne postoji, a rukovanje iznimkama ima poznate pogreške. Iz tih razloga, sustavi za zaštitu od kopiranja i anti-cheats vjerojatno će biti u gorem stanju nego u redovnim verzijama Winea.

Općenito se može očekivati ​​da će 64-bitne aplikacije biti u boljem stanju od 32-bitnih aplikacija jer nije potrebna nikakva struktura podataka.
Da bi se jamčio rad, koristi se redovita instalacija Wine-a, nadopunjena raznim knjižnicama i DLL slojevima.
U Linux okruženju, Windows programi se automatski izvode kada je QEMU u direktoriju Wine ("C: \ x86 \ qemu-x86_64.exe.so").

Dok se na Androidu predlaže korištenje uslužnog programa cmd za izvršavanje izvršenja.
Adresni prostor ograničen je na 4 GB prilikom rezerviranja svake adrese ispod 4 GB.

Većina glavnih knjižnica vina prethodno je učitana više od 4 GB kako bi gornji prostor bio ispod 4 GB što slobodniji. Loša strana ovoga je što pokretanje novog postupka traje oko 2 sekunde.

vino-4.0

Mamurluk vino za ARM64

Wine svaki proces vidi kao 64-bitni proces, tako da njegov WoW64 sloj nije aktivan. To će dobro funkcionirati za čiste 32-bitne ili čiste 64-bitne aplikacije, ali će uzrokovati probleme mješovitim aplikacijama koje očekuju razliku između, na primjer, C: \ windows \ system32 i C: \ windows \ syswow64.

Što se tiče izdavanja 32-bitnih (x86) Windows aplikacija, obrađuju se na razini prijevoda struktura koje se prenose između aplikacije i vina (Model LLP64 u sustavu Windows čuva osnovnu kompatibilnost okvira između 32-bitnog i 64-bitnog WinAPI-a).

Za pokretanje 32-bitnih Windows aplikacija koriste se 64-bitni Wine sklopovi i svaki se postupak prvo tretira kao 64-bitni.

Na strani domaćina podržane su samo arhitekture ARM64 i x86_64, ali kôd je objedinjen, što omogućuje da se projekt bez puno napora premješta u druge arhitekture u redoslijedu bajtova od najmlađe do najstarije (malo-endian).

Još se puno toga može ispolirati

Izvedba mamurluka trenutno ostavlja mnogo želja. Budući da je eGlavno usko grlo je izvedba koda koji generira QEMU.

Međutim, kada se izvodi na TV uređaju s Androidom Nvidia Shield. Izvedba je dovoljna za pokretanje igara iz 2000-ih.

Uključene su aplikacije testirane na Mamurluku Notepad ++, ANNO 1602, Age of Wonders, Warhammer 40k: Dawn of War, The Settlers II 10th Anniversary, Prince of Persia 3D, Worms 2 i Worms Armageddon. Primjeri DirectX 9 SDK također rade prihvatljivom brzinom.

Izdanje se temelji na osnovnom kodu Wine 4.0, koji se odražava u broju verzije Hangover 0.4.0. Sloj emulacije temelji se na projektu QEMU.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.