Wine je združljivostna plast sistema Windows, ki uporabnikom omogoča zagon aplikacij Windows v drugih operacijskih sistemih. Wine za Android je zdaj dosegel različico 5.0 -- preverite!
Ekosistem aplikacij za Android se je skozi leta obstoja Androida vztrajno razvijal, kar je spodbudilo vztrajno sprejemanje mobilnih telefonov kot glavne interakcije z računalnikom za večino ljudi. Številni uporabniki so težili k življenjskemu slogu, ki temelji samo na mobilnih napravah, in to zato, ker so aplikacije in ekosistem aplikacij na mobilnih napravah uspeli izpolniti njihove posebne potrebe. Če pa bi kdaj potrebovali namizno aplikacijo brez dostopa do namizja, kaj bi storili? Tu nastopi Wine, združljivostna plast sistema Windows, ki uporabnikom omogoča zagon popolnih aplikacij Windows v različnih operacijskih sistemih. Wine za Android ima zdaj dosegel v5.0, ki združuje celoletna razvojna prizadevanja ekipe.
Wine je brezplačna in odprtokodna združljivostna plast za Windows, katere cilj je omogočiti, da se računalniški programi, razviti za Windows, izvajajo v drugih operacijskih sistemih.
Wine za Android prinaša Wine v Android, očitno. Wine ni emulator (kar je pravzaprav rekurzivna pozadina za ime), zato lahko deluje le različice aplikacij, specifične za arhitekturo -- različica ARM Wine za Android bo izvajala samo aplikacije ARM, in ne x86.Poudarki za stabilno izdajo Wine 5.0 vključujejo podporo za več monitorjev in podporo za Vulkan 1.1. Celoten dnevnik sprememb za posodobitev je naslednji:
Dnevnik sprememb Wine 5.0:
- PE moduli:
- Večina modulov je zgrajena v formatu PE (prenosna izvedljiva datoteka, binarni format Windows) namesto v ELF, ko je na voljo prevajalnik MinGW. To pomaga različnim shemam za zaščito pred kopiranjem, ki preverjajo, ali sta vsebina sistemskih modulov na disku in v pomnilniku enaki.
- Dejanske binarne datoteke PE so kopirane v predpono Wine namesto lažnih datotek DLL. Zaradi tega je predpona bolj podobna pravi namestitvi sistema Windows, za ceno nekaj dodatnega prostora na disku.
- Moduli, ki so bili pretvorjeni v PE, lahko uporabljajo standardne funkcije C s širokim znakom, pa tudi konstante znakov s širokim znakom, kot je L"abc". To olajša branje kode.
- Vsi moduli še niso bili pretvorjeni v PE; to je stalen proces, ki se bo nadaljeval med razvojno serijo Wine 5.x.
- Izvajalno okolje Wine C je posodobljeno tako, da podpira povezovanje z binarnimi datotekami, ki jih prevede MinGW; pri izdelavi DLL-jev se privzeto uporablja namesto izvajalnega okolja MinGW.
- Grafika:
- Več zaslonskih adapterjev in monitorjev je pravilno podprtih, vključno z dinamičnimi spremembami konfiguracije.
- Gonilnik Vulkan podpira do različice 1.1.126 specifikacije Vulkan.
- Knjižnica WindowsCodecs lahko pretvori več formatov bitnih slik, vključno s formati, indeksiranimi s paleto.
- Direct3D:
- Celozaslonske aplikacije Direct3D onemogočajo ohranjevalnik zaslona.
- Predstavitve DXGI swapchain obvestijo aplikacijo, ko je ustrezno okno pomanjšano. To običajno omogoča aplikacijam, da zmanjšajo porabo procesorja, medtem ko so minimizirane, v nekaterih primerih pa je potrebno za ponovno obnovitev okna aplikacije.
- Preklapljanje med celozaslonskim in okenskim načinom s standardno kombinacijo Alt+Enter je implementirano za aplikacije DXGI.
- Za aplikacije Direct3D 12 so implementirane naslednje funkcije:
- Preklapljanje med celozaslonskim in okenskim.
- Spreminjanje načinov prikaza.
- Pomanjšana darila.
- Intervali zamenjave. Te funkcije so bile že implementirane za prejšnje različice API-ja Direct3D.
- Izboljšano je ravnanje z različnimi robnimi primeri. Med ostalimi:
- Izven razpona referenčnih vrednosti za alfa in šablonske teste.
- Vzorčenje 2D virov s 3D vzorčevalniki in obratno.
- Risanje s preslikanimi teksturami in medpomnilniki.
- Uporaba neveljavnih predmetov strižnika DirectDraw.
- Ustvarjanje naprav Direct3D v neveljavnem sistemu Windows, kot je okno namizja.
- Pogledna okna z najmanjšim Z, večjim ali enakim največjemu Z.
- Viri so istočasno vezani skozi poglede virov senčil in poglede cilja upodabljanja ali globinske šablone.
- Preklaplja med formati s komponentami alfa in brez njih. Ker se dobro delujoče aplikacije ne zanašajo na te robne primere, običajno vplivajo le na eno ali dve aplikaciji. Kljub temu jih je kar nekaj.
- Območja umazane teksture se natančneje spremljajo pri nalaganju tekstur Direct3D 8 in 9.
- Nalaganje 3D tekstur, stisnjenih s S3TC, zahteva manj naslovnega prostora. Ker so 3D-teksture lahko potencialno velike in je izčrpanost naslovnega prostora zaskrbljujoča za 32-bitne aplikacije, se 3D-teksture, stisnjene s S3TC, naložijo na rezino, namesto v enem nalaganju.
- Implementiran je vmesnik ID3D11Multithread.
- Izvedeni so bili različni popravki izračuna osvetlitve in izboljšave za starejše aplikacije DirectDraw.
- Izvedena je omejena podpora za blite v verigah zamenjav.
- Implementiranih je več API-jev za refleksijo senčil.
- Wind3d CPU blitter lahko upravlja stisnjene izvorne vire. Podpora za stisnjene ciljne vire je bila implementirana že v prejšnji izdaji.
- Podatkovna baza grafičnih kartic Direct3D prepozna več grafičnih kartic.
- Novi registrski ključi HKEY_CURRENT_USER\Software\Wine\Direct3D:
- "shader_backend" (REG_SZ) Zaledje senčila za uporabo. Možne vrednosti so "glsl" (privzeto) za GLSL, "arb" za programe za vozlišča/fragmente ARB in "none" za onemogočanje podpore za senčenje.
- "strict_shader_math" (REG_DWORD)Omogočanje (0x1) ali onemogočanje (0x0, privzeto) strožjega prevajanja senčil Direct3D, potencialno s ceno zmogljivosti. To trenutno pomeni razliko samo pri privzetem zaledju senčil GLSL v kombinaciji z lastniškimi gonilniki NVIDIA.
- Zastarel registrski ključ HKEY_CURRENT_USER\Software\Wine\Direct3D:
- "UseGLSL"To je nadomestila zgornja nastavitev "shader_backend".
- D3DX:
- Izvedena je podpora za stiskanje tekstur s kompresijo S3TC.
- Različne operacije, kot je npr. teksturna polnila na površinah, ki jih ni mogoče preslikati, so implementirana pravilneje. Prej se je njihova izvedba zanašala na osnovno implementacijo Direct3D, ki ni uveljavljala omejitev preslikave.
- V ogrodje učinka so bile narejene različne izboljšave in popravki.
- Jedro:
- Večina funkcij, ki so bile nekoč v Kernel32, je premaknjena v KernelBase, da sledijo arhitekturi zadnjih različic sistema Windows.
- Knjižnice z napačno 32/64-bitnostjo so prezrte, ko so najdene na iskalni poti, da se omogoči nalaganje pravilne, če je najdena dlje na poti.
- Objekte jedra je bolje posnemati za gonilnike naprav, ki pričakujejo, da bodo objekte manipulirali s strani jedra.
- Implementirani so sinhronizacijski objekti na ravni jedra, kot so spin ključavnice, hitri muteksi, odstranjevanje ključavnic in spremenljivke virov.
- Stanje sistemske baterije se pravilno poroča aplikacijam.
- Uporabniški vmesnik:
- Pomanjšana okna so prikazana v naslovni vrstici namesto starih ikon v slogu sistema Windows 3.1.
- Implementirani so novi slogi gumbov Razdeljeni gumbi in ukazne povezave.
- Kontrolnik za urejanje pravilno nastavi robove tudi za pisave CJK.
- Integracija namizja:
- Za mape 'Prenosi' in 'Predloge' so ustvarjene simbolične povezave do ustreznih imenikov Unix.
- Vhodne naprave:
- Gonilnike naprav Plug & Play je mogoče namestiti in naložiti ob zagonu.
- Krmilniki za igre so bolje podprti, vključno z ustrezno podporo za stikalo za klobuk, krmiljenje koles, plina in zavore.
- Stari API krmilne palice različic Linuxa, starejših od 2.2, ni več podprt.
- .MREŽA:
- Motor Mono je posodobljen na različico 4.9.4, vključno z deli ogrodja Windows Presentation Foundation (WPF).
- Dodatka Gecko in Mono podpirata skupno namestitev, kjer se datoteke uporabljajo neposredno z globalne lokacije pod /usr/share/wine, namesto da bi bile kopirane v vsako novo predpono.
- Internet in mreženje:
- Mehanizem Gecko je osvežen za podporo nedavnih verig orodij.
- Implementiranih je več novih API-jev HTML.
- MSHTML podpira nekatere elemente SVG.
- Predmet napake in širjenje izjeme sta podprta v VBScriptu.
- Implementirane so številne vgrajene funkcije VBScript.
- JScript Način, skladen z EcmaScript, je razširjen tako, da podpira več funkcij.
- Objekti skriptov JScript in VBScript razkrivajo informacijske vmesnike tipa.
- Konfiguracijo strežnika proxy HTTP je mogoče pridobiti prek DHCP.
- Preusmeritve Passport HTTP so podprte.
- Storitev HTTP in ustrezna knjižnica na strani odjemalca (HTTPAPI) sta delno implementirani.
- Kriptografija:
- Ključi ECC (eliptične krivulje) so podprti pri uporabi GnuTLS.
- Izveden je uvoz ključev in potrdil iz blobov PFX.
- Podprt je algoritem za izpeljavo ključa PBKDF2.
- Besedilo in pisave:
- Funkcije pozicioniranja OpenType so podprte v DirectWrite in so privzeto omogočene za latinično pisavo, vključno s kerningom.
- Dostop do podatkov o pisavi je varnejši s preverjanjem različnih podatkovnih tabel pred njihovo uporabo.
- Vmesniki DirectWrite so posodobljeni na nedavni SDK, ki vključuje nekatere najnovejše dodatke API-ja.
- Avdio / video:
- Knjižnice XAudio2 so znova implementirane za uporabo zunanje knjižnice FAudio za boljšo združljivost.
- Knjižnice Media Foundation so podrobneje oblikovane, vključno z:
- Podpora za vgrajene in uporabniške asinhrone čakalne vrste.
- Možnost predložitve periodičnih povratnih klicev, čakajočih, načrtovanih in običajnih delovnih postavk s podporo za prioriteto postavk.
- Podpora za čakalne vrste medijskih dogodkov.
- Različni osnovni API za obdelavo objektov vrste medijev, deskriptorjev toka in predstavitve, atributov objektov, objektov toka bajtov, vzorcev in medpomnilnikov.
- Začetna implementacija Source Resolver.
- Začetna izvedba API-ja Source Reader.
- Izvedba za objekt Sample Grabber.
- Osnovna podpora za gradnjo objektov topologije.
- Izvedba vgrajene predstavitvene ure, začela implementacija funkcionalnosti Media Session.
- Filter za zajem videa je bil prenesen tako, da uporablja v4l2 namesto zastarelega API-ja v4l1, kar omogoča uporabo nekaterih kamer, ki ne podpirajo v4l1.
- Podpora za prevajanje YUV v RGB in branje iz naprav v4l2 z uporabo mmap() je bila odstranjena; zdaj smo odvisni od libv4l2 za obe stvari.
- Vgrajeni dekoderji AVI, MPEG-I in WAVE so bili odstranjeni; zdaj smo odvisni od GStreamerja ali Mac QuickTime Toolkit za dekodiranje takšnih medijskih datotek.
- Izvedenih je še nekaj konfiguracijskih API-jev VMR7.
- Zvočni gonilniki podpirajo prilagajanje glasnosti po kanalih.
- Internacionalizacija:
- Tabele znakov Unicode temeljijo na različici 12.1.0 standarda Unicode.
- Izvedena je normalizacija Unicode.
- ID geografske regije je samodejno nastavljen v registru na podlagi trenutne področne nastavitve. Po potrebi ga lahko spremenite pod HKEY_CURRENT_USER\Control Panel\International\Geo.
- Podprti sta sinhalski in asturijski jezik.
- Podprta je kodna stran 28601 (latinica/tajščina).
- RPC/COM:
- Typelib Marshaller podpira kompleksne strukture in polja.
- Obstaja začetna izvedba izvajalne knjižnice Windows Script.
- Obstaja začetna izvedba knjižnice Microsoft ActiveX Data Objects (ADO).
- Monterji:
- Podprte so datoteke popravkov Microsoft Installer (MSI).
- Orodje WUSA (Samostojni namestitveni program Windows Update) podpira namestitev posodobitvenih datotek .MSU.
- ARM platforme:
- Odvijanje izjem je implementirano za ARM64 z uporabo knjižnice libunwind.
- OLE stubless proxy so podprti na ARM64.
- Razvojna orodja / Winelib:
- Oddaljeni razhroščevalnik Visual Studio lahko uporabite za odpravljanje napak v aplikacijah, ki se izvajajo pod Wine.
- Knjižnica mehanizma za odpravljanje napak (DBGENG) je delno implementirana.
- Binarne datoteke, zgrajene za cilj Windows, niso več odvisne od knjižnice libwine, kar jim omogoča izvajanje v sistemu Windows brez dodatnih odvisnosti. Knjižnica libwine sploh ni več izdelana za Windows.
- Prevajalnik virov in prevajalnik IDL podpirata možnost '--sysroot', ki omogoča iskanje datotek glave v okoljih navzkrižnega prevajanja.
- Winegcc podpira možnosti '--target', '--wine-objdir', '--winebuild' in '-fuse-ld', ki olajšajo uporabo kot navzkrižni prevajalnik ali z orodnimi verigami po meri.
- Glava wine/unicode.h ni več na voljo aplikacijam, saj bodo funkcije nazadnje odstranjene in nadomeščene s standardnimi funkcijami širokega izvajanja C.
- Zgradite infrastrukturo:
- Preskusne binarne datoteke so zgrajene v formatu PE, če je na voljo MinGW, tako da se lahko ista preskusna binarna datoteka izvaja v Wine in Windows. Izdelovalni cilj 'crosstest' ni več potreben ali podprt.
- Konvencija o klicanju 'fastcall' je podprta v datotekah specifikacij. Uporablja pravilno spreminjanje imen za zgradbe sistema Windows.
- Zastavica vstopne točke '-import' je podprta v datotekah s specifikacijami za označevanje funkcij, ki potrebujejo predpono kode hitrega popravka, ki se ustvari za njihove uvozne presledke.
- Winebuild podpira možnost '--builtin' za dodajanje posebnega podpisa binarnim datotekam PE, da jih označite kot vgrajene komponente Wine.
- Vgrajene aplikacije:
- Orodje CHCP je implementirano. Omogoča nastavitev kodne strani konzole.
- Implementirano je orodje MSIDB. Omogoča manipulacijo z bazami podatkov MSI.
- Izboljšave delovanja:
- Različne časovne funkcije uporabljajo višje zmogljive sistemske ure, če so na voljo, da zmanjšajo obremenitev v zanki upodabljanja številnih iger.
- Iskanje datotek izkorišča podporo za zlaganje velikih in malih črk datotečnega sistema ext4, če je omogočena v imeniku, ki ga iščete.
- Seznamska polja brez podatkov (LBS_NODATA) imajo boljšo zmogljivost za veliko število elementov.
- Slim Reader/Writer ključavnice, zaklenjeni dogodki in spremenljivke stanja uporabljajo futekse v Linuxu, da se izognejo povratnim potovanjem wineserverja.
- Nove zunanje odvisnosti:
- Navzkrižni prevajalnik MinGW-w64 se uporablja za izdelavo modulov v formatu PE.
- Knjižnica FAudio se uporablja za implementacijo XAudio2.
- Knjižnica Inotify se uporablja za obvestila o spremembi datotek na platformah BSD.
- Knjižnica Unwind se uporablja za obravnavanje izjem na ARM64.
- Namesto različice 1 se uporablja knjižnica Video4Linux različice 2.
Preberi več
Vir: Vinski štab
Zgodba prek: AndroidPolice