Wine 5.0 bertsio egonkorra

Urtebeteko garapena eta 28 bertsio esperimentalaren ostean aurkeztu Win32 APIaren inplementazio irekiaren bertsio egonkorra - Ardoa 5.0, 7400 aldaketa baino gehiago barne. Bertsio berriaren lorpen nagusiak honako hauek dira: PE formatuan Wine modulu integratuak entregatzea, monitore anitzeko konfigurazioetarako laguntza, XAudio2 audio APIaren inplementazio berria eta Vulkan 1.1 grafikoen APIrako laguntza.

Ardoan baieztatuta Windows-erako 4869 (duela urtebete 4737) programen funtzionamendu osoa, beste 4136 (duela urtebete 4045) programek ezin hobeto funtzionatzen dute ezarpen gehigarriekin eta kanpoko DLLekin. 3635 programak errendimendu-arazo txikiak dituzte, oinarrizko aplikazio-funtzioen erabilera oztopatzen ez dutenak.

Gakoa berrikuntzak Ardoa 5.0:

  • PE formatuko moduluak
    • MinGW konpiladorearekin, Wine modulu gehienak PE (Exekutagarri eramangarria, Windows-en erabiltzen den) fitxategi exekutagarriaren formatuan eraikitzen dira, ELFren ordez. PE erabiltzeak diskoan eta memorian sistemako moduluen identitatea egiaztatzen duten kopia babesteko hainbat eskema onartzen dituen arazoak konpontzen ditu;
    • PE exekutagarriak orain ~/.wine ($WINEPREFIX) direktoriora kopiatzen dira DLL fitxategi finkoak erabili beharrean, gauzak benetako Windows instalazioen antzekoagoak bihurtuz, diskoko espazio gehigarria kontsumitzearen kostuarekin;
    • PE formatura bihurtutako moduluek estandarra erabil dezakete wchar C funtzioak eta konstanteak Unicoderekin (adibidez, L"abc");
    • Wine C exekuzio-denborak MinGW-n eraikitako bitarrekin lotzeko laguntza gehitu du, DLLak eraikitzerakoan MinGW exekuzio-denboraren ordez lehenespenez erabiltzen dena;
  • Grafikoen azpisistema
    • Monitore eta egokitzaile grafiko anitzekin lan egiteko laguntza gehitu da, ezarpenak dinamikoki aldatzeko gaitasuna barne;
    • Vulkan grafikoen APIaren kontrolatzailea Vulkan 1.1.126 zehaztapenarekin bat egiteko eguneratu da;
    • WindowsCodecs liburutegiak raster formatu gehigarriak bihurtzeko aukera eskaintzen du, paleta indexatutako formatuak barne;
  • Direct3D
    • Pantaila osoko Direct3D aplikazioak exekutatzen dituzunean, pantaila-babeslearen deia blokeatzen da;
    • DXGIk (DirectX Graphics Infrastructure) aplikazio bati bere leihoa minimizatuta dagoenean jakinarazteko euskarria gehitu du, eta horri esker, aplikazioak leihoa minimizatzean baliabideak behar dituzten eragiketen errendimendua murrizten du;
    • DXGI erabiltzen duten aplikazioetarako, orain posible da pantaila osoko eta leiho modutik aldatzea Alt+Sartu konbinazioa erabiliz;
    • Direct3D 12 inplementazioaren gaitasunak zabaldu egin dira, adibidez, orain pantaila osoko eta leiho moduen artean aldatzeko, pantaila moduak aldatzeko, irteera eskalatzeko eta errendatzeko buffer ordezkatzeko tartea (trukatzeko tartea) kudeatzeko laguntza dago;
    • Mugako hainbat egoeraren kudeaketa hobetu da, hala nola, barrutitik kanpoko sarrera-balioak erabiltzea gardentasuna eta sakonera probetarako, islatutako ehundura eta bufferekin errendatzea eta DirectDraw objektu okerrak erabiltzea. clip, leiho okerretarako Direct3 gailuak sortuz, parametroen balio minimoak gehienez berdinak diren eremu ikusgaiak erabiliz, etab.
    • Direct3D 8 eta 9-ek jarraipen zehatzagoa eskaintzen dute "zikinaΒ» kargatutako ehundura eremuak;
    • S3TC metodoa erabiliz konprimitutako 3D testurak kargatzean beharrezko helbide-espazioaren tamaina murriztu egin da (osorik kargatu beharrean, testurak zatika kargatzen dira).
    • Interfazea ezarrita ID3D11Haria anitzekoa hari anitzeko aplikazioetan atal kritikoak babesteko;
    • Argiaren kalkuluekin lotutako hainbat hobekuntza eta konponketa egin dira DirectDraw aplikazio zaharretan;
    • Dei osagarriak ezarri dira APIan itzaltzaileei buruzko informazioa lortzeko ShaderReflection;
    • wined3d-k onartzen du orain anpulua CPUan oinarritutako baliabide konprimituak prozesatzeko;
    • Direct3Dn aitortutako txartel grafikoen datu-basea zabaldu da;
    • Erregistroko gako berriak gehitu dira HKEY_CURRENT_USER\Software\Wine\Direct3D: "shader_backend" (itzalgailuekin lan egiteko backend: "glsl" GLSLrako, "arb" ARB erpin/fragmenturako eta "none" itzaltzaileen laguntza desgaitzeko), "strict_shader_math" ( 0x1 - gaitu, 0x0 - desgaitu Direct3D itzala bihurtzea). "UseGLSL" gakoa zaharkituta dago ("shader_backend" erabili behar da);
  • D3DX
    • S3TC (S3 Texture Compression) 3D testura konpresio mekanismorako euskarria ezarri da;
    • Eragiketen inplementazio zuzenak gehitu dira, hala nola testura betetzea eta mapa ezin diren gainazalak;
    • Hainbat hobekuntza eta konponketa egin dira sorkuntza-esparruan efektu bisualak;
  • Kernel (Windows Kernel Interfazeak)
    • Kernel32-n erabiltzen diren funtzio gehienak mugitu dira
      KernelBase, Windows arkitekturan izandako aldaketen ondoren;

    • Kargatzeko erabiltzen diren direktorioetan 32 eta 64 biteko DLLak nahasteko gaitasuna. Uneko bit-sakonerarekin bat ez datozen liburutegiak alde batera uzten direla ziurtatzen du (32/64), badaezpada bidetik aurrerago uneko bit-sakonerako egokia den liburutegi bat aurki daiteke;
    • Gailu-gidarientzat, nukleoko objektuen emulazioa hobetu da;
    • Nukleo mailan lan egiten duten sinkronizazio-objektuak inplementatu dira, hala nola bira-blokeoak, mutex azkarrak eta baliabide bati atxikitako aldagaiak;
    • Aplikazioek bateriaren egoerari buruz behar bezala informatzen dutela ziurtatzen du;
  • Erabiltzaile-interfazea eta mahaigaineko integrazioa
    • Gutxieneko leihoak Windows 3.1 estiloko ikono bat erabili beharrean izenburu-barra erabiliz bistaratzen dira;
    • Botoien estilo berriak gehitu dira SplitButton (ekintzen goitibeherako zerrenda duen botoia) eta Komando Estekak (Hurrengo fasera pasatzeko erabiltzen diren elkarrizketa-koadroetako estekak);
    • Lotura sinbolikoak sortu dira 'Deskargak' eta 'Tantiloiak' karpetetarako, Unix sistemetan dagozkien direktorioetara zuzenduta;
  • Sarrerako gailuak
    • Abiaraztean, beharrezkoak diren Plug & Play gailu kontrolatzaileak instalatu eta kargatzen dira;
    • Joko kontrolagailuentzako euskarria hobetu da, mini-joystick bat (txapelaren etengailua), bolantea, gasa eta balazta pedalak barne.
    • 2.2 bertsioaren aurretik Linux nukleoetan erabiltzen zen Linux joystick API zaharraren euskarria eten egin da;
  • . NET
    • Mono motorra eguneratu da 4.9.4 kaleratzeko eta orain Windows Presentation Foundation (WPF) esparruaren zatiak biltzen ditu;
    • Mono eta Gecko-rekin gehigarriak direktorio komun batean instalatzeko aukera gehitu da, fitxategiak /usr/share/wine hierarkian jarriz aurrizki berrietara kopiatu beharrean;
  • Sareko ezaugarriak
    • MSHTML liburutegian erabiltzen den Wine Gecko arakatzailearen motorra eguneratu da 2.47.1 kaleratzeko. HTML API berrientzako euskarria ezarri da;
    • MSHTML-k orain SVG elementuak onartzen ditu;
    • VBScript funtzio berri asko gehitu dira (adibidez, erroreen eta salbuespenen kudeatzaileak, Hour, Day, Month, String, LBound, RegExp.Replace, Π ScriptTypeInfo_* eta ScriptTypeComp_Bind* funtzioak, etab.);
    • Kode-egoera VBScript-en eta JScript-en mantentzea (script iraunkortasuna);
    • HTTP zerbitzuaren (WinHTTP) eta lotutako APIaren (HTTPAPI) hasierako inplementazioa gehitu da HTTP protokoloa erabiliz eskaerak bidali eta jasotzen dituzten bezero eta zerbitzarien aplikazioetarako;
    • DHCP bidez HTTP proxy ezarpenak lortzeko gaitasuna inplementatu da;
    • Microsoft Passport zerbitzuaren bidez autentifikazio-eskaerak birbideratzeko laguntza gehitu da;
  • Kriptografia
    • Kurba eliptikoen gako kriptografikoetarako (ECC) euskarria ezarri da GnuTLS erabiltzean;
    • PFX formatuan dauden fitxategietatik gakoak eta ziurtagiriak inportatzeko gaitasuna gehitu da;
    • PBKDF2 pasahitzan oinarritutako gakoak sortzeko eskemaren laguntza gehitu da;
  • Testua eta letra-tipoak
    • DirectWrite APIaren inplementazioak OpenType funtzioetarako laguntza gehitu du glifoen kokatzea, latindar estilorako lehenespenez gaituta daudenak, kerning barne;
    • Letra tipoen datuak prozesatzeko segurtasuna hobetu da, hainbat datu-taulen zuzentasuna egiaztatuz haiek erabili aurretik;
    • DirectWrite interfazeak azken SDK-ra egokitu dira;
  • Soinua eta bideoa
    • Soinu APIaren ezarpen berri bat proposatu da XAudio2, proiektua oinarri hartuta eraikia FAudioa. FAudio in Wine erabiltzeak jokoetan soinu-kalitate handiagoa lortzeko eta funtzioak erabiltzeko aukera ematen du, hala nola bolumen-nahasketa eta soinu-efektu aurreratuak;
    • Media Foundation esparruaren ezarpenean dei berri ugari gehitu dira, besteak beste, ilara asinkrono integratuak eta pertsonalizatuak, Source Reader API, Media Session, etab.
    • Bideoa harrapatzeko iragazkia v4l2 APIa erabiltzera aldatu da v4l1 APIaren ordez, eta horrek onartzen dituen kameren sorta zabaldu du;
    • Eraikitako AVI, MPEG-I eta WAVE deskodetzaileak kendu dira, eta horien ordez GStreamer edo QuickTime sistema erabiltzen da;
    • VMR7 konfigurazio APIen azpimultzo bat gehitu da;
    • Soinu kontrolatzaileei kanal indibidualen bolumena doitzeko laguntza gehitu da;
  • Nazioartekotzea
    • Unicode taulak 12.1.0 bertsiora eguneratu dira;
    • Unicode normalizaziorako euskarria ezarri da;
    • Eskualde geografikoaren instalazio automatikoa (HKEY_CURRENT_USER\Kontrol Panel\International\Geo) uneko lokalean oinarrituta;
  • RPC/COM
    • Typelib-ri egitura eta array konplexuetarako laguntza gehitu zaio;
    • Windows Script exekutatzeko liburutegiaren hasierako inplementazioa gehitu da;
    • ADO (Microsoft ActiveX Data Objects) liburutegiaren hasierako inplementazioa gehitu da;
  • Instalatzaileak
    • Adabakiak (Adabaki fitxategiak) entregatzeko laguntza ezarri da MSI instalatzailearentzat;
    • WUSA (Windows Update Standalone Installer) utilitateak orain eguneratzeak .MSU formatuan instalatzeko gaitasuna du;
  • ARM plataforma
    • ARM64 arkitekturarako, pila desegiteko laguntza gehitu da ntdll-i. Kanpoko libunwind liburutegiak konektatzeko euskarria gehitu da;
    • ARM64 arkitekturarako, proxy bateratuetarako laguntza inplementatu da objektuen interfazeetarako;
  • Garapen tresnak / Winelib
    • Wine-n exekutatzen diren aplikazioak urrunetik arazteko Visual Studio-ko araztailea erabiltzeko gaitasuna gehitu da;
    • DBGENG (Debug Engine) liburutegia partzialki inplementatu da;
    • Windows-erako konpilatutako bitarrak ez dira jada libwine-ren menpekoak, eta Windows-en exekutatu ahal izango dira menpekotasun gehigarririk gabe;
    • '--sysroot' aukera gehitu da Resource Compiler eta IDL Compiler-en goiburuko fitxategien bidea zehazteko;
    • Gehitu dira 'β€”target', 'β€”wine-objdir' aukera winegcc-ra
      'β€”winebuild' eta '-fuse-ld', zehar-konpilaziorako ingurunea konfiguratzea errazten dutenak;

  • Aplikazio txertatuak
    • CHCP utilitate bat inplementatu da kontsolaren kodeketa konfiguratzeko;
    • Datu-baseak MSI formatuan manipulatzeko MSIDB utilitatea ezarri da;
  • Errendimendua optimizatzea
    • Hainbat denbora-funtzio migratu dira errendimendu handiko sistemaren tenporizadore-funtzioak erabiltzeko, joko askoren errendatze-begizta gainkostua murriztuz;
    • Ext4 FSn erabiltzeko gaitasuna gehitu da erregimena maiuskulak eta minuskulak bereizteko lan egin;
    • LBS_NODATA moduan funtzionatzen duten zerrenda bistaratzeko elkarrizketa-koadroetan elementu kopuru handi bat prozesatzeko errendimendua optimizatu da;
    • SRW blokeoen (Slim Reader/Writer) inplementazio azkarragoa gehitu da Linuxerako, Futexera itzulita;
  • Kanpoko mendekotasunak
    • Moduluak PE formatuan muntatzeko, MinGW-w64 gurutze-konpilatzailea erabiltzen da;
    • XAudio2 ezartzeko FAudio liburutegia behar da;
    • BSD sistemetan fitxategien aldaketen jarraipena egiteko
      Inotify liburutegia erabiltzen da;

    • ARM64 plataforman salbuespenak kudeatzeko, Unwind liburutegia behar da;
    • Video4Linux1-en ordez, Video4Linux2 liburutegia behar da orain.

Iturria: opennet.ru

Gehitu iruzkin berria