Stabils Wine 5.0 izlaišanas variants

Pēc gada izstrādes un 28 eksperimentālām versijām tika prezentēts stabils atbrīvojums atvērtajai Win32 API īstenošanai — Wine 5.0, kas ietver vairāk nekā 7400 izmaiņas. No galvenajiem jaunās versijas sasniegumiem jāatzīmē iebūvēto Wine moduļu piegāde PE formātā, atbalsts vairāku monitoru konfigurācijām, jauna XAudio2 skaņas API īstenošana un atbalsts grafiskajam API Vulkan 1.1.

Wine apstiprināta pilnvērtīga 4869 (pērn 4737) Windows programmu darbība, vēl 4136 (pērn 4045) programmas lieliski darbojas ar papildu iestatījumiem un ārējām DLL. 3635 programmām novērojamas nelielas darbības problēmas, kas netraucē programmu pamata funkciju izmantošanai.

Galvenie jaunumi Wine 5.0:

  • Moduļi PE formātā
    • Izmantojot MinGW kompilatoru, lielākā daļa Wine moduļu tagad tiek izgūti PE (Portable Executable, izmanto Windows) izpildāmo failu formātā, nevis ELF. PE izmantošana atrisina problēmas ar dažādu aizsardzības mehānismu atbalstu, kas veic sistēmas moduļu identitātes pārbaudi diskā un atmiņā;
    • Izpildāmie PE faili tagad tiek kopēti katalogā ~/.wine ($WINEPREFIX) tā vietā, lai izmantotu viltotas DLL failus, padarot struktūru līdzīgāku reālām Windows instalācijām, par cenu papildu diskafeļa patēriņā;
    • Moduli, kas pārvērsti PE formātā, var izmantot oficiālas wchar C funkcijas un konstantas ar Unicode (piemēram, L"abc");
    • Wine C runtime pievienots atbalsts saistīšanai ar bināriem failiem, kas veidoti MinGW, kurš DLL būvniecē tiek izmantots pēc noklusējuma vietā MinGW runtime;
  • Grafiskā apakšsistēma
    • Pievienots atbalsts vairāku monitoru un grafisko adapteru izmantošanai, tostarp iespēja dinamiski mainīt iestatījumus;
    • Atjaunināts Vulkan grafiskā API draiveris, kas saskaņots ar Vulkan 1.1.126 specifikāciju;
    • WindowsCodecs bibliotēkā ieviesta iespēja konvertēt papildu rastra formātus, tostarp formātus ar indeksēto paleti;
  • Direct3D
    • Izpildot pilnekrāna Direct3D programmas, ir nodrošināta ekrāna aizsargkodas bloķēšana;
    • DXGI (DirectX Graphics Infrastructure) pievienots atbalsts informācijas sniegšanai lietotnei par tās loga minimizēšanu, kas ļauj lietotnei samazināt resursu patēriņa operācijas, kad logs ir samazināts;
    • Lietotnēm, kas izmanto DXGI, ir ieviesta iespēja pārslēgties starp pilnekrāna un loga režīmu, izmantojot kombināciju Alt+Enter;
    • Paplašinātas Direct3D 12 īstenošanas iespējas, piemēram, ir pievienota atbalsts pārslēgšanai starp pilnekrāna un loga režīmu, ekrāna režīmu maiņai, mērogošanai un attēlu buferu maiņas intervāla pārvaldībai;
    • Uzlabota dažādu robežsituāciju apstrāde, piemēram, iznākšana ārpus atļautajiem sākotnējo vērtību diapazoniem caurspīdīguma un dziļuma testiem, attēlošana ar atspoguļotām tekstūrām un buferiem, nepareizu DirectDraw objektu izmantošana clipper, Direct3 ierīču izveide nepareiziem logiem, redzamās zonas izmantošana, minimālās parametru vērtības, kuras ir vienādas ar maksimālajām, utt.
    • Direct3D 8 un 9 nodrošina precīzāku "netīrajām" iekrautāju tekstūru uzskaiti;
    • Samazināts nepieciešamais adreses telpas lielums 3D tekstūru ielādēšanai, kas saspiežamas ar S3TC metodi (txtūras tiek ielādētas gabalos, nevis pilnībā).
    • Ieviests interfeiss ID3D11Multithread kritisko sekciju aizsardzībai daudzvietu lietojumprogrammās;
    • Veciemos DirectDraw lietojumos ieviesti dažādi uzlabojumi un labojumi, kas saistīti ar apgaismojuma aprēķināšanu;
    • Ieviesti papildu izsaukumi, lai iegūtu informāciju par šēderiem API ShaderReflection;
    • wined3d pievienota atbalsts CPU bītam saspieda resursu apstrādei;
    • Paplašināta grafikas karšu datu bāze, kas tiek atpazīta Direct3D;
    • Pievienoti jauni reģistra atslēgas HKEY_CURRENT_USER\Software\Wine\Direct3D: "shader_backend" (bāzēne, lai strādātu ar šēderiem: "glsl" GLSL, "arb" ARB vertex/fragment un "none" šēderu atbalsta atslēgšanai), "strict_shader_math" (0x1 — ieslēgt, 0x0 — izslēgt Direct3D šēderu pārveidošanu). Atzīts par novecojušu atslēgu "UseGLSL" (jāizmanto "shader_backend");
  • D3DX
    • Ieviesta atbalsts 3D tekstūru saspiešanas mehānismam S3TC (S3 Texture Compression);
    • Pievienotas pareizas īstenojumi tādām operācijām kā tekstūras piepildīšana un neattēlojamas (unmappable) virsmas;
    • Veikti dažādi uzlabojumi un labojumi vizuālo efektu izveides ietvaram vizadošana;
  • Kodols (Windows kodola interfeisi).
    • Lielākā daļa funkciju, ko izmanto Kernel32, pārvietotas uz
      KernelBase, atbilstoši izmaiņām Windows arhitektūrā;
    • Iespēja sajaukt 32- un 64-bit DLL katalogos, kas tiek izmantoti ielādei. Nodrošināta bibliotēku ignorēšana, kas neatbilst pašreizējai bitu versijai (32/64), gadījumā, ja ceļā var atrast pareizo bibliotēku pašreizējai bitu versijai;
    • Uzlabota ierīču draiveru kodola objektu simulācija;
    • Realizēti kodola līmeņa sinhronizācijas objekti, piemēram, spin blokādes, ātrie mutexi un resursu piesaistītas mainīgās;
    • Nodrošināta pareiza informācija lietojumprogrammām par akumulatora stāvokli;
  • Lietotāja saskarne un integrācija ar darbvirsmu
    • Minimizētie logi tagad tiek rādīti ar virsrakstu, nevis 3.1 Windows stila ikonu;
    • Pievienoti jauni pogu stili SplitButton (poga ar izkrītošo darbību sarakstu) un Command Links (saites dialoglodziņos, kas tiek izmantotas, lai pārietu uz nākamo posmu);
    • Izveidotas simboliskās saites mapēm 'Downloads' un 'Templates', kas norāda uz attiecīgajiem katalogiem Unix sistēmās;
  • Input devices
    • Ieslēdzot, nodrošināta nepieciešamo Plug & Play ierīču draiveru uzstādīšana un ielāde;
    • Uzlabota spēļu kontrolieru atbalsts, tostarp mini joysticks (hat switch), stūre, pedāļi gāzei un bremzēm.
    • Pārtraukta vecā Linux API atbalsts, kas saistīts ar joysticks, izmantotām Linux kodolos līdz versijai 2.2;
  • .NET
    • Mono dzinējs atjaunināts līdz 4.9.4 izdevumam un tagad ietver Windows Presentation Foundation (WPF) daļas;
    • Pievienota iespēja uzstādīt papildinājumus ar Mono un Gecko vienā kopējā katalogā, izvietojot failus hierarchijā /usr/share/wine, nevis kopējot tos jaunajos prefiksos;
  • Tīkla iespējas.
    • Web pārlūkprogrammā izmantotā Wine Gecko dzinēja bibliotēka MSHTML atjaunināta līdz 2.47.1 izdevumam. Realizēta jauno HTML API atbalsts;
    • MSHTML atbalsta SVG elementus;
    • Pievienotas daudz jaunu VBScript funkciju (piemēram, kļūdu un izņēmumu apstrādātāji, funkcijas Hour, Day, Month, String, LBound, RegExp.Replace, RScriptTypeInfo_* un ScriptTypeComp_Bind* u.c.);
    • Tika nodrošināta koda stāvokļa saglabāšana VBScript un JScript (script persistence);
    • Pievienota sākotnējā HTTP pakalpojuma (WinHTTP) un ar to saistītā API (HTTPAPI) ieviešana klienta un servera lietojumprogrammām, kas nosūta un saņem pieprasījumus, izmantojot HTTP protokolu;
    • Realizēta iespēja iegūt HTTP starpniekservera iestatījumus caur DHCP;
    • Atbalsts autentifikācijas pieprasījumu pāradresēšanai caur Microsoft Passport pakalpojumu pievienots;
  • Kriptogrāfija
    • Realizēta ECC (elliiptisko līkņu) kriptogrāfisko atslēgu atbalsts, izmantojot GnuTLS;
    • PFX formāta failu importēšanas atbalsts ir pievienots atslēgām un sertifikātiem;
    • Pievienots atbalsts atslēgas ģenerēšanai, izmantojot PBKDF2 paroļu shēmu;
  • Teksts un fonti.
    • DirectWrite API izstrādē pievienots atbalsts OpenType funkcijām, kas saistītas ar glifus pozicionēšanu, kas ir ieslēgti pēc noklusējuma latīņu rakstam, tostarp kerningam;
    • Uzlabota fontu datu apstrādes drošība, pārbaudot dažādu datu tabulu korektumu pirms to izmantošanas;
    • DirectWrite saskarnes ir saskaņotas ar jaunāko SDK;
  • Skaņa un video
    • Ieteikta jauna skaņas API XAudio2, balstoties uz projektu FAudio. FAudio izmantošana Wine nodrošina augstāku skaņas kvalitāti spēlēs un ļauj izmantot tādas iespējas kā skaļuma miksēšana un uzlaboti skaņas efekti;
    • Pievienots liels skaits jaunu izsaukumu Media Foundation izstrādē, ieskaitot iebūvētās un pielāgotās asinhronās rindas, Source Reader API, Media Session utt.
    • Video ieraksta filtrs ir pārgājis uz v4l2 API izmantošanu, nevis v4l1 API, kas ļāvis paplašināt atbalstīto kameru diapazonu;
    • Iebūvētie AVI, MPEG-I un WAVE dekodētāji ir izņemti, un tagad tiek izmantoti sistēmas GStreamer vai QuickTime;
    • Pievienota VMR7 konfigurācijas API apakškopums;
    • Skaņas draiveros pievienots atbalsts atsevišķo kanālu skaļuma regulēšanai;
  • Internacionalizācija
    • Unicode tabulas atjauninātas uz versiju 12.1.0;
    • Ieviesta Unicode normalizācijas atbalsts;
    • Automātiski iestatīts ģeogrāfiskais reģions (HKEY_CURRENT_USER\Control Panel\International\Geo) atbilstoši pašreizējai lokalizācijai;
  • RPC/COM
    • Typelib pievienots atbalsts sarežģītām struktūrām un masīviem;
    • Pievienota sākotnējā Windows Script izpildes bibliotēkas īstenošana;
    • Pievienota sākotnējā ADO (Microsoft ActiveX Data Objects) bibliotēkas realizācija;
  • Uzstādītāji
    • MSI uzstādes programmatūra tagad atbalsta plākšņu (Patch Files) piegādi;
    • WUSA (Windows Update Standalone Installer) rīkā pievienota iespēja instalēt atjauninājumus .MSU formātā;
  • ARM platforma
    • ARM64 arhitektūrā ntdll pievienota steka atgriešanas (stack unwinding) atbalsts. Pievienots atbalsts ārējo bibliotēku libunwind pieslēgšanai;
    • ARM64 arhitektūrai pievienots atbalsts bezšuvju proksijām (stubless proxies) objektu interfeisiem;
  • Izstrādes rīki / Winelib
    • Pievienota iespēja izmantot Visual Studio debuggers attālinātai lietojumprogrammu debuggēšanai, kas darbojas Wine vidē;
    • DBGENG (Debug Engine) bibliotēka ir daļēji īstenota;
    • Windows izpildāmie faili vairs nav atkarīgi no libwine, kas ļauj tos izpildīt Windows bez papildu atkarībām;
    • Resource Compiler un IDL Compiler pievienota opcija ‘—sysroot’ galvene failu atrašanās vietas noteikšanai;
    • winegcc pievienotas opcijas ‘—target’, ‘—wine-objdir’,
      ‘—winebuild’ un ‘-fuse-ld’, kas vienkāršo vidi kross-kompilēšanai;
  • Iebūvēti lietojumprogrammas
    • Ieviests CHCP rīks konsoles kodējuma iestatīšanai;
    • Ieviests MSIDB rīks, lai manipulētu ar datu bāzēm MSI formātā;
  • Veiktspējas optimizācija
    • Dažādas laika apstrādes funkcijas pārveidotas, lai izmantotu augstas veiktspējas sistēmas taimeru funkcijas, kas ļāva samazināt pārslodzes zīmēšanas ciklā daudzās spēlēs;
    • Pievienota iespēja izmantot FS Ext4 režīmā darba bez simbolu lieluma atšķirības;
    • Veiktspējas optimizācija lielu elementu apstrādei sarakstu izvada dialogos, kas darbojas LBS_NODATA režīmā;
    • Pievienota ātrāka SRW bloķēšanas (Slim Reader/Writer) īstenošana Linux, kas pārveidota uz Futex;
  • Ārējās atkarības
    • PE formāta moduļu montāžai izmantots kross-kompilators MinGW-w64;
    • XAudio2 īstenošanai nepieciešama FAudio bibliotēka;
    • Izmaiņu izsekošanai failu sistēmās BSD
      izmantojama Inotify bibliotēka;
    • Izņēmumu apstrādei ARM64 platformā nepieciešama Unwind bibliotēka;
    • Tagad nepieciešama Video4Linux2 bibliotēka, nevis Video4Linux1.

Avots: opennet.lv

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster