Stabil udgivelse af Wine 8.0

Efter et års udvikling og 28 eksperimentelle versioner blev en stabil udgivelse af den åbne implementering af Win32 API - Wine 8.0, som inkorporerede mere end 8600 ændringer, præsenteret. Den vigtigste præstation i den nye version markerer afslutningen af ​​arbejdet med at oversætte vinmoduler til formatet.

Wine har bekræftet den fulde drift af 5266 (for et år siden 5156, for to år siden 5049) programmer til Windows, andre 4370 (for et år siden 4312, for to år siden 4227) programmer fungerer perfekt med yderligere indstillinger og eksterne DLL'er. 3888 programmer (3813 for et år siden, 3703 for to år siden) har mindre driftsproblemer, der ikke forstyrrer brugen af ​​applikationernes hovedfunktioner.

Vigtigste innovationer i Wine 8.0:

  • Moduler i PE-format
    • Efter fire års arbejde er konverteringen af ​​alle DLL-biblioteker til at bruge PE (Portable Executable, brugt i Windows) eksekverbare filformat blevet fuldført. Brugen af ​​PE tillader brugen af ​​debuggere, der er tilgængelige for Windows, og løser problemer med at understøtte forskellige kopibeskyttelsesordninger, der bekræfter identiteten af ​​systemmoduler på disken og i hukommelsen. Problemer med at køre 32-bit applikationer på 64-bit værter og x86 applikationer på ARM-systemer er også blevet løst. Blandt de resterende opgaver, som er planlagt løst i efterfølgende eksperimentelle udgivelser af Wine 8.x, er der en overgang af moduler til NT-systemopkaldsgrænsefladen i stedet for at foretage direkte opkald mellem PE- og Unix-lagene.
    • En speciel systemopkaldsmanager er blevet implementeret, brugt til at oversætte opkald fra PE- til Unix-biblioteker for at reducere omkostningerne ved at udføre et komplet NT-systemopkald. For eksempel gjorde optimeringen det muligt at reducere ydeevneforringelsen ved brug af OpenGL- og Vulkan-bibliotekerne.
    • Winelib-applikationer bevarer muligheden for at bruge blandede Windows/Unix-samlinger af ELF (.dll.so)-biblioteker, men sådanne applikationer uden 32-bit-biblioteker understøtter ikke funktionalitet, der er tilgængelig via NT-systemopkaldsgrænsefladen, såsom WoW64.
  • WoW64
    • WoW64-lag (64-bit Windows-på-Windows) leveres til alle Unix-biblioteker, hvilket giver 32-bit-moduler i PE-format adgang til 64-bit Unix-biblioteker, som, efter at have fjernet direkte PE/Unix-kald, vil gøre det muligt at køre 32-bit Windows-applikationer uden at installere 32-bit Unix-biblioteker.
    • I mangel af en 32-bit vinindlæser kan 32-bit applikationer køre i den nye eksperimentelle Windows-lignende WoW64-tilstand, hvor 32-bit kode kører inde i en 64-bit proces. Tilstanden er aktiveret, når du bygger Wine med muligheden '—enable-archs'.
  • Grafik undersystem
    • Standardkonfigurationen bruger lystemaet ("Lys"). Du kan ændre temaet ved hjælp af WineCfg-værktøjet.
      Stabil udgivelse af Wine 8.0
    • Grafikdrivere (winex11.drv, winemac.drv, wineandroid.drv) konverteres til at udføre systemkald på Unix-niveau og få adgang til driverne gennem Win32u-biblioteket.
      Stabil udgivelse af Wine 8.0
    • Print Processor-arkitekturen er blevet implementeret, som bruges til at eliminere direkte opkald mellem PE- og Unix-niveauerne i printerdriveren.
    • Direct2D API understøtter nu effekter.
    • Direct2D API har tilføjet muligheden for at optage og afspille kommandolister.
    • Driveren til Vulkan graphics API har tilføjet understøttelse af Vulkan 1.3.237-specifikationen (Vulkan 7 blev understøttet i Wine 1.2).
  • Direct3D
    • Tilføjet en ny shader-compiler til HLSL (High-Level Shader Language), implementeret baseret på vkd3d-shader-biblioteket. Også baseret på vkd3d-shader er der udarbejdet en HLSL disassembler og en HLSL preprocessor.
    • Trådpumpegrænsefladen introduceret i D3DX 10 er blevet implementeret.
    • Direct3D 10-effekter tilføjer understøttelse af mange nye udtryk.
    • Understøttelsesbiblioteket til D3DX 9 understøtter nu Cubemap-teksturprojektion.
  • Lyd og video
    • Baseret på GStreamer-rammeværket er der implementeret understøttelse af filtre til afkodning af lyd i MPEG-1-format.
    • Tilføjet et filter til at læse streaming lyd og video i ASF (Advanced Systems Format) format.
    • Det mellemliggende biblioteks-lag OpenAL32.dll er blevet fjernet, i stedet for hvilket det oprindelige Windows-bibliotek OpenAL32.dll, der følger med programmer, nu bruges.
    • Media Foundation Player har forbedret registrering af indholdstype.
    • Muligheden for at kontrollere dataoverførselshastigheden (Rate control) er blevet implementeret.
    • Forbedret understøttelse af standardmixeren og -præsentationen i Enhanced Video Renderer (EVR).
    • Tilføjet indledende implementering af Writer Encoding API.
    • Forbedret topologi-loader-understøttelse.
  • Input enheder
    • Markant forbedret understøttelse af hot plugging af controllere.
    • Der foreslås en forbedret implementering af koden til bestemmelse af spilstyr, bygget på basis af SDL-biblioteket.
    • Forbedret understøttelse af Force feedback-effekten ved brug af spillehjul.
    • Evnen til at styre venstre og højre vibrationsmotorer ved hjælp af HID Haptic-specifikationen er blevet implementeret.
    • Ændret design af joystickets kontrolpanel.
    • Understøttelse af Sony DualShock- og DualSense-controllere ydes gennem brugen af ​​hidraw-backend.
    • WinRT-modulet Windows.Gaming.Input foreslås med implementering af en softwaregrænseflade til adgang til gamepads, joysticks og gaminghjul. Til den nye API er blandt andet understøttelse af notifikation af hot plugging af enheder, taktile og vibrationseffekter implementeret.
  • Internationalisering
    • Generering af den korrekte lokalitetsdatabase i formatet locale.nls fra Unicode CLDR (Unicode Common Locale Data Repository) repository er sikret.
    • Unicode-strengsammenligningsfunktioner er blevet flyttet til at bruge databasen og Windows Sortkey-algoritmen i stedet for Unicode Collation-algoritmen, hvilket bringer adfærd tættere på Windows.
    • De fleste funktioner har tilføjet understøttelse af øvre Unicode-kodeområder (fly).
    • Det er muligt at bruge UTF-8 som ANSI-kodning.
    • Tegntabeller er blevet opdateret til Unicode 15.0.0-specifikationen.
  • Tekst og skrifttyper
    • Skrifttilknytning er blevet aktiveret for de fleste systemskrifttyper, hvilket løser problemet med manglende glyffer på systemer med kinesisk, koreansk og japansk lokalitet.
    • Omarbejdet fallback skrifttype i DirectWrite.
  • Kernel (Windows Kernel Interfaces)
    • ApiSetSchema-databasen er implementeret, som erstattede api-ms-*-modulerne og reducerede disk- og adressepladsforbrug.
    • DOS-filattributter gemmes på disken i et Samba-kompatibelt format ved hjælp af udvidede FS-attributter.
  • Netværksfunktioner
    • Tilføjet understøttelse af OCSP (Online Certificate Status Protocol), der bruges til at kontrollere tilbagekaldte certifikater.
    • Udvalget af EcmaScript-funktioner, der er tilgængelige i JavaScript-standard-overholdelsestilstand, er blevet udvidet.
    • Implementeret en skraldeopsamler til JavaScript.
    • Gecko-motorpakken indeholder funktioner til personer med handicap.
    • MSHTML tilføjer understøttelse af Web Storage API, Performance-objektet og yderligere objekter til hændelseshåndtering.
  • Indlejrede applikationer
    • Alle indbyggede applikationer er blevet konverteret til at bruge Common Controls 6-biblioteket, med understøttelse af designtemaer og gengivelse, der tager højde for skærme med høj pixeltæthed.
    • Forbedrede muligheder for fejlfinding af tråde i Wine Debugger (winedbg).
    • Registreringsværktøjerne (REGEDIT og REG) understøtter nu QWORD-typen.
    • Notesblok har tilføjet en statuslinje med information om markørens position og en Goto Line-funktion for at springe til et specificeret linjenummer
    • Den indbyggede konsol giver dataoutput i OEM-kodetabel.
    • Kommandoen 'query' er blevet tilføjet til sc.exe (Service Control)-værktøjet.
  • Samlingssystem
    • Muligheden for at bygge eksekverbare filer i PE-format til flere arkitekturer er givet (for eksempel '—enable-archs=i386,x86_64').
    • På alle platforme med den 32-bit lange type omdefineres datatyper, der er defineret som lange i Windows, nu til 'lange' i stedet for 'int' i Wine. I Winelib kan denne adfærd deaktiveres via WINE_NO_LONG_TYPES definitionen.
    • Tilføjet muligheden for at generere biblioteker uden at bruge dlltool (aktiveret ved at indstille '—without-dlltool'-indstillingen i winebuild).
    • For at forbedre indlæsningseffektiviteten og reducere størrelsen af ​​kodeløse biblioteker med kun ressourcer implementerer winegcc muligheden "--kun data".
  • Miscellanea
    • Opdaterede versioner af indbyggede 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.
    • Wine Mono-motoren med .NET-platformimplementering er blevet opdateret til udgivelse 7.4.
    • Understøttelse af kryptering baseret på RSA-algoritmen og RSA-PSS digitale signaturer er blevet implementeret.
    • Tilføjet indledende version af UI Automation API.
    • Kildetræet inkluderer LDAP- og vkd3d-bibliotekerne, som er kompileret i PE-format, hvilket eliminerer behovet for at levere Unix-samlinger af disse biblioteker.
    • OpenAL-biblioteket er udgået.

Kilde: opennet.ru

Tilføj en kommentar