Mamurluk projekat za pokretanje Windows aplikacija na ARM64

Vino-slika sa Androidom

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

Za razliku od pokretanja Wine-a sa minimalnim sistemskim okruženjem koristeći QEMU u režimu emulacije na nivou sistemskog poziva (koristeći isto jezgro kao i glavni sistem).

O mamurluku emulator

Projekat Mamurluk omogućava korisniku da može imati znatno veće performanse. Ubrzanje ovog projekta postiže se prenošenjem sloja emulacije na nivo Win32 / Win64 API, umjesto da oponašaju redovne sistemske pozive s Win32 / Win64 API post emulacijom koja se temelji na njima.
Trenutno projekt omogućava 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 Wine-u.

Podrška za otklanjanje pogrešaka ne postoji, a rukovanje iznimkama ima poznate greške. Iz ovih razloga, sistemi za zaštitu od kopiranja i protiv varanja 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 redovna instalacija Wine-a, dopunjena raznim bibliotekama i DLL slojevima.
U Linux okruženju, Windows aplikacije se automatski pokreću 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 rezervacije svake adrese ispod 4 GB.

Većina glavnih knjižnica vina prethodno je učitana iznad 4 GB kako bi gornji prostor bio ispod 4 GB što slobodniji. Loša strana ovoga je što pokretanje novog procesa 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. Ovo će dobro raditi za čiste 32-bitne ili čiste 64-bitne aplikacije, ali će uzrokovati probleme kod mješovitih aplikacija 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 nivou prevoda 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 proces se prvo tretira kao 64-bitni.

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

Ima još puno toga za poliranje

Izvođenje mamurluka u ovom trenutku ostavlja mnogo želja. Od eGlavno usko grlo je izvedba koda koji QEMU generira.

Međutim, kada se izvodi na TV uređaju sa Android Nvidia Shieldom. Performanse su dovoljne 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 na prihvatljivim brzinama.

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


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.