Etter ett Ă„r med utvikling og 28 eksperimentelle versjoner har den stabile utgaven av den Ă„pne implementeringen av Win32 API â Wine 8.0 blitt lansert, som inkluderer mer enn 8600 endringer. Et hovedmĂ„l i den nye versjonen er Ă„ fullfĂžre arbeidet med Ă„ oversette Wine-moduler til formatet.
I Wine er det bekreftet at 5266 Windows-programmer fungerer fullt ut (sist Är 5156, for to Är siden 5049), mens ytterligere 4370 (sist Är 4312, for to Är siden 4227) programmer fungerer bra med ekstra innstillinger og eksterne DLL-er. 3888 programmer (sist Är 3813, for to Är siden 3703) har smÄ problemer som ikke hindrer bruk av de grunnleggende funksjonene i applikasjonene.
NĂžkkelnyheter i Wine 8.0:
- Moduler i PE-format
- Etter fire Ärs arbeid er oversettelsen av alle DLL-biblioteker til bruk av PE-formatet (Portable Executable, brukt i Windows) helt fullfÞrt. Bruken av PE gjÞr at tilgjengelige Windows-debuggere kan brukes, og lÞser problemer med stÞtte for forskjellige kopibeskyttelsesskjemaer som sjekker identiteten til systemmoduler pÄ disk og i minnet. Det er ogsÄ lÞst problemer med kjÞring av 32-biters applikasjoner pÄ 64-biters vertsdatamaskiner og x86-applikasjoner pÄ ARM-systemer. Av gjenvÊrende oppgaver som planlegges lÞst i fremtidige eksperimentelle utgivelser av Wine 8.x, er oversettelse av moduler til NT-systemanrop-grensesnittet, i stedet for Ä utfÞre direkte anrop mellom PE- og Unix-nivÄene.
- En spesialdesignet systemanrop-diskpatron er implementert for Ä oversette kall fra PE til Unix-biblioteker, med mÄl om Ä redusere kostnadene ved Ä utfÞre et fullstendig NT-systemanrop. For eksempel har optimaliseringen gjort det mulig Ä redusere ytelsestapet nÄr man bruker OpenGL- og Vulkan-biblioteker.
- I Winelib-applikasjoner bevares muligheten for Ă„ bruke blandede versjoner av Windows/Unix-biblioteker i ELF-format (.dll.so), men slike applikasjoner uten 32-biters biblioteker vil ikke stĂžtte funksjonalitet tilgjengelig gjennom NT-systemanrop-grensesnittet, som WoW64.
- WoW64
- For all Unix libraries, there are WoW64 (64-bit Windows-on-Windows) layers that allow 32-bit PE modules to access 64-bit Unix libraries, enabling the execution of 32-bit Windows applications without the need to install 32-bit Unix libraries after removing direct PE/Unix calls.
- In the absence of a 32-bit Wine loader, the launch of 32-bit applications is provided in a new experimental Windows-like WoW64 mode, where 32-bit code runs inside a 64-bit process. The mode is activated when Wine is built with the ââenable-archsâ option.
- Grafikkundersystem
- The default configuration uses a light theme (âLightâ). The theme can be changed using the WineCfg utility.

- Graphics drivers (winex11.drv, winemac.drv, wineandroid.drv) have been modified to perform system calls at the Unix level and access drivers through the Win32u library.

- A print processing architecture (Print Processor) has been implemented to eliminate direct calls between PE and Unix levels in the printer driver.
- The Direct2D API now supports effects.
- The Direct2D API has added the ability to record and playback command lists.
- The driver for the Vulkan graphics API now supports the Vulkan 1.3.237 specification (with Vulkan 1.2 supported in Wine 7).
- The default configuration uses a light theme (âLightâ). The theme can be changed using the WineCfg utility.
- Direct3D
- A new shader compiler for the HLSL (High-Level Shader Language) has been created based on the vkd3d-shader library. Additionally, an HLSL disassembler and HLSL preprocessor have been prepared based on vkd3d-shader.
- The Thread Pump interface, which appeared in D3DX 10, has been implemented.
- Many new expressions have been added to the effects in Direct3D 10.
- The auxiliary library for D3DX 9 now supports Cubemap texture projection.
- Sound and Video
- Filter support for decoding audio in MPEG-1 format has been implemented based on the GStreamer framework.
- A filter for reading streaming audio and video in ASF (Advanced Systems Format) has been added.
- The OpenAL32.dll intermediary layer has been removed, and the native Windows OpenAL32.dll library provided with applications is now used instead.
- The Media Foundation Player has improved content type detection.
- Rate control functionality has been implemented.
- Support for the mixer and presenter offered by default in Enhanced Video Renderer (EVR) has been enhanced.
- An initial implementation of the Writer Encoding API has been added.
- Forbedret stĂžtte for topologilasteren.
- Inndataenheter
- Betydelig forbedret stĂžtte for hot-swap av kontrollerne.
- ForeslÄtt en forbedret implementering av koden for Ä gjenkjenne spillhjul, basert pÄ SDL-biblioteket.
- Forbedret stĂžtte for vibrofeedback-effekten ved bruk av spillhjul.
- Mulighet for Ă„ kontrollere venstre og hĂžyre vibromotorer som bruker HID Haptic-spesifikasjonen er implementert.
- Endret utformingen kontrollpanelet med joystick.
- Gjennom bruk av hidraw-backend er stĂžtte for Sony DualShock og DualSense-kontrollere sikret.
- ForeslÄtt WinRT-modul Windows.Gaming.Input med implementering av programgrensesnittet for tilgang til spillkontrollere, joysticker og spillhjul. For den nye API-en er det blant annet implementert stÞtte for varsler om hot-swap av enheter, taktile og vibrasjons-effekter.
- Internasjonalisering
- Korrekt generering av lokalitetsdatabasen i locale.nls-format fra Unicode CLDR-repositoriet er sikret.
- Unicode-strengsammenligningsfunksjoner er overfĂžrt til Ă„ bruke Windows Sortkey-database og algoritme i stedet for Unicode Collation-algoritmen, noe som har brakt oppfĂžrselen nĂŠrmere Windows.
- Flertall av funksjoner har fÄtt stÞtte for Þvre tegnkodeomrÄder (planer) i Unicode.
- Muligheten for Ă„ bruke UTF-8 som ANSI-koding er gitt.
- Tegntabeller er oppdatert til Unicode 15.0.0-spesifikasjonen.
- Tekst og skrifttyper
- For de fleste systemskrifter er det inkludert skrifttilkobling, noe som lÞste problemet med manglende glyfer pÄ systemer med kinesiske, koreanske og japanske lokaliteter.
- Ombearbeidet tilbakefall til alternativ skrifttype i DirectWrite.
- Kjerne (Windows-kjernegrensesnitt)
- ApiSetSchema-databasen er implementert, som har erstatta api-ms-* moduler og har redusert disk- og adresseforbruket.
- Sikret lagring av DOS-filattributter i et Samba-kompatibelt format, ved Ă„ bruke utvidede FS-attributter.
- Nettverksmuligheter
- StĂžtte for OCSP (Online Certificate Status Protocol) er lagt til, brukt for Ă„ verifisere tilbakekalte sertifikater.
- Spekteret av muligheter for EcmaScript, tilgjengelig i standardsamsvarsmodus for JavaScript, er utvidet.
- AvfallshÄndtereren for JavaScript er implementert.
- Pakke med Gecko-motoren inkluderer hjelpemidler for personer med nedsatt funksjonsevne.
- StÞtte for API Web Storage, Performance-objektet og tilleggselementer for hendelseshÄndtering er lagt til i MSHTML.
- Innebygde applikasjoner
- Alle innebygde applikasjoner er oversatt til bruk av Common Controls 6-biblioteket, med stĂžtte for temaer og tegning med hensyn til skjermer med hĂžy bildepunkttetthet.
- Mulighetene for feilsÞking av trÄder i Wine Debugger (winedbg) er utvidet.
- I verktĂžyene for Ă„ arbeide med registeret (REGEDIT og REG) er det lagt til stĂžtte for typen QWORD.
- Notepad har fÄtt en statuslinje med informasjon om markÞrens posisjon og funksjonen Goto Line for Ä gÄ til spesifisert linjenummer.
- Den innebygde konsollen gir nÄ utdata i OEM-tegnsett.
- I verktĂžyet sc.exe (Service Control) er kommandoen âqueryâ lagt til.
- ByggeverktĂžy
- Muligheten for Ă„ kompilere kjĂžrbare filer i PE-format for flere arkitekturer er gitt (for eksempel ââenable-archs=i386,x86_64â).
- PĂ„ alle plattformer med 32-biters long-type er datatyper definert i Windows som long nĂ„ omdefinert i Wine som âlongâ i stedet for âintâ. I Winelib kan denne oppfĂžrselen deaktiveres ved Ă„ definere WINE_NO_LONG_TYPES.
- Muligheten for Ă„ generere biblioteker uten Ă„ bruke dlltool er lagt til (aktiveres ved Ă„ angi alternativet ââwithout-dlltoolâ i winebuild).
- For Ă„ forbedre lastetid og redusere stĂžrrelsen pĂ„ biblioteker som ikke inneholder kode og kun inkluderer ressurser, er alternativet ââdata-onlyâ implementert i winegcc.
- Diverse
- Versjonene av de innebygde bibliotekene 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 er oppdatert.
- Wine Mono-motoren med implementering av .NET-plattformen er oppdatert til versjon 7.4.
- StĂžtte for RSA-basert kryptering og RSA-PSS digitale signaturer er implementert.
- Den fĂžrste versjonen av API-en for UI Automation er lagt til.
- LDAP- og vkd3d-bibliotekene, som nÄ kompileres i PE-format, er lagt til i kildekode-trÊrne, noe som eliminerer behovet for Ä levere Unix-byggene av disse bibliotekene.
- Bruken av OpenAL-biblioteket er stanset.
Kilde: opennet.ru


