Utoaji thabiti wa Mvinyo 5.0

Baada ya mwaka wa maendeleo na matoleo 28 ya majaribio imewasilishwa kutolewa thabiti kwa utekelezaji wazi wa Win32 API - Mvinyo 5.0, ambayo ilijumuisha zaidi ya mabadiliko 7400. Mafanikio muhimu ya toleo jipya ni pamoja na uwasilishaji wa moduli za Mvinyo zilizojengwa ndani katika umbizo la PE, usaidizi wa usanidi wa vidhibiti vingi, utekelezaji mpya wa API ya sauti ya XAudio2 na usaidizi wa API ya michoro ya Vulkan 1.1.

Katika Mvinyo imethibitishwa uendeshaji kamili wa programu 4869 (mwaka mmoja uliopita 4737) kwa Windows, programu nyingine 4136 (mwaka mmoja uliopita 4045) hufanya kazi kikamilifu na mipangilio ya ziada na DLL za nje. Programu 3635 zina masuala madogo ya utendaji ambayo hayaingiliani na matumizi ya vipengele vya msingi vya programu.

Ufunguo ubunifu Mvinyo 5.0:

  • Moduli katika umbizo la PE
    • Kwa kikusanya MinGW, moduli nyingi za Mvinyo sasa zimejengwa katika umbizo la faili linaloweza kutekelezeka la PE (Portable Executable, linalotumika kwenye Windows) badala ya ELF. Matumizi ya PE hutatua matatizo kwa kuunga mkono mipango mbalimbali ya ulinzi wa nakala ambayo inathibitisha utambulisho wa moduli za mfumo kwenye diski na katika kumbukumbu;
    • Vitekelezo vya PE sasa vinanakiliwa kwenye saraka ya ~/.wine ($WINEPREFIX) badala ya kutumia faili dummy za DLL, na kufanya vitu vifanane zaidi na usakinishaji halisi wa Windows, kwa gharama ya kutumia nafasi ya ziada ya diski;
    • Moduli zilizobadilishwa hadi umbizo la PE zinaweza kutumia kawaida char C kazi na constants na Unicode (kwa mfano, L"abc");
    • Muda wa matumizi wa Wine C umeongeza usaidizi wa kuunganisha na jozi zilizojengwa katika MinGW, ambayo hutumiwa kwa chaguo-msingi badala ya wakati wa kukimbia wa MinGW wakati wa kuunda DLL;
  • Mfumo mdogo wa michoro
    • Msaada ulioongezwa wa kufanya kazi na wachunguzi wengi na adapta za michoro, pamoja na uwezo wa kubadilisha mipangilio kwa nguvu;
    • Kiendeshi cha API ya michoro ya Vulkan kimesasishwa ili kuzingatia vipimo vya Vulkan 1.1.126;
    • Maktaba ya WindowsCodecs hutoa uwezo wa kubadilisha miundo ya ziada ya raster, ikiwa ni pamoja na fomati zilizo na palette ya indexed;
  • Direct3D
    • Wakati wa kuendesha programu za Direct3D za skrini nzima, simu ya kiokoa skrini imezuiwa;
    • DXGI (DirectX Graphics Infrastructure) imeongeza usaidizi wa kufahamisha programu wakati dirisha lake linapunguzwa, ambayo inaruhusu programu kupunguza utendakazi wa shughuli zinazotumia rasilimali nyingi wakati wa kupunguza dirisha;
    • Kwa programu zinazotumia DXGI, sasa inawezekana kubadili kati ya hali ya skrini nzima na dirisha kwa kutumia mchanganyiko wa Alt+Enter;
    • Uwezo wa utekelezaji wa Direct3D 12 umepanuliwa, kwa mfano, sasa kuna usaidizi wa kubadili kati ya hali ya skrini nzima na madirisha, kubadilisha modi za skrini, kuongeza pato na kudhibiti muda wa uwekaji wa bafa (muda wa kubadilishana);
    • Utunzaji ulioboreshwa wa hali mbalimbali za mipaka, kama vile kutumia thamani za pembejeo za nje ya anuwai kwa majaribio ya uwazi na kina, uwasilishaji na maumbo na bafa zilizoakisiwa, na kutumia vitu visivyo sahihi vya DirectDraw. clippers, kuunda vifaa vya Direct3 kwa madirisha yasiyo sahihi, kwa kutumia maeneo yanayoonekana ambayo maadili ya chini ya parameta ni sawa na kiwango cha juu, nk.
    • Direct3D 8 na 9 hutoa ufuatiliaji sahihi zaidi "chafu»maeneo ya textures kubeba;
    • Ukubwa wa nafasi ya anwani inayohitajika wakati wa kupakia maandishi ya 3D yaliyobanwa kwa kutumia mbinu ya S3TC imepunguzwa (badala ya kupakia kabisa, maumbo yanapakiwa katika vipande).
    • Kiolesura kimetekelezwa ID3D11Multithread kulinda sehemu muhimu katika matumizi ya nyuzi nyingi;
    • Maboresho na marekebisho mbalimbali yanayohusiana na mahesabu ya taa yamefanywa kwa programu za zamani za DirectDraw;
    • Imetekeleza simu za ziada ili kupata maelezo kuhusu vivuli kwenye API Tafakari ya Shader;
    • wined3d sasa inasaidia blitter CPU-msingi kwa ajili ya usindikaji rasilimali USITUMIE;
    • Hifadhidata ya kadi za michoro inayotambuliwa katika Direct3D imepanuliwa;
    • Aliongeza funguo mpya za usajili HKEY_CURRENT_USER\Software\Wine\Direct3D: "shader_backend" (nyuma ya kufanya kazi na vivuli: "glsl" kwa GLSL, "arb" kwa ARB vertex/fragment na "hakuna" kuzima msaada wa shader), "strict_shader_math" ( 0x1 - wezesha, 0x0 - zima ubadilishaji wa shader ya Direct3D). Iliacha kutumia kitufe cha "UseGLSL" (inapaswa kutumia "shader_backend");
  • D3DX
    • Usaidizi wa utaratibu wa ukandamizaji wa muundo wa 3D wa S3TC (Mfinyazo wa Umbile wa S3) umetekelezwa;
    • Imeongeza utekelezaji sahihi wa shughuli kama vile kujaza unamu na nyuso zisizoweza kupangwa;
    • Maboresho na marekebisho mbalimbali yamefanywa kwa mfumo wa uundaji athari za kuona;
  • Kernel (Violesura vya Windows Kernel)
    • Kazi nyingi zinazotumiwa katika Kernel32 zimehamishwa hadi
      KernelBase, kufuatia mabadiliko katika usanifu wa Windows;

    • Uwezo wa kuchanganya DLL 32- na 64-bit katika saraka zinazotumiwa kupakia. Inahakikisha kwamba maktaba ambazo hazilingani na kina cha sasa kidogo hazizingatiwi (32/64), ikiwa zaidi kwenye njia inawezekana kupata maktaba ambayo ni sahihi kwa kina kidogo cha sasa;
    • Kwa viendeshi vya kifaa, uigaji wa vitu vya kernel umeboreshwa;
    • Vitu vya ulandanishi vilivyotekelezwa vinavyofanya kazi katika kiwango cha kernel, kama vile kufuli za kuzunguka, vibubu vya haraka na viambatisho vilivyoambatishwa kwenye rasilimali;
    • Inahakikisha kwamba programu zimefahamishwa kwa usahihi kuhusu hali ya betri;
  • Kiolesura cha Mtumiaji na Muunganisho wa Eneo-kazi
    • Dirisha zilizopunguzwa sasa zinaonyeshwa kwa kutumia upau wa kichwa badala ya ikoni ya mtindo wa Windows 3.1;
    • Imeongeza mitindo mipya ya vitufe Kitufe cha Split (kifungo na orodha ya kushuka ya vitendo) na Viungo vya Amri (viungo katika visanduku vya mazungumzo vinatumika kuhamia hatua inayofuata);
    • Viungo vya ishara vimeundwa kwa ajili ya folda za ‘Vipakuliwa’ na ‘Violezo’, vikielekeza kwenye saraka zinazolingana kwenye mifumo ya Unix;
  • Vifaa vya kuingiza
    • Wakati wa kuwasha, viendeshi muhimu vya kifaa cha Plug & Play husakinishwa na kupakiwa;
    • Usaidizi ulioboreshwa kwa vidhibiti vya mchezo, ikijumuisha mini-joystick (swichi ya kofia), usukani, kanyagio za gesi na breki.
    • Usaidizi wa API ya zamani ya vijiti vya kuchezea ya Linux iliyotumiwa katika kokwa za Linux kabla ya toleo la 2.2 umekatishwa;
  • . NET
    • Injini ya Mono imesasishwa ili kutoa 4.9.4 na sasa inajumuisha sehemu za mfumo wa Windows Presentation Foundation (WPF);
    • Imeongeza uwezo wa kusakinisha programu jalizi na Mono na Gecko katika saraka moja ya kawaida, kuweka faili katika /usr/share/wine uongozi badala ya kunakili kwa viambishi awali vipya;
  • Vipengele vya mitandao
    • Injini ya kivinjari ya Wine Gecko, ambayo inatumika katika maktaba ya MSHTML, imesasishwa ili kutolewa 2.47.1. Usaidizi wa API mpya za HTML umetekelezwa;
    • MSHTML sasa inasaidia vipengele vya SVG;
    • Imeongeza vitendakazi vingi vipya vya VBScript (kwa mfano, vidhibiti vya hitilafu na ubaguzi, Saa, Siku, Mwezi, Kamba, LBound, RegExp.Replace, РScriptTypeInfo_* na ScriptTypeComp_Bind* kazi, n.k.);
    • Zinazotolewa uhifadhi wa hali ya kanuni katika VBScript na JScript (script kuendelea);
    • Imeongeza utekelezaji wa awali wa huduma ya HTTP (WinHTTP) na API husika (HTTPAPI) kwa programu za mteja na seva zinazotuma na kupokea maombi kwa kutumia itifaki ya HTTP;
    • Imetekelezwa uwezo wa kupata mipangilio ya seva mbadala ya HTTP kupitia DHCP;
    • Usaidizi ulioongezwa wa kuelekeza upya maombi ya uthibitishaji kupitia huduma ya Pasipoti ya Microsoft;
  • Crystalgraphy
    • Usaidizi uliotekelezwa kwa funguo za kriptografia za curve elliptic (ECC) wakati wa kutumia GnuTLS;
    • Imeongeza uwezo wa kuleta funguo na vyeti kutoka kwa faili katika umbizo la PFX;
    • Usaidizi ulioongezwa kwa mpango muhimu wa kizazi kulingana na nenosiri la PBKDF2;
  • Maandishi na fonti
    • Utekelezaji wa DirectWrite API umeongeza usaidizi kwa vipengele vya OpenType vinavyohusiana na nafasi ya glyph, ambazo zimewezeshwa kwa chaguo-msingi kwa mtindo wa Kilatini, ikiwa ni pamoja na kerning;
    • Usalama ulioimarishwa wa kuchakata data ya fonti kwa kuangalia usahihi wa jedwali mbalimbali za data kabla ya kuzitumia;
    • Violesura vya DirectWrite vimeletwa katika mstari na SDK ya hivi punde;
  • Sauti na video
    • Utekelezaji mpya wa API ya sauti umependekezwa XAudio2, iliyojengwa kwa misingi ya mradi huo Faudio. Kutumia FAudio katika Mvinyo hukuwezesha kufikia ubora wa juu wa sauti katika michezo na kutumia vipengele kama vile kuchanganya sauti na madoido ya hali ya juu ya sauti;
    • Idadi kubwa ya simu mpya zimeongezwa kwenye utekelezaji wa mfumo wa Media Foundation, ikijumuisha usaidizi wa foleni zilizojengewa ndani na maalum, API ya Kisomaji Chanzo, Kipindi cha Media, n.k.
    • Kichujio cha kunasa video kimebadilishwa hadi kwa kutumia API ya v4l2 badala ya API ya v4l1, ambayo imepanua anuwai ya kamera zinazotumika;
    • Visimbuaji vilivyojengwa vya AVI, MPEG-I na WAVE vimeondolewa, badala yake mfumo wa GStreamer au QuickTime sasa unatumika;
    • Imeongeza kikundi kidogo cha API za usanidi wa VMR7;
    • Msaada ulioongezwa wa kurekebisha kiasi cha njia za mtu binafsi kwa viendesha sauti;
  • Utandawazi
    • Jedwali za Unicode zilizosasishwa hadi toleo la 12.1.0;
    • Msaada uliotekelezwa kwa urekebishaji wa Unicode;
    • Imetolewa usakinishaji wa kiotomatiki wa eneo la kijiografia (HKEY_CURRENT_USER\Jopo la Kudhibiti\International\Geo) kulingana na eneo la sasa;
  • RPC/COM
    • Usaidizi ulioongezwa kwa miundo changamano na safu kwa typelib;
    • Aliongeza utekelezaji wa awali wa maktaba ya Windows Script runtime;
    • Kuongeza utekelezaji wa awali wa maktaba ya ADO (Microsoft ActiveX Data Objects);
  • Wasakinishaji
    • Msaada wa utoaji wa viraka (Patch Files) umetekelezwa kwa kisakinishi cha MSI;
    • Huduma ya WUSA (Windows Update Standalone Installer) sasa ina uwezo wa kusakinisha masasisho katika umbizo la .MSU;
  • Jukwaa la ARM
    • Kwa usanifu wa ARM64, usaidizi wa kufuta rafu umeongezwa kwa ntdll. Msaada ulioongezwa wa kuunganisha maktaba za libunwind za nje;
    • Kwa usanifu wa ARM64, usaidizi wa proksi zisizo imefumwa umetekelezwa kwa violesura vya vitu;
  • Zana za Maendeleo / Winelib
    • Imeongeza uwezo wa kutumia kitatuzi kutoka Visual Studio kutatua kwa mbali programu zinazoendeshwa kwenye Mvinyo;
    • Maktaba ya DBGENG (Debug Engine) imetekelezwa kwa sehemu;
    • Binaries zilizokusanywa kwa Windows hazitegemei tena libwine, na kuziruhusu kuendesha kwenye Windows bila tegemezi za ziada;
    • Chaguo la '--sysroot' limeongezwa kwa Kikusanya Rasilimali na Kikusanyaji cha IDL ili kubaini njia ya faili za vichwa;
    • Chaguo zilizoongezwa '-lengo', '-wine-objdir', '-wine-objdir' kwa winegcc
      ‘—winebuild’ na ‘-fuse-ld’, ambayo hurahisisha kuweka mazingira kwa ajili ya mkusanyo mtambuka;

  • Programu Zilizopachikwa
    • Imetekeleza matumizi ya CHCP ili kusanidi usimbaji wa kiweko;
    • Huduma ya MSIDB ya kuchezea hifadhidata katika umbizo la MSI imetekelezwa;
  • Kuongeza utendaji
    • Vitendo mbalimbali vya kuweka muda vimehamishwa ili kutumia vitendakazi vya kipima muda vya mfumo wa utendakazi wa juu, na hivyo kupunguza uendeshaji katika mzunguko wa uonyeshaji wa michezo mingi;
    • Imeongeza uwezo wa kutumia Ext4 katika FS utawala kazi bila unyeti wa kesi;
    • Utendaji wa kuchakata idadi kubwa ya vipengele katika vidadisi vya onyesho la orodha vinavyofanya kazi katika modi ya LBS_NODATA umeboreshwa;
    • Imeongeza utekelezaji wa haraka wa kufuli za SRW (Slim Reader/Writer) kwa ajili ya Linux, iliyotafsiriwa kwa Futex;
  • Vitegemezi vya nje
    • Ili kukusanya moduli katika muundo wa PE, mkusanyaji wa msalaba wa MinGW-w64 hutumiwa;
    • Utekelezaji wa XAudio2 unahitaji maktaba ya FAudio;
    • Kufuatilia mabadiliko ya faili kwenye mifumo ya BSD
      maktaba ya Inotify inatumika;

    • Ili kushughulikia vighairi kwenye jukwaa la ARM64, maktaba ya Unwind inahitajika;
    • Badala ya Video4Linux1, maktaba ya Video4Linux2 sasa inahitajika.

Chanzo: opennet.ru

Kuongeza maoni