Wine, Windowsin yhteensopivuuskerros, saavuttaa version 5.0 Androidissa

Wine on Windowsin yhteensopivuuskerros, jonka avulla käyttäjät voivat käyttää Windows-sovelluksia muissa käyttöjärjestelmissä. Wine for Android on nyt saavuttanut version 5.0 – katso se!

Android-sovellusekosysteemi on kehittynyt tasaisesti Androidin olemassaolon vuosien aikana, mikä on vauhdittanut mobiililaitteiden jatkuvaa käyttöönottoa useimpien ihmisten ensisijaisena tietokonevuorovaikutuksena. Monet käyttäjät ovat siirtyneet kohti vain mobiilikäyttöistä elämäntapaa, ja tämä johtuu siitä, että mobiilisovellukset ja sovellusekosysteemi ovat onnistuneet täyttämään heidän erityistarpeensa. Mutta jos joskus huomaat tarvitsevasi työpöytäsovelluksen ilman pääsyä työpöytään, mitä tekisit? Tästä tulee Wine, Windowsin yhteensopivuuskerros, jonka avulla käyttäjät voivat suorittaa täydellisiä Windows-sovelluksia eri käyttöjärjestelmissä. Wine for Android on nyt saavutettu v5.0, joka kerää tiimiltä vuoden kehitystyön.

Wine on ilmainen ja avoimen lähdekoodin yhteensopivuuskerros Windowsille, jonka tavoitteena on sallia Windowsille kehitetyt tietokoneohjelmat toimia muissa käyttöjärjestelmissä.

Wine for Android tuo Wine Androidille, ilmeisesti. Wine ei ole emulaattori (joka on itse asiassa nimen rekursiivinen takanimi), joten se voi toimia vain sovellusten arkkitehtuurikohtaiset versiot – Wine for Androidin ARM-versio käyttää vain ARM-sovelluksia, eikä x86.

Wine 5.0:n vakaan julkaisun kohokohtia ovat usean näytön tuki ja Vulkan 1.1 -tuki. Päivityksen täydellinen muutosloki on seuraava:

Wine 5.0 muutosloki:

  • PE-moduulit:
    • Useimmat moduulit on rakennettu PE-muodossa (Portable Executable, Windowsin binaarimuoto) ELF: n sijaan, kun MinGW-kääntäjä on saatavilla. Tämä auttaa erilaisia ​​kopiosuojausjärjestelmiä, jotka tarkistavat, että järjestelmämoduulien levyllä ja muistissa olevat sisällöt ovat identtisiä.
    • Varsinaiset PE-binaarit kopioidaan Wine-etuliitteeksi väärennettyjen DLL-tiedostojen sijaan. Tämä saa etuliiteestä näyttämään enemmän oikealta Windows-asennukselta ylimääräisen levytilan kustannuksella.
    • Moduulit, jotka on muunnettu PE: ksi, voivat käyttää tavallisia laajamerkkisiä C-funktioita sekä laajamerkkisiä merkkivakioita, kuten L"abc". Tämä helpottaa koodin lukemista.
    • Kaikkia moduuleja ei ole vielä muunnettu PE: ksi; Tämä on jatkuva prosessi, joka jatkuu Wine 5.x -kehityssarjan aikana.
    • Wine C -ajoaika päivitetään tukemaan linkittämistä MinGW-käännettyihin binääriin; sitä käytetään oletuksena MinGW-ajoajan sijasta DLL-tiedostoja rakennettaessa.
  • Grafiikka:
    • Useita näyttösovittimia ja näyttöjä tuetaan oikein, mukaan lukien dynaamiset kokoonpanomuutokset.
    • Vulkan-ohjain tukee Vulkan-spesifikaation versiota 1.1.126 asti.
    • WindowsCodecs-kirjasto pystyy muuttamaan enemmän bittikarttamuotoja, mukaan lukien palettiindeksoidut muodot.
  • Direct3D:
    • Koko näytön Direct3D-sovellukset estävät näytönsäästäjän.
    • DXGI-swapchain-näytöt ilmoittavat sovellukselle, kun vastaava ikkuna on minimoitu. Tämän ansiosta sovellukset voivat yleensä vähentää suorittimen käyttöä minimoituna, ja joissakin tapauksissa vaaditaan, että sovellusikkuna voidaan palauttaa uudelleen.
    • Vaihtaminen koko näytön ja ikkunatilan välillä käyttämällä standardi Alt+Enter-yhdistelmää on toteutettu DXGI-sovelluksissa.
    • Seuraavat ominaisuudet on toteutettu Direct3D 12 -sovelluksissa:
      • Vaihtaminen koko näytön ja ikkunan välillä.
      • Näyttötilojen vaihtaminen.
      • Skaalatut lahjat.
      • Vaihtovälit. Nämä ominaisuudet oli jo aiemmin otettu käyttöön Direct3D API: n aiemmissa versioissa.
    • Erilaisten reunakoteloiden käsittelyä on parannettu. Muiden joukossa:
      • Alfa- ja stensiilitestien viitearvot alueen ulkopuolella.
      • Näytteenotto 2D-resursseista 3D-näytteenottimilla ja päinvastoin.
      • Piirustus kartoitetuilla tekstuureilla ja puskureilla.
      • Virheellisten DirectDraw-leikkausobjektien käyttö.
      • Direct3D-laitteiden luominen virheelliseen Windowsiin, kuten työpöytäikkunaan.
      • Näkymäportit, joiden minimi-Z on suurempi tai yhtä suuri kuin suurin Z.
      • Resurssit sidotaan sekä varjostin-resurssinäkymien että renderöintikohde- tai syvyyskaavainnäkymien läpi samanaikaisesti.
      • Katkaisee muotojen välillä alfakomponenttien kanssa ja ilman. Koska hyvin käyttäytyvät sovellukset eivät ole riippuvaisia ​​näistä reunatapauksista, ne vaikuttavat yleensä vain yhteen tai kahteen sovellukseen. Niitä on kuitenkin melkoinen määrä.
    • Likaiset pintakuviointialueet seurataan tarkemmin Direct3D 8- ja 9-kuvioiden latauksissa.
    • S3TC-pakkattujen 3D-tekstuurien lataaminen vaatii vähemmän osoitetilaa. Koska 3D-tekstuurit voivat olla potentiaalisesti suuria ja osoitetilan loppuminen on ongelma 32-bittisissä sovelluksissa, S3TC-pakatut 3D-tekstuurit ladataan siivuittain yhden latauksen sijaan.
    • ID3D11Multithread-liitäntä on toteutettu.
    • Vanhemmille DirectDraw-sovelluksille on tehty erilaisia ​​valaistuslaskennan korjauksia ja parannuksia.
    • Rajoitettu tuki bliteille swapchaineissa on otettu käyttöön.
    • Lisää Shader Reflection API: ita on otettu käyttöön.
    • Wind3d CPU blitter pystyy käsittelemään pakattuja lähderesursseja. Pakatun kohderesurssin tuki otettiin käyttöön jo edellisessä versiossa.
    • Direct3D-näytönohjaintietokanta tunnistaa enemmän näytönohjaimia.
    • Uudet HKEY_CURRENT_USER\Software\Wine\Direct3D-rekisteriavaimet:
      • "shader_backend" (REG_SZ)Käytettävä Shader-taustaohjelma. Mahdollisia arvoja ovat "glsl" (oletus) GLSL: lle, "arb" ARB-vertex-/fragmenttiohjelmille ja "none" shader-tuen poistamiseksi käytöstä.
      • "strict_shader_math" (REG_DWORD)Ota käyttöön (0x1) tai poista käytöstä (0x0, oletus) Direct3D-varjostimien tiukempi käännös, mahdollisesti suorituskykykustannuksin. Tällä on tällä hetkellä eroa vain oletusarvoiseen GLSL Shader -taustaohjelmaan yhdistettynä patentoituihin NVIDIA-ajureihin.
    • Vanhentunut HKEY_CURRENT_USER\Software\Wine\Direct3D-rekisteriavain:
      • "UseGLSL"Tämä on korvattu yllä olevalla "shader_backend"-asetuksella.
  • D3DX:
    • Tuki tekstuurien pakkaamiseen S3TC-pakkauksella on toteutettu.
    • Erilaisia ​​operaatioita, kuten mm. pintakuviotäytteitä, kartoittamattomilla pinnoilla toteutetaan paremmin. Aikaisemmin niiden toteutus perustui taustalla olevaan Direct3D-toteutukseen, joka ei pakottanut kartoitusrajoituksia.
    • Vaikutuskehykseen on tehty erilaisia ​​parannuksia ja korjauksia.
  • Ydin:
    • Suurin osa aiemmin Kernel32:ssa olevista toiminnoista on siirretty KernelBaseen uusimpien Windows-versioiden arkkitehtuuria noudattaen.
    • Väärän 32/64-bittiset kirjastot jätetään huomioimatta, kun ne löytyvät hakupolusta, jotta oikea kirjasto voidaan ladata, jos se löytyy kauempana polulta.
    • Ydinobjekteja emuloidaan paremmin laiteajureille, jotka odottavat manipuloivansa objekteja ytimen puolelta.
    • Ydintason synkronointiobjektit, kuten pyörityslukot, nopeat mutexet, poistavat lukot ja resurssimuuttujat, on toteutettu.
    • Järjestelmän akun tila raportoidaan oikein sovelluksille.
  • Käyttöliittymä:
    • Pienennetyt ikkunat näytetään otsikkorivin avulla vanhojen Windows 3.1 -tyylisten kuvakkeiden sijaan.
    • Uudet painiketyylit Split Buttons ja Command Links on otettu käyttöön.
    • Muokkaa-säädin asettaa marginaalit oikein myös CJK-fonteille.
  • Työpöytäintegrointi:
    • Symboliset linkit vastaaviin Unix-hakemistoihin luodaan "Lataukset"- ja "Mallit"-kansioille.
  • Syöttölaitteet:
    • Plug & Play -laiteohjaimet voidaan asentaa ja ladata käynnistyksen yhteydessä.
    • Peliohjaimet ovat paremmin tuettuja, mukaan lukien asianmukainen tuki hattukytkimelle, pyörälle, kaasu- ja jarrusäätimille.
    • Linux-versiota 2.2 vanhempien versioiden vanhaa joystick-sovellusliittymää ei enää tueta.
  • .NETTO:
    • Mono-moottori on päivitetty versioon 4.9.4, joka sisältää osia Windows Presentation Foundation (WPF) -kehyksestä.
    • Gecko- ja Mono-lisäosat tukevat jaettua asennusta, jossa tiedostoja käytetään suoraan maailmanlaajuisesta sijainnista /usr/share/wine-hakemistosta sen sijaan, että niitä kopioitaisiin jokaiseen uuteen etuliitteeseen.
  • Internet ja verkot:
    • Gecko-moottori on päivitetty tukemaan viimeaikaisia ​​työkaluketjuja.
    • Useita uusia HTML-sovellusliittymiä on otettu käyttöön.
    • MSHTML tukee joitain SVG-elementtejä.
    • Virheobjektin ja poikkeuksen leviämistä tuetaan VBScriptissä.
    • Useita VBScriptin sisäänrakennettuja toimintoja on toteutettu.
    • JScript EcmaScript -yhteensopiva tila on laajennettu tukemaan enemmän ominaisuuksia.
    • JScript- ja VBScript-komentosarjaobjektit paljastavat tyyppitietorajapinnat.
    • HTTP-välityspalvelimen määritykset voidaan hakea DHCP: n kautta.
    • Passport HTTP -uudelleenohjauksia tuetaan.
    • HTTP-palvelu ja vastaava asiakaspuolen kirjasto (HTTPAPI) on osittain toteutettu.
  • Kryptografia:
    • ECC (ellipsikäyrä) -näppäimiä tuetaan käytettäessä GnuTLS: ää.
    • Avainten ja varmenteiden tuonti PFX-blobeista on toteutettu.
    • PBKDF2-avaimen johtamisalgoritmia tuetaan.
  • Teksti ja fontit:
    • OpenType-paikannusominaisuuksia tuetaan DirectWritessa, ja ne ovat oletuksena käytössä latinalaisille kirjoituksille, mukaan lukien kerning.
    • Fonttitietojen käyttö on tehty turvallisemmaksi tarkistamalla eri tietotaulukot ennen niiden käyttöä.
    • DirectWrite-rajapinnat on päivitetty äskettäin SDK: ksi, joka ottaa käyttöön joitakin uusimpia API-lisäyksiä.
  • Äänellinen video:
    • XAudio2-kirjastot on toteutettu uudelleen käyttämään ulkoista FAudio-kirjastoa yhteensopivuuden parantamiseksi.
    • Mediasäätiön kirjastoja täydennetään, mukaan lukien:
      • Tuki sisäänrakennetuille ja käyttäjien asynkronisille työjonoille.
      • Mahdollisuus lähettää säännöllisiä takaisinsoittoja, odotuksia, ajoitettuja ja säännöllisiä työkohteita, tuella kohteen prioriteettiä varten.
      • Tuki mediatapahtumajonoille.
      • Erilaiset ydinsovellusliittymät, jotka käsittelevät mediatyyppisiä objekteja, virta- ja esityskuvaajia, objektiattribuutteja, tavuvirtaobjekteja, näytteitä ja puskureita.
      • Alkuperäinen Source Resolver -toteutus.
      • Source Reader API: n ensimmäinen käyttöönotto.
      • Toteutus Sample Grabber -objektille.
      • Ydintuki topologiaobjektien rakentamiseen.
      • Sisäänrakennettu esityskello, aloitti Media Session -toiminnallisuuden toteuttamisen.
    • Videon sieppaussuodatin on siirretty käyttämään v4l2:ta vanhentuneen v4l1 API: n sijaan, mikä mahdollistaa joidenkin kameroiden käytön, jotka eivät tue v4l1:tä.
    • Tuki YUV-RGB-käännökselle ja lukemiselle v4l2-laitteista mmap():n avulla on poistettu; olemme nyt riippuvaisia ​​libv4l2:sta molemmissa näissä asioissa.
    • Sisäänrakennetut AVI-, MPEG-I- ja WAVE-dekooderit on poistettu; Olemme nyt riippuvaisia ​​GStreameristä tai Mac QuickTime Toolkitistä tällaisten mediatiedostojen purkamisessa.
    • Joitakin muita VMR7-määrityssovellusliittymiä on otettu käyttöön.
    • Ääniohjaimet tukevat kanavakohtaista äänenvoimakkuuden säätöä.
  • Kansainvälistyminen:
    • Unicode-merkkitaulukot perustuvat Unicode-standardin versioon 12.1.0.
    • Unicode-normalisointi on toteutettu.
    • Maantieteellisen alueen tunnus määritetään automaattisesti rekisterissä nykyisen maa-asetuksen perusteella. Sitä voidaan tarvittaessa muokata kohdassa HKEY_CURRENT_USER\Control Panel\International\Geo.
    • Singalien ja Asturian kieliä tuetaan.
    • Koodisivu 28601 (latinalainen/thai) on tuettu.
  • RPC/COM:
    • Typelib marshaller tukee monimutkaisia ​​rakenteita ja taulukoita.
    • Windows Script -ajonaikaisen kirjaston ensimmäinen toteutus on käynnissä.
    • Microsoft ActiveX Data Objects (ADO) -kirjasto on otettu käyttöön.
  • Asentajat:
    • Microsoft Installer (MSI) -korjaustiedostoja tuetaan.
    • WUSA-työkalu (Windows Update Standalone Installer) tukee .MSU-päivitystiedostojen asentamista.
  • ARM-alustat:
    • Poikkeus purkaminen on toteutettu ARM64:lle libunwind-kirjaston avulla.
    • ARM64 tukee OLE-stubless-välityspalvelimia.
  • Kehitystyökalut / Winelib:
    • Visual Studion etädebuggeria voidaan käyttää Winen alla toimivien sovellusten virheenkorjaukseen.
    • Debug Engine -kirjasto (DBGENG) on osittain toteutettu.
    • Windows-kohteeseen rakennetut binaarit eivät enää ole riippuvaisia ​​libwine-kirjastosta, jotta ne voivat toimia Windowsissa ilman ylimääräisiä riippuvuuksia. Libwine-kirjastoa ei ole enää rakennettu Windowsille ollenkaan.
    • Resource Compiler ja IDL Compiler tukevat '--sysroot'-vaihtoehtoa, joka sallii otsikkotiedostojen paikantamisen ristiinkäännösympäristöissä.
    • Winegcc tukee vaihtoehtoja '--target', '--wine-objdir', '--winebuild' ja '-fuse-ld', jotka helpottavat käyttöä ristiinkääntäjänä tai mukautettujen työkaluketjujen kanssa.
    • Wine/unicode.h-otsikko ei ole enää sovellusten käytettävissä, koska funktiot lopulta poistetaan ja korvataan tavallisilla C-ajonaikaisilla merkkifunktioilla.
  • Rakenna infrastruktuuri:
    • Testibinaarit on rakennettu PE-muodossa, jos MinGW on saatavilla, joten sama testibinaari voi toimia sekä Wine- että Windowsissa. 'risteisimmät' merkkikohdetta ei enää tarvita tai tueta.
    • "Fastcall"-kutsukäytäntöä tuetaan teknisissä tiedostoissa. Se käyttää oikeaa nimenkäsittelyä Windows-koontiversioille.
    • '-Import'-sisääntulopisteen lippua tuetaan spesifitiedostoissa, jotta voidaan merkitä toiminnot, jotka tarvitsevat hotpatch-koodin etuliitettä luotavaan tuontia varten.
    • Winebuild tukee '--builtin'-vaihtoehtoa, jolla PE-binääriin voidaan lisätä erityinen allekirjoitus, jotta ne voidaan merkitä Wine-builtiin.
  • Sisäänrakennetut sovellukset:
    • CHCP-työkalu on otettu käyttöön. Se mahdollistaa konsolin koodisivun asettamisen.
    • MSIDB-työkalu on otettu käyttöön. Se mahdollistaa MSI-tietokantojen manipuloinnin.
  • Suorituskykyparannuksia:
    • Eri aikatoiminnot käyttävät tehokkaampia järjestelmän kelloja, jos niitä on saatavilla, vähentääkseen monien pelien renderöintisilmukan ylijäämää.
    • Tiedostojen hauissa hyödynnetään ext4-tiedostojärjestelmän tapausten taittotukea, jos se on otettu käyttöön haetussa hakemistossa.
    • No-data-tyyliluettelolaatikot (LBS_NODATA) tarjoavat paremman suorituskyvyn suurelle määrälle kohteita.
    • Ohuet Reader/Writer-lukot, avaintapahtumat ja ehtomuuttujat käyttävät futexeja Linuxissa välttääkseen viinipalvelimen edestakaiset matkat.
  • Uudet ulkoiset riippuvuudet:
    • MinGW-w64-ristikääntäjää käytetään moduulien rakentamiseen PE-muodossa.
    • FAudio-kirjastoa käytetään XAudio2:n toteuttamiseen.
    • Inotify-kirjastoa käytetään tiedostojen muutosilmoituksiin BSD-alustoilla.
    • Unwind-kirjastoa käytetään poikkeusten käsittelyyn ARM64:ssä.
    • Video4Linux version 2 kirjastoa käytetään version 1 sijasta.

Lue lisää


Lähde: Viinin pääkonttori

Tarina kautta: AndroidPolice