Wine 8.0:n vakaa julkaisu

Vuoden kehitystyön ja 28 kokeellisen version jälkeen esiteltiin vakaa julkaisu Win32 API:n avoimesta toteutuksesta - Wine 8.0, joka sisälsi yli 8600 XNUMX muutosta. Uuden version avainsaavutus merkitsee Wine-moduulien käännöstyön valmistumista muotoon.

Wine on vahvistanut 5266 (vuosi sitten 5156, kaksi vuotta sitten 5049) Windows-ohjelman täydellisen toiminnan, toinen 4370 (vuosi sitten 4312, kaksi vuotta sitten 4227) ohjelmaa toimii täydellisesti lisäasetusten ja ulkoisten DLL-tiedostojen kanssa. 3888 ohjelmassa (3813 vuosi sitten, 3703 kaksi vuotta sitten) on pieniä toimintahäiriöitä, jotka eivät häiritse sovellusten päätoimintojen käyttöä.

Wine 8.0:n tärkeimmät innovaatiot:

  • Moduulit PE-muodossa
    • Neljän vuoden työn jälkeen kaikkien DLL-kirjastojen muuntaminen PE (Portable Executable, käytetään Windowsissa) suoritettavaan tiedostomuotoon on saatu päätökseen. PE:n käyttö mahdollistaa Windowsille saatavilla olevien virheenkorjainten käytön ja ratkaisee ongelmia, jotka liittyvät erilaisten kopiosuojausjärjestelmien tukemiseen, jotka varmistavat levyllä ja muistissa olevien järjestelmämoduulien identiteetin. Myös 32-bittisten sovellusten suorittamiseen 64-bittisissä isännissä ja x86-sovelluksissa ARM-järjestelmissä liittyvät ongelmat on ratkaistu. Muiden tehtävien joukossa, jotka on tarkoitus ratkaista myöhemmissä Wine 8.x:n kokeellisissa julkaisuissa, on moduulien siirtyminen NT-järjestelmäpuhelurajapintaan sen sijaan, että suoritettaisiin puheluita PE- ja Unix-kerrosten välillä.
    • Erityinen järjestelmäpuhelunhallinta on otettu käyttöön, jota käytetään kääntämään puhelut PE:stä Unix-kirjastoihin, jotta voidaan vähentää täyden NT-järjestelmäkutsun suorittamista. Optimoinnin avulla esimerkiksi pystyttiin vähentämään suorituskyvyn heikkenemistä käytettäessä OpenGL- ja Vulkan-kirjastoja.
    • Winelib-sovellukset säilyttävät mahdollisuuden käyttää ELF (.dll.so) -kirjastojen Windows/Unix-yhdistelmäkokoonpanoja, mutta sellaiset sovellukset, joissa ei ole 32-bittisiä kirjastoja, eivät tue NT-järjestelmäkutsuliittymän kautta saatavilla olevia toimintoja, kuten WoW64.
  • WoW64
    • WoW64 (64-bittinen Windows-on-Windows) -tasot ovat saatavilla kaikille Unix-kirjastoille, jolloin 32-bittiset moduulit PE-muodossa voivat käyttää 64-bittisiä Unix-kirjastoja, jotka päästään eroon suorista PE/Unix-kutsuista mahdollista suorittaa 32-bittisiä Windows-sovelluksia asentamatta 32-bittisiä Unix-kirjastoja.
    • 32-bittisen Wine-lataimen puuttuessa 32-bittiset sovellukset voivat toimia uudessa kokeellisessa Windows-tyyppisessä WoW64-tilassa, jossa 32-bittinen koodi suoritetaan 64-bittisessä prosessissa. Tila on käytössä, kun rakennetaan Wineä "—enable-archs" -vaihtoehdolla.
  • Grafiikka alijärjestelmä
    • Oletuskokoonpano käyttää vaaleaa teemaa ("Light"). Voit vaihtaa teemaa WineCfg-apuohjelmalla.
      Wine 8.0:n vakaa julkaisu
    • Grafiikkaohjaimet (winex11.drv, winemac.drv, wineandroid.drv) muunnetaan suorittamaan järjestelmäkutsuja Unix-tasolla ja käyttämään ohjaimia Win32u-kirjaston kautta.
      Wine 8.0:n vakaa julkaisu
    • Print Processor -arkkitehtuuri on otettu käyttöön, jota käytetään poistamaan suorat puhelut tulostinohjaimen PE- ja Unix-tasojen välillä.
    • Direct2D API tukee nyt tehosteita.
    • Direct2D API on lisännyt mahdollisuuden tallentaa ja toistaa komentoluetteloita.
    • Vulkan-grafiikkasovellusliittymän ajuri on lisännyt tuen Vulkan 1.3.237 -spesifikaatiolle (Vulkan 7:ta tuettiin Wine 1.2:ssä).
  • Direct3D
    • Lisätty uusi Shader-kääntäjä HLSL:lle (High-Level Shader Language), joka on toteutettu vkd3d-shader-kirjaston perusteella. Myös vkd3d-shaderiin perustuen on valmisteltu HLSL-disassembler ja HLSL-esiprosessori.
    • D3DX 10:ssä käyttöön otettu Thread Pump -liitäntä on otettu käyttöön.
    • Direct3D 10 -tehosteet lisäävät tukea monille uusille ilmaisuille.
    • D3DX 9:n tukikirjasto tukee nyt Cubemap-tekstuuriprojektiota.
  • Ääni ja video
    • GStreamer-kehyksen pohjalta on otettu käyttöön tuki suodattimille MPEG-1-muodossa olevan äänen dekoodaamiseen.
    • Lisätty suodatin suoratoiston äänen ja videon lukemiseen ASF (Advanced Systems Format) -muodossa.
    • Välikirjastotaso OpenAL32.dll on poistettu, ja sen sijaan käytetään nyt sovellusten mukana toimitettua alkuperäistä Windows-kirjastoa OpenAL32.dll.
    • Media Foundation Player on parantanut sisältötyyppien tunnistusta.
    • Mahdollisuus ohjata tiedonsiirtonopeutta (Rate control) on otettu käyttöön.
    • Parannettu tuki oletusmiksaajalle ja esittelijälle Enhanced Video Rendererissä (EVR).
    • Lisätty Writer Encoding API:n ensimmäinen käyttöönotto.
    • Parannettu topologialataimen tuki.
  • Syöttölaitteet
    • Merkittävästi parannettu tuki ohjaimien kytkemiselle.
    • Pelien ohjauspyörän määrityskoodille ehdotetaan parannettua toteutusta, joka on rakennettu SDL-kirjaston pohjalta.
    • Parannettu tuki Force-palautevaikutukselle pelipyöriä käytettäessä.
    • Mahdollisuus ohjata vasenta ja oikeaa tärinämoottoria HID Haptic -spesifikaatiolla on otettu käyttöön.
    • Ohjaussauvan ohjauspaneelin suunnittelua muutettu.
    • Tuki Sony DualShock- ja DualSense-ohjaimille tarjotaan käyttämällä hidraw-taustaohjelmaa.
    • WinRT-moduuliin Windows.Gaming.Input on ehdotettu ohjelmistokäyttöliittymän toteuttamista peliohjainten, ohjaussauvojen ja pelipyörien käyttöä varten. Uudelle API:lle on toteutettu muun muassa tuki laitteiden kuumakytkemisestä ilmoittamiselle, kosketus- ja tärinäefekteille.
  • Kansainvälistyminen
    • Oikean kielitietokannan luominen locale.nls-muodossa Unicode CLDR (Unicode Common Locale Data Repository) -tietovarastosta varmistetaan.
    • Unicode-merkkijonojen vertailutoiminnot on siirretty käyttämään tietokantaa ja Windows Sortkey -algoritmia Unicode Collation -algoritmin sijaan, mikä tuo käyttäytymistä lähemmäksi Windowsia.
    • Useimmat ominaisuudet ovat lisänneet tuen ylemmille Unicode-koodialueille (tasoille).
    • UTF-8:aa voidaan käyttää ANSI-koodauksena.
    • Merkkitaulukot on päivitetty Unicode 15.0.0 -määritykseen.
  • Teksti ja fontit
    • Fonttilinkitys on otettu käyttöön useimmissa järjestelmäfonteissa, mikä ratkaisee puuttuvien kuvioiden ongelman järjestelmissä, joissa on kiinalainen, korealainen ja japanilainen kielialue.
    • Uudelleen muokattu varafonttivaraus DirectWritessa.
  • Ydin (Windowsin ydinliittymät)
    • ApiSetSchema-tietokanta on otettu käyttöön, joka korvasi api-ms-*-moduulit ja pienensi levy- ja osoitetilan kulutusta.
    • DOS-tiedostomääritteet tallennetaan levylle Samba-yhteensopivassa muodossa laajennettujen FS-attribuuttien avulla.
  • Verkkoominaisuudet
    • Lisätty tuki OCSP:lle (Online Certificate Status Protocol), jota käytetään peruutettujen varmenteiden tarkistamiseen.
    • JavaScript-standardien noudattamistilassa saatavilla olevien EcmaScript-ominaisuuksien valikoimaa on laajennettu.
    • Otettiin roskakeräys käyttöön JavaScriptille.
    • Gecko-moottoripaketti sisältää ominaisuuksia vammaisille.
    • MSHTML lisää tuen Web Storage API:lle, Performance-objektille ja lisäobjekteille tapahtumien käsittelyyn.
  • Sulautetut sovellukset
    • Kaikki sisäänrakennetut sovellukset on muunnettu käyttämään Common Controls 6 -kirjastoa, joka tukee suunnitteluteemoja ja renderöintiä ottaen huomioon näytöt, joissa on korkea pikselitiheys.
    • Parannetut ominaisuudet säikeiden virheenkorjaukseen Wine Debuggerissa (winedbg).
    • Rekisterin apuohjelmat (REGEDIT ja REG) tukevat nyt QWORD-tyyppiä.
    • Muistio on lisännyt tilapalkin, jossa on tietoja kohdistimen sijainnista ja Goto Line -toiminnon, jolla voit siirtyä määritettyyn rivinumeroon
    • Sisäänrakennettu konsoli tarjoaa tiedot OEM-koodisivulle.
    • 'query'-komento on lisätty sc.exe (Service Control) -apuohjelmaan.
  • Kokoonpanojärjestelmä
    • Mahdollisuus rakentaa suoritettavia tiedostoja PE-muodossa useille arkkitehtuureille on tarjottu (esimerkiksi '—enable-archs=i386,x86_64').
    • Kaikissa alustoissa, joissa on 32-bittinen pitkä tyyppi, Windowsissa pitkiksi määritetyt tietotyypit määritetään nyt uudelleen "pitkäksi" Winen "int" sijaan. Winelibissä tämä toiminta voidaan poistaa käytöstä WINE_NO_LONG_TYPES-määritelmällä.
    • Lisätty mahdollisuus luoda kirjastoja ilman dlltool-työkalua (otettu käyttöön asettamalla '—without-dlltool' -vaihtoehto winebuildissa).
    • Lataustehokkuuden parantamiseksi ja koodittomien, vain resursseja sisältävien kirjastojen koon pienentämiseksi winegcc ottaa käyttöön "--data-only" -vaihtoehdon.
  • Miscellanea
    • Päivitetyt versiot sisäänrakennetuista kirjastoista Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, Z.libXs.1.1.37 LibXml.1.2.13
    • Wine Mono -moottori .NET-alustalla on päivitetty versioon 7.4.
    • Tuki RSA-algoritmiin ja RSA-PSS-digitaalisiin allekirjoituksiin perustuvalle salaukselle on otettu käyttöön.
    • UI Automation API:n alkuperäinen versio lisätty.
    • Lähdepuu sisältää LDAP- ja vkd3d-kirjastot, jotka on käännetty PE-muotoon, joten näiden kirjastojen Unix-kokoonpanoja ei tarvitse toimittaa.
    • OpenAL-kirjasto on lopetettu.

Lähde: opennet.ru

Lisää kommentti