Wine 7.0 bertsio egonkorra

Urtebete garatu eta 30 bertsio esperimentalaren ondoren, Win32 APIaren inplementazio irekiaren bertsio egonkorra aurkeztu zen - Wine 7.0, 9100 aldaketa baino gehiago sartu zituena. Bertsio berriaren lorpen nagusiak honako hauek dira: Wine modulu gehienak PE formatura itzultzea, gaietarako euskarria, joystick-en eta HID interfazea duten sarrera-gailuetarako pilaren hedapena eta WoW64 arkitekturaren ezarpena 32 biteko programak exekutatzeko. 64 biteko ingurunea.

Wine-k Windows-erako 5156 (duela urtebete 5049) programen funtzionamendu osoa baieztatu du, beste 4312 (duela urtebete 4227) programak ezin hobeto funtzionatzen dute ezarpen gehigarriekin eta kanpoko DLLekin. 3813 programak (duela 3703 urte) funtzionamendu-arazo txikiak dituzte, aplikazioen funtzio nagusien erabilera oztopatzen ez dutenak.

Wine 7.0ko berrikuntza nagusiak:

  • PE formatuko moduluak
    • Ia DLL guztiak ELFren ordez PE (Exekutibo eramangarria, Windows-en erabiltzen den) fitxategi exekutagarria erabiltzeko bihurtu dira. PE erabiltzeak diskoan eta memorian sistemako moduluen identitatea egiaztatzen duten kopia babesteko hainbat eskema onartzen dituen arazoak konpontzen ditu.
    • PE moduluak Unix liburutegiekin elkarreragiteko gaitasuna NT kernel sistema-dei estandarra erabiliz inplementatu da, eta horrek Windows araztaileetatik Unix kodearako sarbidea ezkutatzeko eta hariaren erregistroa kontrolatzeko aukera ematen du.
    • DLL integratuak diskoan dagokion PE fitxategi bat badago soilik kargatzen dira, benetako liburutegia edo zirriborroa den kontuan hartu gabe. Aldaketa honi esker, aplikazioak PE fitxategiekiko lotura zuzena beti ikusteko aukera ematen du. Portaera hau desgaitzeko, WINEBOOTSTRAPMODE ingurune-aldagaia erabil dezakezu.
  • WoW64
    • WoW64 arkitektura (64 biteko Windows-on-Windows) inplementatu da, 32 biteko Windows aplikazioak 64 biteko Unix prozesuetan exekutatzeko aukera emanez. Laguntza 32 biteko NT sistemako deiak NTDLLra 64 biteko deiak bihurtzen dituen geruza baten konexioaren bidez ezartzen da.
    • WoW64 geruzak Unix liburutegi gehienetarako prestatuta daude eta 32 biteko PE moduluei 64 biteko Unix liburutegietara sartzeko aukera ematen diete. Modulu guztiak PE formatura bihurtu ondoren, 32 biteko Windows aplikazioak exekutatu ahal izango dira 32 biteko Unix liburutegiak instalatu gabe.
  • Gaiak
    • Gai-laguntza ezarri da. "Argia", "Urdina" eta "Urdin klasikoa" diseinu-gaiak sartzen dira, WineCfg konfiguratzailearen bidez hauta daitezkeenak.
    • Gaien bidez interfazearen kontrol guztien itxura pertsonalizatzeko gaitasuna gehitu da. Elementuen itxura automatikoki eguneratzen da diseinuaren gaia aldatu ondoren.
    • Gaiaren euskarria gehitu da Wine aplikazio guztietara. Aplikazioak pixel dentsitate handiko (High DPI) pantailetara egokitu dira.
  • Grafikoen azpisistema
    • Win32u liburutegi berri bat gehitu da, zeinak nukleo mailan grafikoen prozesamenduarekin eta leihoen kudeaketarekin lotutako GDI32 eta USER32 liburutegien zatiak biltzen dituena. Etorkizunean, winex32.drv eta winemac.drv bezalako kontrolatzaileen osagaiak Win11u-ra eramateko lanak hasiko dira.
    • Vulkan kontrolatzaileak Vulkan graphics API 1.2.201 zehaztapena onartzen du.
    • Hatched objektu geometrikoak ateratzeko euskarria eman du Direct2D APIaren bidez, klik batek jotzen duen ala ez egiaztatzeko aukerarekin (hit-test).
    • Direct2D APIak ID2D1Effect interfazea erabiliz aplikatutako efektu bisualetarako hasierako laguntza eskaintzen du.
    • Direct2D APIak ID2D1MultiThread interfazearen laguntza gehitu du, hari anitzeko aplikazioetan baliabideetarako sarbide esklusiboa antolatzeko erabiltzen dena.
    • WindowsCodecs liburutegien multzoak WMP (Windows Media Photo) formatuan irudiak deskodetzeko eta DDS (DirectDraw Surface) formatuan irudiak kodetzeko laguntza eskaintzen du. Jada ez dugu onartzen ICNS formatuan (macOS-erako) irudiak kodetzea Windows-en onartzen ez dena.
  • Direct3D
    • Errendatze-motor berria nabarmen hobetu da, Direct3D deiak Vulkan grafikoen APIra itzuliz. Egoera gehienetan, Vulkan-en oinarritutako motorean Direct3D 10 eta 11-en euskarria maila parekidea izan da OpenGL-n oinarritutako motor zaharrarekin. Vulkan errendatze-motorra gaitzeko, ezarri Direct3D erregistroko aldagaia "errendatzailea" "vulkan".
    • Direct3D 10 eta 11-en ezaugarri asko inplementatzen dira, besteak beste, Deferred Contexts, gailuaren testuinguruan funtzionatzen duten egoera-objektuak, buffer-en desplazamendu iraunkorrak, ordenaz kanpoko ehundura-ikuspegiak garbitzea, baliabideen arteko datuak motarik gabeko formatuetan kopiatzea (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32B32LES32), etab. .
    • Monitore anitzeko konfigurazioetarako laguntza gehitu da, Direct3D aplikazio bat pantaila osoko moduan bistaratzeko monitore bat hautatzeko aukera emanez.
    • DXGI APIak pantailako gamma zuzenketa eskaintzen du, Direct3D 10 eta 11 aplikazioetan oinarritutako aplikazioek pantailaren distira aldatzeko erabil dezaketena. Framebuffer birtualen kontagailuen berreskurapena gaituta (SwapChain).
    • Direct3D 12-k 1.1 bertsioko root sinadurak onartzen ditu.
    • Vulkan APIaren bidez errendatzeko kodean, kontsultaren prozesamenduaren eraginkortasuna hobetu da sistemak VK_EXT_host_query_reset luzapena onartzen duenean.
    • Framebuffer birtualak (SwapChain) GDI bidez ateratzeko gaitasuna gehitu da, OpenGL edo Vulkan ezin badira bistaratzeko erabili, adibidez, prozesu ezberdinetatik leiho batera ateratzen denean, adibidez, CEF (Chromium Embedded Framework) esparruan oinarritutako programetan.
    • GLSL shader backend-a erabiltzean, modifikatzaile "zehatza" bermatzen da itzalaren argibideetarako.
    • DirectDraw API-k sistemaren memorian 3D errendatzeko laguntza gehitzen du "RGB", "MMX" eta "Ramp" bezalako software gailuak erabiliz.
    • AMD Radeon RX 3M, AMD Radeon RX 5500/6800 XT/6800 XT, AMD Van Gogh, Intel UHD Graphics 6900 eta NVIDIA GT 630 txartelak Direct1030D txartel grafikoen datu-basean gehitu dira.
    • "UseGLSL" gakoa kendu da HKEY_CURRENT_USER\Software\Wine\Direct3D erregistrotik, eta horren ordez, Wine 5.0-tik hasita, "shader_backend" erabili behar duzu.
    • Direct3D 12 onartzeko, orain gutxienez vkd3d liburutegiaren 1.2 bertsioa behar duzu.
  • D3DX
    • D3DX 10 inplementazioak ikusizko efektuen esparrurako euskarria hobetu du eta Windows Media Photo irudi formatuarekin (JPEG XR) laguntza gehitu du.
    • D3DX10-n emandako ehundura sortzeko funtzioak gehitu dira, hala nola D3DX10CreateTextureFromMemory().
    • ID3DX10Sprite eta ID3DX10Font software-interfazeak partzialki inplementatu dira.
  • Soinua eta bideoa
    • DirectShow eta Media Foundation esparrurako GStreamer gehigarriak WineGStreamer backend komun batean konbinatzen dira, eta horrek edukia deskodetzeko API berrien garapena erraztu beharko luke.
    • WineGStreamer backend-ean oinarrituta, Windows Media objektuak irakurketa sinkrono eta asinkronorako inplementatzen dira.
    • Media Foundation esparruaren inplementazioa gehiago hobetu da, IMFPMediaPlayer funtzionalitaterako eta lagin esleitzailerako laguntza gehitu da, eta EVR eta SAR errendatze-bufferetarako laguntza hobetu da.
    • QuickTime formaturako deskodetzailea eskaintzen duen wineqtdecoder liburutegia kendu egin da (orain kodek guztiek GStreamer erabiltzen dute).
  • Sarrerako gailuak
    • HID (Human Interface Devices) protokoloa onartzen duten sarrera-gailuen pila nabarmen hobetu da, HID deskribatzaileak analizatzeko, HID mezuak prozesatzeko eta mini-HID kontrolatzaileak eskainiz.
    • Winebus.sys kontrolatzailearen backendetan, gailuen deskribapenak HID mezuetara itzultzea hobetu da.
    • HID protokoloa onartzen duten joysticketarako DirectInput backend berria gehitu da. Joysticketan feedback-efektuak erabiltzeko gaitasuna ezarri da. Joystick kontrol panel hobetua. Interakzio optimizatua XInput gailu bateragarriekin. WinMM-en, joystick-aren euskarria DInputra eraman da, Linux-en evdev backend-a eta macOS IOHID-en IOHID erabili beharrean. Joystick kontrolatzaile zaharra winejoystick.drv kendu da.
    • DInput moduluari proba berriak gehitu zaizkio, HID gailu birtualen erabileran oinarrituta eta gailu fisikorik behar ez dutenak.
  • Testua eta letra-tipoak
    • Gehitu da Font Set objektua DirectWrite-n.
    • RichEdit-ek behar bezala inplementatzen du TextHost interfazea.
  • Kernel (Windows Kernel Interfazeak)
    • Wine-n identifikatu gabeko fitxategi exekutagarri bat (adibidez, 'wine foo.msi') exekutatzen denean, start.exe deitzen da, fitxategi motarekin lotutako kudeatzaileak deitzen dituena.
    • NtAlertThreadByThreadId eta NtWaitForAlertByThreadId sinkronizazio mekanismoetarako euskarria gehitu da, Linux-en futexeen antzera.
    • Nukleoaren funtzioak arazteko erabiltzen diren NT arazketa-objektuen euskarria gehitu da.
    • Errendimendu-datuak gordetzeko erregistro-gako dinamikoetarako laguntza gehitu da.
  • C Exekuzio-denbora
    • C exekutazioak funtzio matematikoen multzo osoa inplementatzen du, gehienbat Musl liburutegitik eramaten direnak.
    • CPU plataforma guztiek laguntza zuzena eskaintzen dute koma mugikorreko funtzioetarako.
  • Sareko ezaugarriak
    • Internet Explorer 11 (IE11) bateragarritasun modua hobetu da, HTML dokumentuak prozesatzeko lehenespenez erabiltzen dena.
    • mshtml liburutegiak ES6 JavaScript modua (ECMAScript 2015) inplementatzen du, let adierazpena eta Map objektua bezalako funtzioetarako laguntza eskaintzen duena.
    • Gecko motorra gehitutako MSI paketeak Wine lan-direktorioan instalatzen dira orain beharrezkoa denean, eta ez Wine eguneratze batean.
    • DTLS protokoloaren euskarria gehitu da.
    • NSI (Network Store Interface) zerbitzua ezarri da, ordenagailuko bideratze eta sareko interfazeei buruzko informazioa beste zerbitzu batzuetara gordez eta transmitituz.
    • WinSock API kudeatzaileak, hala nola, setsockopt eta getsockopt bezalako NTDLLra eta afd.sys kontrolatzailea mugitu dira Windows arkitekturara egokitzeko.
    • Wine-ren sareko datu-base fitxategiak, hala nola /etc/protocols eta /etc/networks, Wine lan-direktorioan instalatuta daude orain, antzeko Unix datu-baseetara sartu beharrean.
  • Plataforma alternatiboak
    • M1 ARM txipetan (Apple Silicon) oinarritutako Apple ekipoetarako laguntza gehitu da.
    • MacOS-en BCrypt eta Secur32 funtzioetarako laguntzak GnuTLS liburutegia instalatu behar du orain.
    • ARM plataformetarako 32 biteko exekutagarriak Thumb-2 moduan eraikita daude orain, Windowsen antzera. Fitxategi horiek kargatzeko aurrekargagailu bat erabiltzen da.
    • 32 biteko ARM plataformetarako, salbuespenak desegiteko laguntza ezarri da.
    • FreeBSD-rentzat, sistema baxuko informaziorako onartzen diren kontsulta-kopurua zabaldu da, hala nola memoria-egoera eta bateria-karga-maila.
  • Aplikazio integratuak eta garapen tresnak
    • Reg.exe utilitateak 32 eta 64 biteko erregistro-ikuspegietarako laguntza gehitu du. Erregistroko gakoak kopiatzeko laguntza gehitu da.
    • WineDump utilitateak Windows metadatuak botatzeko eta CodeView sarrerei buruzko informazio zehatza bistaratzeko laguntza gehitu du.
    • Wine Debugger-ek (winedbg) 32 biteko prozesuak 64 biteko arazte batetik arazteko gaitasuna eskaintzen du.
    • PE fitxategietan eraikitako liburutegiak kargatzeko gaitasuna IDL konpilatzaileari (widl) gehitu zaio, WinRT-ren atributu eta konstruktu espezifikoetarako euskarria eman da eta plataformako liburutegien bilaketa bat ezarri da.
  • Muntaketa sistema
    • Arkitektura espezifikoko direktorioetan, liburutegiak arkitektura eta exekutagarri mota islatzen duten izenekin gordetzen dira orain, hala nola, 'i386-windows' PE formatuan eta 'x86_64-unix' unix liburutegietarako, arkitektura desberdinetarako laguntza Wine bakar batean. instalatzea eta Winelib-en konpilazio gurutzatua ematea.
    • DLL natiboak erabiltzeko trantsizioa kontrolatzen duen PE fitxategien goiburuetan aukera bat ezartzeko, '--prefer-native option' bandera gehitu da winebuild-era (DLL_WINE_PREATACH prozesatzea DllMain-en gelditu da).
    • Dwarf arazketa datuen formatuaren 4. bertsiorako laguntza gehitu da, orain lehenespenez erabiltzen dena Wine liburutegiak eraikitzean.
    • "β€”enable-build-id" eraikitzeko aukera gehitu da fitxategi exekutagarrietan eraikuntza-identifikatzaile esklusiboak gordetzeko.
    • Clang konpilatzailea MSVC bateragarritasun moduan erabiltzeko laguntza gehitu da.
  • Nahastea
    • Erabiltzaile shelleko direktorio tipikoen izenak (Windows Shell) Windows Vista-tik hasita erabiltzen den eskemari ematen zaizkio, hau da. 'Nire dokumentuak' beharrean, 'Dokumentuak' direktorio bat sortzen da orain, eta datu gehienak 'AppData' direktorioan gordetzen dira.
    • OpenCL 1.2 zehaztapenerako euskarria gehitu da OpenCL liburutegi geruzara.
    • WinSpool kontrolatzaileak orri-tamaina desberdinetarako laguntza gehitu du inprimatzerakoan.
    • MSDASQLrako hasierako laguntza gehitu da, ODBC kontrolatzaileentzako Microsoft OLE DB hornitzailea.
    • Wine Mono motorra .NET plataformaren ezarpenarekin eguneratu da 7.0.0 kaleratzeko.
    • Unicode datuak Unicode 14 zehaztapenera eguneratu dira.
    • Iturburu-zuhaitzak Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt eta Zlib liburutegiak biltzen ditu, PE formatuan konpilatuta daudenak eta Unix formatuan bertsiorik behar ez dutenak. Aldi berean, liburutegi hauek sistematik ere inporta daitezke kanpoko muntaiak erabiltzeko integratutako PE aukeren ordez.

Iturria: opennet.ru

Gehitu iruzkin berria