Stabila eldono de Wine 8.0

Post jaro da evoluo kaj 28 eksperimentaj versioj, stabila eldono de la malferma efektivigo de la Win32 API - Wine 8.0, kiu korpigis pli ol 8600 ŝanĝojn, estis prezentita. La ŝlosila atingo en la nova versio markas la kompletigon de la laboro pri tradukado de Wine-moduloj en la formaton.

Wine konfirmis la plenan funkciadon de 5266 (antaŭ unu jaro 5156, antaŭ du jaroj 5049) programoj por Vindozo, aliaj 4370 (antaŭ unu jaro 4312, antaŭ du jaroj 4227) programoj funkcias perfekte kun aldonaj agordoj kaj eksteraj DLL-oj. 3888 programoj (3813 antaŭ jaro, 3703 antaŭ du jaroj) havas negravajn funkciajn problemojn, kiuj ne malhelpas la uzadon de la ĉefaj funkcioj de la aplikaĵoj.

Ŝlosilaj novigoj en Wine 8.0:

  • Moduloj en PE-formato
    • Post kvar jaroj da laboro, la konvertiĝo de ĉiuj DLL-bibliotekoj por uzi la plenumeblan dosierformaton PE (Portable Executable, uzata en Vindozo) finiĝis. La uzo de PE permesas la uzon de erarserĉiloj disponeblaj por Vindozo kaj solvas problemojn kun subtenado de diversaj kopiprotektaj skemoj, kiuj kontrolas la identecon de sistemaj moduloj sur disko kaj en memoro. Problemoj pri funkciado de 32-bitaj aplikoj sur 64-bitaj gastigantoj kaj x86-aplikoj sur ARM-sistemoj ankaŭ estis solvitaj. Inter la ceteraj taskoj, kiuj estas planitaj por esti solvitaj en postaj eksperimentaj eldonoj de Wine 8.x, estas transiro de moduloj al la NT-sistemvoka interfaco anstataŭ fari rektajn vokojn inter la PE kaj Unikso-tavoloj.
    • Speciala sistema alvoko-manaĝero estis efektivigita, uzita por traduki vokojn de PE al Unikso-similaj bibliotekoj por redukti la ŝarĝon de efektivigado de plena NT sistemvoko. Ekzemple, la optimumigo ebligis redukti rendimentan degeneron dum uzado de la bibliotekoj OpenGL kaj Vulkan.
    • Winelib-aplikoj retenas la kapablon uzi miksitajn Vindozo/Uniksajn asembleojn de ELF (.dll.so) bibliotekoj, sed tiaj aplikoj sen 32-bitaj bibliotekoj ne apogos funkciecon haveblan per la NT-sistemvoka interfaco, kiel ekzemple WoW64.
  • WoW64
    • WoW64 (64-bit Windows-on-Windows) tavoloj estas disponigitaj por ĉiuj Unikso-bibliotekoj, permesante al 32-bitaj moduloj en PE-formato aliri 64-bitajn Unikso-bibliotekojn, kiuj, post forigo de rektaj PE/Uniksaj vokoj, faros ĝin. eblas ekzekuti 32-bitajn Vindozajn aplikaĵojn sen instali 32-bitajn Unix-bibliotekojn.
    • Manke de 32-bita Wine-ŝargilo, 32-bita aplikaĵoj povas funkcii en la nova eksperimenta Vindoza simila reĝimo WoW64, en kiu 32-bita kodo funkcias ene de 64-bita procezo. La reĝimo estas ebligita dum konstruado de Wine kun la opcio '—enable-archs'.
  • Subsistemo de grafikaĵoj
    • La defaŭlta agordo uzas la malpezan temon ("Lumo"). Vi povas ŝanĝi la temon uzante la ilon WineCfg.
      Stabila eldono de Wine 8.0
    • Grafikaj ŝoforoj (winex11.drv, winemac.drv, wineandroid.drv) estas konvertitaj por efektivigi sistemajn vokojn je la Unikso-nivelo kaj aliri la ŝoforojn per la Win32u-biblioteko.
      Stabila eldono de Wine 8.0
    • La arkitekturo de Print Processor estis efektivigita, kiu estas uzata por forigi rektajn vokojn inter la PE kaj Unikso-niveloj en la presila pelilo.
    • La Direct2D API nun subtenas efikojn.
    • La Direct2D API aldonis la kapablon registri kaj ludi komandlistojn.
    • La ŝoforo por la Vulkan-grafika API aldonis subtenon por la specifo Vulkan 1.3.237 (Vulkan 7 estis subtenata en Wine 1.2).
  • Rekta3D
    • Aldonita nova ombrila kompililo por la HLSL (Altnivela Shader Lingvo), efektivigita surbaze de la vkd3d-shader biblioteko. Ankaŭ surbaze de vkd3d-shader, HLSL-malmuntilo kaj HLSL-antaŭprocesoro estis preparitaj.
    • La Thread Pump-interfaco lanĉita en D3DX 10 estis efektivigita.
    • Direct3D 10-efikoj aldonas subtenon por multaj novaj esprimoj.
    • La subtena biblioteko por D3DX 9 nun subtenas Cubemap teksturprojekcion.
  • Sono kaj video
    • Surbaze de la kadro GStreamer, subteno por filtriloj por malkodi audio en MPEG-1-formato estis efektivigita.
    • Aldonita filtrilo por legi streaming audio kaj video en ASF (Advanced Systems Format) formato.
    • La meza biblioteko-tavolo OpenAL32.dll estis forigita, anstataŭ kiu la denaska Vindoza biblioteko OpenAL32.dll, provizita kun aplikaĵoj, nun estas uzata.
    • Media Foundation Player plibonigis enhavspecan detekton.
    • La kapablo kontroli la transigan indicon (Rate-kontrolo) estis efektivigita.
    • Plibonigita subteno por la defaŭlta miksilo kaj prezentisto en la Plibonigita Video Renderer (EVR).
    • Aldonita komenca efektivigo de Writer Encoding API.
    • Plibonigita topologia ŝarĝilo-subteno.
  • Enigaj aparatoj
    • Signife plibonigita subteno por varma ŝtopado de regiloj.
    • Plibonigita efektivigo de la kodo por determini ludajn stirilojn, konstruitan surbaze de la SDL-biblioteko, estas proponita.
    • Plibonigita subteno por la forto-realigo-efiko dum uzado de videoludaj radoj.
    • Efektivigis la kapablon kontroli maldekstrajn kaj dekstrajn vibrajn motorojn uzante la HID Haptic-specifon.
    • Ŝanĝis la dezajnon de la stirstanga kontrolpanelo.
    • Subteno por Sony DualShock kaj DualSense regiloj estas provizita per la uzo de la hidraw backend.
    • La WinRT-modulo Windows.Gaming.Input estas proponita kun la efektivigo de programara interfaco por aliri ludpadojn, stirstangojn kaj videoludajn radojn. Por la nova API, interalie, subteno por sciigo pri varma ŝtopado de aparatoj, tuŝaj kaj vibraj efikoj estas efektivigita.
  • Internaciigo
    • Generacio de la ĝusta loka datumbazo en la formato locale.nls el la Unikoda CLDR (Unikodo Common Locale Data Repository) estas certigita.
    • Unikodaj kordaj komparfunkcioj estis proponitaj por uzi la datumbazon kaj Windows Sortkey-algoritmon anstataŭe de la Unikodo-Koligado-algoritmo, alportante konduton pli proksime al Vindozo.
    • Plej multaj funkcioj aldonis subtenon por supraj Unikodaj kodaj gamoj (aviadiloj).
    • Eblas uzi UTF-8 kiel ANSI-kodigon.
    • Karaktero-tabeloj estis ĝisdatigitaj al la Unikodo 15.0.0-specifo.
  • Teksto kaj tiparoj
    • Tiparalligo estis ebligita por la plej multaj sistemaj tiparoj, solvante la problemon de mankantaj glifoj en sistemoj kun ĉinaj, koreaj kaj japanaj lokoj.
    • Reverkita rezervtiparo en DirectWrite.
  • Kerno (Windows Kernel Interfacoj)
    • La datumbazo ApiSetSchema estis efektivigita, kiu anstataŭigis la api-ms-*-modulojn kaj reduktis diskon kaj adresspacon.
    • DOS-dosieraj atributoj estas konservitaj sur disko en Samba-kongrua formato uzante plilongigitajn FS-atributojn.
  • Retaj ecoj
    • Aldonita subteno por la OCSP (Enreta Certificate Status Protocol), uzata por kontroli revokitajn atestojn.
    • La gamo de EcmaScript-funkcioj disponeblaj en la reĝimo de konformeco de la normoj de JavaScript estis pligrandigita.
    • Efektivigis rubkolektilon por JavaScript.
    • La Gecko-motorpakaĵo inkluzivas funkciojn por homoj kun handikapoj.
    • MSHTML aldonas subtenon por la Web Storage API, la Performance-objekto, kaj kromajn objektojn por okazaĵtraktado.
  • Enkonstruitaj Aplikoj
    • Ĉiuj enkonstruitaj aplikaĵoj estis konvertitaj por uzi la bibliotekon Common Controls 6, kun subteno por dezajnaj temoj kaj bildigo konsiderante ekranojn kun alta piksela denseco.
    • Plibonigitaj kapabloj por sencimigi fadenojn en la Wine Debugger (winedbg).
    • La registroj (REGEDIT kaj REG) nun subtenas la QWORD-tipo.
    • Notepad aldonis statusbreton kun informoj pri la kursora pozicio kaj funkcio Goto Line por iri al specifita linionumero
    • La enkonstruita konzolo disponigas datuman eligon en la OEM-kodpaĝo.
    • La komando "demando" estis aldonita al la ilo sc.exe (Serva Kontrolo).
  • Munta sistemo
    • La kapablo konstrui ruleblajn dosierojn en PE-formato por pluraj arkitekturoj estis disponigita (ekzemple, '—enable-archs=i386,x86_64').
    • Sur ĉiuj platformoj kun la 32-bita longa tipo, datumtipoj difinitaj kiel longaj en Vindozo nun estas redifinitaj kiel 'long' anstataŭ 'int' en Wine. En Winelib, ĉi tiu konduto povas esti malŝaltita per la difino WINE_NO_LONG_TYPES.
    • Aldonis la kapablon generi bibliotekojn sen uzi dlltool (ebligita per agordo de la opcio '—without-dlltool' en winebuild).
    • Por plibonigi la efikecon de ŝarĝo kaj redukti la grandecon de senkodaj, nur-resursaj bibliotekoj, winegcc efektivigas la opcion '--data-only'.
  • Разное
    • Ĝisdatigitaj versioj de enkonstruitaj bibliotekoj Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXml1.1.37 1.2.13, LibXslt XNUMX,.XNUMX.
    • La Wine Mono-motoro kun .NET platformefektivigo estis ĝisdatigita por liberigi 7.4.
    • Subteno por ĉifrado bazita sur la RSA-algoritmo kaj RSA-PSS ciferecaj subskriboj estis efektivigita.
    • Aldonita komenca versio de UI Automation API.
    • La fontarbo inkluzivas la LDAP kaj vkd3d-bibliotekojn, kiuj estas kompilitaj en PE-formato, forigante la bezonon provizi Uniksajn asembleojn de ĉi tiuj bibliotekoj.
    • La OpenAL-biblioteko estis nuligita.

fonto: opennet.ru

Aldoni komenton