Stabil utgivelse av Wine 8.0

Etter et år med utvikling og 28 eksperimentelle versjoner, ble en stabil utgivelse av den åpne implementeringen av Win32 API - Wine 8.0, som inneholdt mer enn 8600 endringer, presentert. Nøkkelprestasjonen i den nye versjonen markerer fullføringen av arbeidet med å oversette vinmoduler til formatet.

Wine har bekreftet full drift av 5266 (for et år siden 5156, for to år siden 5049) programmer for Windows, ytterligere 4370 (for et år siden 4312, for to år siden 4227) programmer fungerer perfekt med tilleggsinnstillinger og eksterne DLL-er. 3888 programmer (3813 for et år siden, 3703 for to år siden) har mindre driftsproblemer som ikke forstyrrer bruken av hovedfunksjonene til applikasjonene.

Viktige innovasjoner i Wine 8.0:

  • Moduler i PE-format
    • Etter fire års arbeid er konverteringen av alle DLL-biblioteker til å bruke PE (Portable Executable, brukt i Windows) kjørbare filformatet fullført. Bruken av PE tillater bruk av debuggere tilgjengelig for Windows og løser problemer med å støtte ulike kopibeskyttelsesordninger som bekrefter identiteten til systemmoduler på disk og i minne. Problemer med å kjøre 32-bits applikasjoner på 64-biters verter og x86 applikasjoner på ARM-systemer er også løst. Blant de resterende oppgavene som er planlagt løst i påfølgende eksperimentelle utgivelser av Wine 8.x, er det en overgang av moduler til NT-systemanropsgrensesnittet i stedet for å foreta direkte anrop mellom PE- og Unix-lagene.
    • En spesiell systemanropsbehandler er implementert, brukt til å oversette anrop fra PE- til Unix-biblioteker for å redusere kostnadene ved å utføre et fullstendig NT-systemanrop. Optimaliseringen gjorde det for eksempel mulig å redusere ytelsesdegradering ved bruk av OpenGL- og Vulkan-bibliotekene.
    • Winelib-applikasjoner beholder muligheten til å bruke blandede Windows/Unix-sammenstillinger av ELF (.dll.so)-biblioteker, men slike applikasjoner uten 32-bits biblioteker vil ikke støtte funksjonalitet som er tilgjengelig gjennom NT-systemanropsgrensesnittet, for eksempel WoW64.
  • WoW64
    • WoW64 (64-biters Windows-på-Windows)-lag er gitt for alle Unix-biblioteker, som lar 32-bits moduler i PE-format få tilgang til 64-bits Unix-biblioteker, som, etter å ha blitt kvitt direkte PE/Unix-anrop, vil gjøre det mulig å kjøre 32-bits Windows-applikasjoner uten å installere 32-bits Unix-biblioteker.
    • I mangel av en 32-bits vinlaster, kan 32-biters applikasjoner kjøres i den nye eksperimentelle Windows-lignende WoW64-modusen, der 32-biters kode kjører i en 64-bits prosess. Modusen er aktivert når du bygger Wine med alternativet '—enable-archs'.
  • Grafisk delsystem
    • Standardkonfigurasjonen bruker lystemaet ("Lys"). Du kan endre temaet ved å bruke WineCfg-verktøyet.
      Stabil utgivelse av Wine 8.0
    • Grafikkdrivere (winex11.drv, winemac.drv, wineandroid.drv) konverteres til å utføre systemanrop på Unix-nivå og få tilgang til driverne gjennom Win32u-biblioteket.
      Stabil utgivelse av Wine 8.0
    • Print Processor-arkitekturen er implementert, som brukes til å eliminere direkte anrop mellom PE- og Unix-nivåene i skriverdriveren.
    • Direct2D API støtter nå effekter.
    • Direct2D API har lagt til muligheten til å ta opp og spille av kommandolister.
    • Driveren for Vulkan graphics API har lagt til støtte for Vulkan 1.3.237-spesifikasjonen (Vulkan 7 ble støttet i Wine 1.2).
  • Direct3D
    • Lagt til en ny shader-kompilator for HLSL (High-Level Shader Language), implementert basert på vkd3d-shader-biblioteket. Også basert på vkd3d-shader er det utarbeidet en HLSL-demonter og en HLSL-forprosessor.
    • Thread Pump-grensesnittet introdusert i D3DX 10 er implementert.
    • Direct3D 10-effekter legger til støtte for mange nye uttrykk.
    • Støttebiblioteket for D3DX 9 støtter nå Cubemap-teksturprojeksjon.
  • Lyd og video
    • Basert på GStreamer-rammeverket er støtte for filtre for dekoding av lyd i MPEG-1-format implementert.
    • Lagt til et filter for å lese streaming av lyd og video i ASF-format (Advanced Systems Format).
    • Det mellomliggende biblioteklaget OpenAL32.dll er fjernet, og i stedet brukes nå det opprinnelige Windows-biblioteket OpenAL32.dll, som følger med applikasjoner.
    • Media Foundation Player har forbedret gjenkjenning av innholdstype.
    • Evnen til å kontrollere dataoverføringshastigheten (Rate control) er implementert.
    • Forbedret støtte for standardmikseren og presentatøren i Enhanced Video Renderer (EVR).
    • Lagt til innledende implementering av Writer Encoding API.
    • Forbedret topologilasterstøtte.
  • Inngangsenheter
    • Betydelig forbedret støtte for hot plugging av kontrollere.
    • En forbedret implementering av koden for å bestemme spillratt, bygget på grunnlag av SDL-biblioteket, foreslås.
    • Forbedret støtte for Force feedback-effekten ved bruk av spillhjul.
    • Implementerte muligheten til å kontrollere venstre og høyre vibrasjonsmotorer ved å bruke HID Haptic-spesifikasjonen.
    • Endret utformingen av styrespakens kontrollpanel.
    • Støtte for Sony DualShock- og DualSense-kontrollere gis gjennom bruk av hidraw-backend.
    • WinRT-modulen Windows.Gaming.Input er foreslått med implementering av et programvaregrensesnitt for tilgang til gamepads, joysticker og spillhjul. For det nye API-et implementeres blant annet støtte for varsling av hotplugging av enheter, taktile og vibrasjonseffekter.
  • Internasjonalisering
    • Generering av riktig lokalitetsdatabase i locale.nls-formatet fra Unicode CLDR (Unicode Common Locale Data Repository)-depotet er sikret.
    • Unicode-strengsammenligningsfunksjoner har blitt flyttet til å bruke databasen og Windows Sortkey-algoritmen i stedet for Unicode Collation-algoritmen, noe som bringer atferd nærmere Windows.
    • De fleste funksjonene har lagt til støtte for øvre Unicode-kodeområder (fly).
    • Det er mulig å bruke UTF-8 som ANSI-koding.
    • Tegntabeller er oppdatert til Unicode 15.0.0-spesifikasjonen.
  • Tekst og fonter
    • Skriftkobling har blitt aktivert for de fleste systemfonter, og løser problemet med manglende tegnvarianter på systemer med kinesisk, koreansk og japansk lokalitet.
    • Omarbeidet reserveskrifttype i DirectWrite.
  • Kjerne (Windows-kjernegrensesnitt)
    • ApiSetSchema-databasen er implementert, som erstattet api-ms-*-modulene og reduserte disk- og adresseplassforbruk.
    • DOS-filattributter lagres på disk i et Samba-kompatibelt format ved å bruke utvidede FS-attributter.
  • Nettverksfunksjoner
    • Lagt til støtte for OCSP (Online Certificate Status Protocol), som brukes til å sjekke tilbakekalte sertifikater.
    • Utvalget av EcmaScript-funksjoner som er tilgjengelige i samsvarsmodus for JavaScript-standarder, er utvidet.
    • Implementerte en søppelsamler for JavaScript.
    • Gecko-motorpakken inkluderer funksjoner for funksjonshemmede.
    • MSHTML legger til støtte for Web Storage API, Performance-objektet og tilleggsobjekter for hendelseshåndtering.
  • Innebygde applikasjoner
    • Alle innebygde applikasjoner er konvertert til å bruke Common Controls 6-biblioteket, med støtte for temaer og gjengivelse som tar hensyn til skjermer med høy pikseltetthet.
    • Forbedrede trådfeilsøkingsfunksjoner i Wine Debugger (winedbg).
    • Registerverktøyene (REGEDIT og REG) støtter nå QWORD-typen.
    • Notisblokk har lagt til en statuslinje med informasjon om markørposisjonen og en Goto Line-funksjon for å hoppe til et spesifisert linjenummer
    • Den innebygde konsollen gir datautgang i OEM-kodesiden.
    • 'Query'-kommandoen er lagt til sc.exe (Service Control)-verktøyet.
  • Monteringssystem
    • Muligheten til å bygge kjørbare filer i PE-format for flere arkitekturer er gitt (for eksempel '—enable-archs=i386,x86_64').
    • På alle plattformer med den 32-bit lange typen, blir datatyper definert som lang i Windows nå omdefinert til "lang" i stedet for "int" i Wine. I Winelib kan denne virkemåten deaktiveres via WINE_NO_LONG_TYPES-definisjonen.
    • Lagt til muligheten til å generere biblioteker uten å bruke dlltool (aktivert ved å sette alternativet '—without-dlltool' i winebuild).
    • For å forbedre innlastingseffektiviteten og redusere størrelsen på kodeløse biblioteker som bare er ressurs, implementerer winegcc alternativet "--bare data".
  • Miscellanea
    • Oppdaterte versjoner av innebygde biblioteker Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXslt 1.1.37. Zlib 1.2.13.
    • Wine Mono-motoren med .NET-plattformimplementering har blitt oppdatert til utgivelse 7.4.
    • Støtte for kryptering basert på RSA-algoritmen og RSA-PSS digitale signaturer er implementert.
    • Lagt til den første versjonen av UI Automation API.
    • Kildetreet inkluderer LDAP- og vkd3d-bibliotekene, som er kompilert i PE-format, noe som eliminerer behovet for å levere Unix-sammenstillinger av disse bibliotekene.
    • OpenAL-biblioteket er avviklet.

Kilde: opennet.ru

Legg til en kommentar