Rhyddhad sefydlog o Wine 5.0

Ar ôl blwyddyn o ddatblygiad a 28 fersiwn arbrofol wedi'i gyflwyno datganiad sefydlog o weithrediad agored yr API Win32 - Gwin 5.0, a oedd yn cynnwys mwy na 7400 o newidiadau. Mae cyflawniadau allweddol y fersiwn newydd yn cynnwys cyflwyno modiwlau Gwin adeiledig mewn fformat AG, cefnogaeth ar gyfer ffurfweddau aml-fonitro, gweithrediad newydd o'r API sain XAudio2 a chefnogaeth ar gyfer API graffeg Vulkan 1.1.

Mewn Gwin wedi'i gadarnhau gweithrediad llawn 4869 (blwyddyn yn ôl 4737) o raglenni ar gyfer Windows, mae 4136 arall (blwyddyn yn ôl 4045) yn gweithio'n berffaith gyda gosodiadau ychwanegol a DLLs allanol. Mae gan 3635 o raglenni fân faterion perfformiad nad ydynt yn ymyrryd â'r defnydd o swyddogaethau cymhwysiad sylfaenol.

Allwedd arloesiadau Gwin 5.0:

  • Modiwlau mewn fformat Addysg Gorfforol
    • Gyda'r casglwr MinGW, mae'r rhan fwyaf o fodiwlau Gwin bellach wedi'u hadeiladu yn y fformat ffeil gweithredadwy PE (Portable Executable, a ddefnyddir ar Windows) yn lle ELF. Mae'r defnydd o AG yn datrys problemau gyda chefnogi amrywiol gynlluniau amddiffyn copi sy'n gwirio hunaniaeth modiwlau system ar ddisg ac yn y cof;
    • Mae executables PE bellach yn cael eu copïo i'r cyfeiriadur ~/.wine ($ WINEPREFIX) yn lle defnyddio ffeiliau DLL ffug, gan wneud y pethau'n debycach i osodiadau Windows go iawn, ar gost defnyddio gofod disg ychwanegol;
    • Gall modiwlau sydd wedi'u trosi i fformat Addysg Gorfforol ddefnyddio safonol wchar Swyddogaethau C a chysonion ag Unicode (er enghraifft, L"abc");
    • Mae amser rhedeg Wine C wedi ychwanegu cefnogaeth ar gyfer cysylltu â binaries a adeiladwyd yn MinGW, a ddefnyddir yn ddiofyn yn lle amser rhedeg MinGW wrth adeiladu DLLs;
  • Is-system graffeg
    • Cefnogaeth ychwanegol ar gyfer gweithio gyda monitorau lluosog ac addaswyr graffeg, gan gynnwys y gallu i newid gosodiadau yn ddeinamig;
    • Mae'r gyrrwr ar gyfer API graffeg Vulkan wedi'i ddiweddaru i gydymffurfio â manyleb Vulkan 1.1.126;
    • Mae llyfrgell WindowsCodecs yn darparu'r gallu i drosi fformatau raster ychwanegol, gan gynnwys fformatau gyda phalet wedi'i fynegeio;
  • Direct3D
    • Wrth redeg cymwysiadau Direct3D sgrin lawn, mae'r alwad arbedwr sgrin wedi'i rhwystro;
    • Mae DXGI (DirectX Graphics Infrastructure) wedi ychwanegu cefnogaeth ar gyfer hysbysu cais pan fydd ei ffenestr yn cael ei lleihau, sy'n caniatáu i'r cais leihau perfformiad gweithrediadau sy'n defnyddio llawer o adnoddau wrth leihau'r ffenestr;
    • Ar gyfer cymwysiadau sy'n defnyddio DXGI, mae bellach yn bosibl newid rhwng modd sgrin lawn a modd ffenestr gan ddefnyddio'r cyfuniad Alt+Enter;
    • Mae galluoedd gweithredu Direct3D 12 wedi'u hehangu, er enghraifft, mae cefnogaeth bellach i newid rhwng moddau sgrin lawn a ffenestr, newid moddau sgrin, graddio allbwn a rheoli'r cyfwng byffer rendro (cyfwng cyfnewid);
    • Gwell ymdriniaeth o sefyllfaoedd ffiniol amrywiol, megis defnyddio gwerthoedd mewnbwn y tu allan i'r ystod ar gyfer profion tryloywder a dyfnder, rendro â gweadau a byfferau wedi'u hadlewyrchu, a defnyddio gwrthrychau DirectDraw anghywir clipper, creu dyfeisiau Direct3 ar gyfer ffenestri anghywir, gan ddefnyddio ardaloedd gweladwy y mae eu gwerthoedd paramedr lleiaf yn hafal i'r uchafswm, ac ati.
    • Mae Direct3D 8 a 9 yn darparu tracio mwy cywir"brwnt» ardaloedd o weadau llwythog;
    • Mae maint y gofod cyfeiriad gofynnol wrth lwytho gweadau 3D wedi'u cywasgu gan ddefnyddio'r dull S3TC wedi'i leihau (yn lle llwytho'n gyfan gwbl, mae gweadau'n cael eu llwytho mewn talpiau).
    • Rhyngwyneb wedi'i weithredu ID3D11 Aml-ddarllen i ddiogelu adrannau critigol mewn cymwysiadau aml-edau;
    • Mae gwelliannau ac atebion amrywiol yn ymwneud â chyfrifiadau goleuo wedi'u gwneud ar gyfer cymwysiadau DirectDraw hŷn;
    • Wedi gweithredu galwadau ychwanegol i gael gwybodaeth am arlliwwyr yn yr API Myfyrdod Cysgodol;
    • Mae wined3d bellach yn cefnogi gwridog Seiliedig ar CPU ar gyfer prosesu adnoddau cywasgedig;
    • Mae'r gronfa ddata o gardiau graffeg a gydnabyddir yn Direct3D wedi'i ehangu;
    • Ychwanegwyd allweddi cofrestrfa newydd HKEY_CURRENT_USER\Software\Wine\Direct3D: “shader_backend” (backend ar gyfer gweithio gyda shaders: “glsl” ar gyfer GLSL, “arb” ar gyfer fertig / darn ARB a “dim” i analluogi cefnogaeth lliwiwr), “strict_shader_math” ( 0x1 - galluogi, 0x0 - analluogi trosi arlliwiwr Direct3D). Wedi anghymeradwyo'r allwedd "UseGLSL" (dylai defnyddio "shader_backend");
  • D3DX
    • Mae cefnogaeth ar gyfer y mecanwaith cywasgu gwead 3D S3TC (S3 Cywasgiad Gwead) wedi'i weithredu;
    • Ychwanegwyd gweithrediadau cywir fel llenwi gwead ac arwynebau na ellir eu mapio;
    • Mae gwelliannau ac atebion amrywiol wedi'u gwneud i'r fframwaith creu effeithiau gweledol;
  • Cnewyllyn (Rhyngwynebau Cnewyllyn Windows)
    • Mae'r rhan fwyaf o'r swyddogaethau a ddefnyddir yn Kernel32 wedi'u symud i
      KernelBase, yn dilyn newidiadau ym mhensaernïaeth Windows;

    • Y gallu i gymysgu DLLs 32- a 64-bit mewn cyfeirlyfrau a ddefnyddir ar gyfer llwytho. Yn sicrhau bod llyfrgelloedd nad ydynt yn cyd-fynd â dyfnder y didau cyfredol yn cael eu hanwybyddu (32/64), rhag ofn y bydd yn bosibl dod o hyd i lyfrgell ymhellach ar hyd y llwybr sy'n gywir ar gyfer dyfnder y didau presennol;
    • Ar gyfer gyrwyr dyfeisiau, mae efelychu gwrthrychau cnewyllyn wedi'i wella;
    • Gwrthrychau cydamseru wedi'u gweithredu sy'n gweithio ar lefel y cnewyllyn, fel cloeon troelli, mutecsau cyflym a newidynnau sydd ynghlwm wrth adnodd;
    • Yn sicrhau bod cymwysiadau'n cael eu hysbysu'n gywir am statws y batri;
  • Rhyngwyneb Defnyddiwr ac Integreiddio Penbwrdd
    • Mae ffenestri lleiaf bellach yn cael eu harddangos gan ddefnyddio bar teitl yn hytrach nag eicon arddull Windows 3.1;
    • Ychwanegwyd arddulliau botwm newydd HolltiButton (botwm gyda gwymplen o gamau gweithredu) a Dolenni Gorchymyn (defnyddir dolenni mewn blychau deialog i symud i'r cam nesaf);
    • Mae dolenni symbolaidd wedi’u creu ar gyfer y ffolderi ‘Lawrlwythiadau’ a ‘Templates’, gan bwyntio at y cyfeiriaduron cyfatebol ar systemau Unix;
  • Dyfeisiau mewnbwn
    • Wrth gychwyn, mae'r gyrwyr dyfais Plug & Play angenrheidiol yn cael eu gosod a'u llwytho;
    • Gwell cefnogaeth i reolwyr gêm, gan gynnwys ffon reoli fach (switsh het), olwyn lywio, pedalau nwy a brêc.
    • Mae cefnogaeth i'r hen API ffon reoli Linux a ddefnyddiwyd mewn cnewyllyn Linux cyn fersiwn 2.2 wedi dod i ben;
  • . NET
    • Mae'r injan Mono wedi'i diweddaru i ryddhau 4.9.4 ac mae bellach yn cynnwys rhannau o fframwaith Windows Presentation Foundation (WPF);
    • Ychwanegwyd y gallu i osod ychwanegion gyda Mono a Gecko mewn un cyfeiriadur cyffredin, gan osod ffeiliau yn yr hierarchaeth / usr/share/win yn lle eu copïo i ragddodiaid newydd;
  • Nodweddion rhwydweithio
    • Mae peiriant porwr Wine Gecko, a ddefnyddir yn y llyfrgell MSHTML, wedi'i ddiweddaru i ryddhau 2.47.1. Mae cefnogaeth ar gyfer APIs HTML newydd wedi'i roi ar waith;
    • Mae MSHTML bellach yn cefnogi elfennau SVG;
    • Ychwanegwyd llawer o swyddogaethau VBScript newydd (er enghraifft, trinwyr gwallau ac eithriadau, swyddogaethau Awr, Dydd, Mis, Llinynnol, LBound, RegExp.Replace, РScriptTypeInfo_* a ScriptTypeComp_Bind*, ac ati);
    • Wedi darparu cadw cyflwr cod yn VBScript a JScript (dyfalbarhad sgript);
    • Ychwanegwyd gweithrediad cychwynnol y gwasanaeth HTTP (WinHTTP) a'r API cysylltiedig (HTTPAPI) ar gyfer cymwysiadau cleient a gweinydd sy'n anfon ac yn derbyn ceisiadau gan ddefnyddio'r protocol HTTP;
    • Wedi gweithredu'r gallu i gael gosodiadau dirprwy HTTP trwy DHCP;
    • Cefnogaeth ychwanegol ar gyfer ailgyfeirio ceisiadau dilysu trwy wasanaeth Pasbort Microsoft;
  • Cryptograffeg
    • Wedi gweithredu cefnogaeth ar gyfer allweddi cryptograffig cromlin eliptig (ECC) wrth ddefnyddio GnuTLS;
    • Ychwanegwyd y gallu i fewnforio allweddi a thystysgrifau o ffeiliau mewn fformat PFX;
    • Cefnogaeth ychwanegol i'r cynllun cynhyrchu allweddol yn seiliedig ar y cyfrinair PBKDF2;
  • Testun a ffontiau
    • Mae gweithrediad API DirectWrite wedi ychwanegu cefnogaeth ar gyfer nodweddion OpenType sy'n gysylltiedig â lleoli glyff, sy'n cael eu galluogi yn ddiofyn ar gyfer yr arddull Lladin, gan gynnwys cnewyllyn;
    • Gwell diogelwch ar gyfer prosesu data ffont trwy wirio cywirdeb tablau data amrywiol cyn eu defnyddio;
    • Mae rhyngwynebau DirectWrite wedi'u cysoni â'r SDK diweddaraf;
  • Sain a fideo
    • Mae gweithrediad newydd o'r API sain wedi'i gynnig XAwdio2, a adeiladwyd ar sail y prosiect FAudio. Mae defnyddio FAudio in Wine yn caniatáu ichi gyflawni ansawdd sain uwch mewn gemau a defnyddio nodweddion fel cymysgu cyfaint ac effeithiau sain uwch;
    • Mae nifer fawr o alwadau newydd wedi'u hychwanegu at weithrediad y fframwaith Media Foundation, gan gynnwys cefnogaeth ar gyfer ciwiau asyncronaidd adeiledig ac arfer, API Darllenydd Ffynhonnell, Sesiwn Cyfryngau, ac ati.
    • Mae'r hidlydd dal fideo wedi'i newid i ddefnyddio'r API v4l2 yn lle'r API v4l1, sydd wedi ehangu'r ystod o gamerâu â chymorth;
    • Mae'r datgodyddion AVI, MPEG-I a WAVE sydd wedi'u hadeiladu i mewn wedi'u dileu, ac yn lle hynny mae'r system GStreamer neu QuickTime bellach yn cael eu defnyddio;
    • Ychwanegwyd is-set o API ffurfweddiad VMR7;
    • Cefnogaeth ychwanegol ar gyfer addasu cyfaint y sianeli unigol i yrwyr sain;
  • Rhyngwladoli
    • Tablau Unicode wedi'u diweddaru i fersiwn 12.1.0;
    • Wedi gweithredu cefnogaeth ar gyfer normaleiddio Unicode;
    • Wedi darparu gosodiad awtomatig o'r rhanbarth daearyddol (HKEY_CURRENT_USER\Control Panel\International\Geo) yn seiliedig ar y locale cyfredol;
  • RPC/COM
    • Cefnogaeth ychwanegol ar gyfer strwythurau ac araeau cymhleth i typelib;
    • Ychwanegwyd gweithrediad cychwynnol llyfrgell amser rhedeg Windows Script;
    • Ychwanegwyd gweithrediad cychwynnol y llyfrgell ADO (Microsoft ActiveX Data Objects);
  • Gosodwyr
    • Mae cefnogaeth i ddosbarthu clytiau (Ffeiliau Clytiau) wedi'i rhoi ar waith ar gyfer y gosodwr MSI;
    • Mae cyfleustodau WUSA (Windows Update Standalone Installer) bellach yn gallu gosod diweddariadau mewn fformat .MSU;
  • Llwyfan ARM
    • Ar gyfer pensaernïaeth ARM64, mae cefnogaeth ar gyfer dad-ddirwyn stac wedi'i ychwanegu at ntdll. Cefnogaeth ychwanegol ar gyfer cysylltu llyfrgelloedd libunwind allanol;
    • Ar gyfer pensaernïaeth ARM64, mae cymorth ar gyfer dirprwyon di-dor wedi'i roi ar waith ar gyfer rhyngwynebau gwrthrych;
  • Offer Datblygu / Winelib
    • Ychwanegwyd y gallu i ddefnyddio'r dadfygiwr o Visual Studio i gymwysiadau dadfygio o bell sy'n rhedeg yn Wine;
    • Mae'r llyfrgell DBGENG (Debug Engine) wedi'i gweithredu'n rhannol;
    • Nid yw deuaidd a luniwyd ar gyfer Windows bellach yn dibynnu ar libwine, gan ganiatáu iddynt redeg ar Windows heb ddibyniaethau ychwanegol;
    • Ychwanegwyd opsiwn '--sysroot' i Resource Compiler ac IDL Compiler i benderfynu ar y llwybr ar gyfer ffeiliau pennawd;
    • Ychwanegwyd opsiynau ‘—target’, ‘—wine-objdir’, ‘—wine-objdir’ at winegcc
      ‘—winbuild’ a ‘-fuse-ld’, sy’n symleiddio’r broses o sefydlu’r amgylchedd ar gyfer croes-grynhoi;

  • Cymwysiadau Gwreiddiol
    • Wedi gweithredu cyfleustodau CHCP i ffurfweddu amgodio consol;
    • Mae'r cyfleuster MSIDB ar gyfer trin cronfeydd data mewn fformat MSI wedi'i roi ar waith;
  • Optimeiddio perfformiad
    • Mae swyddogaethau amseru amrywiol wedi'u mudo i ddefnyddio swyddogaethau amserydd system perfformiad uchel, gan leihau gorbenion yn dolen rendrad llawer o gemau;
    • Ychwanegwyd y gallu i ddefnyddio Ext4 yn FS drefn gwaith heb sensitifrwydd achos;
    • Mae perfformiad prosesu nifer fawr o elfennau mewn deialogau arddangos rhestr sy'n gweithredu yn y modd LBS_NODATA wedi'i optimeiddio;
    • Ychwanegwyd gweithrediad cyflymach o gloeon SRW (Darllenydd/Ysgrifennwr Slim) ar gyfer Linux, wedi'i gyfieithu i Futex;
  • Dibyniaethau allanol
    • I gydosod modiwlau mewn fformat Addysg Gorfforol, defnyddir y traws-grynhoad MinGW-w64;
    • Mae gweithredu XAudio2 yn gofyn am lyfrgell FAudio;
    • I olrhain newidiadau ffeil ar systemau BSD
      defnyddir llyfrgell Inotify;

    • Er mwyn ymdrin ag eithriadau ar y platfform ARM64, mae angen y llyfrgell Unwind;
    • Yn lle Video4Linux1, mae angen llyfrgell Video4Linux2 bellach.

Ffynhonnell: opennet.ru

Ychwanegu sylw