Stabil utgivning av Wine 7.0

Efter ett Ă„r av utveckling och 30 experimentella versioner har den stabila versionen av den öppna implementeringen av Win32 API — Wine 7.0 presenterats, som innehĂ„ller mer Ă€n 9100 förĂ€ndringar. Bland de viktigaste framstegen i den nya versionen kan nĂ€mnas översĂ€ttning av majoriteten av Wine-modulerna till PE-format, stöd för teman, utvidgning av stacken för joystickar och inmatningsenheter med HID-grĂ€nssnitt, samt implementeringen av WoW64-arkitekturen för att köra 32-bitarsprogram i en 64-bitarsmiljö.

I Wine bekrÀftas att 5156 (mot 5049 för ett Är sedan) Windows-program fungerar fullt ut, medan ytterligare 4312 (mot 4227 för ett Är sedan) program fungerar utmÀrkt med ytterligare instÀllningar och externa DLL:er. 3813 program (mot 3703 för ett Är sedan) uppvisar smÄ problem i prestationen, vilket dock inte hindrar anvÀndning av programmets grundlÀggande funktioner.

Nyckelinnovationer i Wine 7.0:

  • PE-formatmoduler
    • NĂ€stan alla DLL-bibliotek har översatts för att anvĂ€nda formatet för körbara filer PE (Portable Executable, som anvĂ€nds i Windows) istĂ€llet för ELF. AnvĂ€ndningen av PE löser problem med stöd för olika kopieringsskyddsscheman som verifierar identiteten hos systemmoduler pĂ„ disken och i minnet.
    • Det har blivit möjligt att interagera med PE-moduler och Unix-bibliotek med hjĂ€lp av standard systemanrop i NT-kĂ€rnan, vilket gör att anrop till Unix-kod kan döljas frĂ„n Windows-debuggers och övervaka registreringen av trĂ„dar.
    • Inbyggda DLL:er laddas nu endast om den motsvarande filen i PE-format finns pĂ„ disken, oavsett om det Ă€r ett verkligt bibliotek eller en platshĂ„llare. Denna Ă€ndring gör att applikationen alltid ser korrekt bindning till PE-filer. För att avaktivera detta beteende kan miljövariabeln WINEBOOTSTRAPMODE anvĂ€ndas.
  • WoW64
    • WoW64-arkitekturen (64-bit Windows-on-Windows) har implementerats, vilket möjliggör körning av 32-bitars Windows-applikationer i 64-bitars Unix-processer. Stödet har genomförts genom att ansluta ett lager som översĂ€tter 32-bitars NT-systemanrop till 64-bitars anrop till NTDLL.
    • WoW64-lager Ă€r förberedda för de flesta Unix-bibliotek och tillĂ„ter 32-bitars PE-moduler att komma Ă„t 64-bitars Unix-bibliotek. Efter att alla moduler har översatts till PE-format kommer det att bli möjligt att köra 32-bitars Windows-applikationer utan att installera 32-bitars Unix-bibliotek.
  • Teman
    • Stöd för teman har implementerats. Teman som "Light", "Blue" och "Classic Blue" ingĂ„r, vilka kan vĂ€ljas via WineCfg-konfiguratorn.
    • Möjlighet att anpassa utseendet pĂ„ alla grĂ€nssnittskomponenter via teman har lagts till. Automatisk uppdatering av utseendet pĂ„ komponenterna vid temaĂ€ndring sĂ€kerstĂ€lls.
    • Stöd för teman har lagts till i alla inbyggda Wine-applikationer. Applikationerna har anpassats för skĂ€rmar med hög pixeltĂ€thet (High DPI).
  • Grafiksubsystem
    • En ny Win32u-bibliotek har lagts till, dĂ€r delar av GDI32 och USER32-biblioteken som Ă€r kopplade till grafikhantering och fönsterhantering pĂ„ kĂ€rnnivĂ„ har flyttats. Framöver kommer arbetet med att överföra komponenter frĂ„n drivrutiner som winex11.drv och winemac.drv till Win32u att pĂ„börjas.
    • I Vulkan-drivrutinen har stöd för grafik-API-specifikationen Vulkan 1.2.201 implementerats.
    • Stöd för att Ă„terge randiga geometriska objekt via Direct2D API har tillhandahĂ„llits, med möjlighet för att kontrollera trĂ€ffar (hit-test).
    • Initialt stöd för visuella effekter som anvĂ€nds med ID2D1Effect-grĂ€nssnittet har implementerats i Direct2D API.
    • Stöd för ID2D1MultiThread-grĂ€nssnittet har lagts till i Direct2D API, vilket anvĂ€nds för att organisera exklusiv Ă„tkomst till resurser i flertrĂ„dade applikationer.
    • I WindowsCodecs-biblioteken har stöd för avkodning av bilder i WMP (Windows Media Photo) format och kodning av bilder i DDS (DirectDraw Surface) format implementerats. Stöd för kodning av bilder i ICNS-format (för macOS), som inte stöds av Windows, har upphört.
  • Direct3D
    • Den nya renderingsmotorn, som översĂ€tter Direct3D-anrop till grafik-API Vulkan, har genomgĂ„tt betydande förbĂ€ttringar. I de flesta situationer har nivĂ„n av stöd för Direct3D 10 och 11 i Vulkan-baserade motorn nĂ„tt parity med den gamla motorn baserad pĂ„ OpenGL. För att aktivera renderingsmotorn via Vulkan ska registervariabeln Direct3D "renderer" stĂ€llas in pĂ„ "vulkan".
    • MĂ„nga funktioner för Direct3D 10 och 11 har implementerats, inklusive fördröjda kontexter (Deferred Contexts), arbete i enhetskontexter, tillstĂ„ndsobjekt, konstant offset i buffertar, rensning av oordnade texturrepresentationer, kopiering av data mellan resurser i typfria format (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32B32A32_TYPELESS) och sĂ„ vidare.
    • Stödt för flera skĂ€rmkonfigurationer har lagts till, vilket gör det möjligt att vĂ€lja skĂ€rm för att visa Direct3D-programmet i helskĂ€rmslĂ€ge.
    • API:et DXGI har implementerat gamma-korrigering av skĂ€rmen, vilket kan anvĂ€ndas av applikationer baserade pĂ„ Direct3D 10 och 11 för att justera skĂ€rmens ljusstyrka. Det har möjliggjort extraktion av virtuella framebuffer-kontroller (SwapChain).
    • Stöd för root-signaturer version 1.1 har lagts till i Direct3D 12.
    • Effektiviteten i förfrĂ„gningar har ökat i rendering av kod via API:et Vulkan nĂ€r systemet stöder tillĂ€gget VK_EXT_host_query_reset.
    • Möjligheten att exportera virtuella framebuffers (SwapChain) via GDI har lagts till, om OpenGL eller Vulkan inte kan anvĂ€ndas för visning, till exempel vid utdelning i fönster frĂ„n olika processer i program baserade pĂ„ CEF (Chromium Embedded Framework).
    • Vid anvĂ€ndning av backend för GLSL-shaders har modifieraren "precise" tillĂ€mpats för shaderinstruktioner.
    • API:et DirectDraw har fĂ„tt stöd för 3D-rendering i systemminnet med hjĂ€lp av programvaruenheter som "RGB", "MMX" och "Ramp".
    • AMD Radeon RX 5500M, AMD Radeon RX 6800/6800 XT/6900 XT, AMD Van Gogh, Intel UHD Graphics 630 och NVIDIA GT 1030 har lagts till i Direct3Ds grafikkortsdatabas.
    • Nyckeln "UseGLSL" har tagits bort frĂ„n registret HKEY_CURRENT_USER\Software\Wine\Direct3D, och frĂ„n och med Wine 5.0 bör "shader_backend" anvĂ€ndas istĂ€llet.
    • För att stödja Direct3D 12 krĂ€vs nu biblioteket vkd3d i minst version 1.2.
  • D3DX
    • I implementeringen av D3DX 10 har stödet för visual effects framework förbĂ€ttrats och stöd för bildformatet Windows Media Photo (JPEG XR) har lagts till.
    • Funktioner för att skapa texturer, sĂ„som D3DX10CreateTextureFromMemory(), har lagts till i D3DX10.
    • De programgrĂ€nssnitt som ID3DX10Sprite och ID3DX10Font har delvis implementerats.
  • Ljud och video
    • GStreamer-tillĂ€gg för DirectShow och Media Foundation har sammanfogats i en gemensam backend WineGStreamer, vilket bör förenkla utvecklingen av nya API:er för innehĂ„llsdekodning.
    • Windows Media-objekt har implementerats pĂ„ backend av WineGStreamer för synkron och asynkron lĂ€sning.
    • Arbetet med implementationen av Media Foundation-failen har fortsatt, och stöd för funktioner IMFPMediaPlayer, sample allocator och förbĂ€ttrat stöd för EVR och SAR-renderingsbuffertar har lagts till.
    • Biblioteket wineqtdecoder, som tillhandahöll en dekoder för QuickTime-format, har tagits bort (GStreamer anvĂ€nds nu för alla codec).
  • Inmatningsenheter
    • Stödet för inmatningsenheter som anvĂ€nder HID-protokollet (Human Interface Devices) har betydligt förbĂ€ttrats, med funktioner som parsing av HID-deskriptorer, bearbetning av HID-meddelanden och tillhandahĂ„llande av HID-minidrivrutiner.
    • ÖversĂ€ttningen av enhetsbeskrivningar till HID-meddelanden har förbĂ€ttrats i backenddrivrutinen winebus.sys.
    • En ny DirectInput-backend för joysticks som stöder HID-protokollet har lagts till. Möjligheten att anvĂ€nda Ă„terkopplings-effekter i joysticks har implementerats. kontrollpanel Optimalt samarbete med enheter som Ă€r kompatibla med XInput har förbĂ€ttrats. I WinMM har stödet för joysticks övergĂ„tt till DInput, istĂ€llet för att anvĂ€nda evdev-backend i Linux och IOHID i macOS. Den gamla joystickdrivrutinen winejoystick.drv har tagits bort.
    • Nya tester har lagts till i DInput-modulen, baserade pĂ„ anvĂ€ndning av virtuella HID-enheter och som inte krĂ€ver att en fysisk enhet Ă€r ansluten.
  • Text och typsnitt
    • En Font Set-objekt har lagts till i DirectWrite.
    • TextHost-grĂ€nssnittet har implementerats korrekt i RichEdit.
  • KĂ€rnan (Windows kernelgrĂ€nssnitt)
    • Vid körning av en okĂ€nd exekverbar fil i Wine (till exempel 'wine foo.msi') anropas nu start.exe, som aktiverar hanterare relaterade till filtypen.
    • Stöd för synkroniseringsmekanismerna NtAlertThreadByThreadId och NtWaitForAlertByThreadId, som liknar futexar i Linux, har lagts till.
    • Stöd för NT-debbugeringsobjekt som anvĂ€nds för att debugga kernel-funktioner har lagts till.
    • Stöd för dynamiska registernycklar för att spara prestandadata har lagts till.
  • C Runtime
    • C-runtime har implementerat en fullstĂ€ndig uppsĂ€ttning matematiska funktioner, framför allt överförda frĂ„n Musl-biblioteket.
    • Korrekt stöd för flyttalsberĂ€kningar har sĂ€kerstĂ€llts för alla CPU-plattformar.
  • NĂ€tverksfunktioner
    • KompatibilitetslĂ€get med Internet Explorer 11 (IE11) har förbĂ€ttrats och anvĂ€nds nu som standard för att bearbeta HTML-dokument.
    • JavaScript-lĂ€get ES6 (ECMAScript 2015) har implementerats i mshtml-biblioteket, vilket ger stöd för funktioner som let-uttal och Map-objekt.
    • Installation av Wine MSI-paket med tillĂ€gg till Gecko-motorn utförs nu vid behov i arbetskatalogen, snarare Ă€n under uppdateringen av Wine.
    • Stöd för DTLS-protokollet har lagts till.
    • NSI-tjĂ€nsten (Network Store Interface) har implementerats, som lagrar och överför information om routning och nĂ€tverksgrĂ€nssnitt pĂ„ datorn till andra tjĂ€nster.
    • API-handlar WinSock, sĂ„som setsockopt och getsockopt, har flyttats till biblioteket NTDLL och drivrutinen afd.sys för att motsvara Windows-arkitekturen.
    • Egenfiler med nĂ€tverksdatabaser, sĂ„som /etc/protocols och /etc/networks, installeras nu i arbetskatalogen för Wine istĂ€llet för att referera till motsvarande Unix-databaser.
  • Alternativa plattformar
    • Stöd för Apple-hĂ„rdvara baserad pĂ„ ARM-chip M1 (Apple Silicon) har lagts till.
    • För att stödja funktionerna BCrypt och Secur32 pĂ„ macOS krĂ€vs nu installation av GnuTLS-biblioteket.
    • 32-bitars körbara filer för ARM-plattformar kompilieras nu i Thumb-2-lĂ€ge, liknande Windows. En preloader anvĂ€nds för att ladda sĂ„dana filer.
    • Stöd för undantagsupprullning (unwinding) har implementerats för 32-bitars ARM-plattformar.
    • Antalet stödja lĂ„g-nivĂ„systeminformationförfrĂ„gningar, som minnesstatus och batterinivĂ„, har utökats för FreeBSD.
  • Inbyggda applikationer och utvecklingsverktyg
    • Verktyget reg.exe har fĂ„tt stöd för 32- och 64-bitars registreringspresentat. Stöd för att kopiera registreringsnycklar har lagts till.
    • Verktyget WineDump har fĂ„tt stöd för utmatning av dump av Windows-metadata och visning av detaljerad information om CodeView-poster.
    • I Wine Debugger (winedbg) har möjligheten att debugga 32-bitarsprocesser frĂ„n 64-bitarsdebuggern implementerats.
    • I IDL-kompilatorn (widl) har möjligheten att ladda bibliotek inbĂ€ddade i PE-filer lagts till, stöd för WinRT-specifika attribut och konstruktioner har implementerats, samt har sökning av bibliotek kopplats till plattformen genomförts.
  • Byggsystem
    • I arkitekturspecifika kataloger sparas nu bibliotek med namn som Ă„terspeglar arkitekturen och typen av körbara filer, till exempel 'i386-windows' för PE-format och 'x86_64-unix' för unix-bibliotek, vilket möjliggör stöd för flera arkitekturer i en enda Wine-installation och underlĂ€ttar korskompilering av Winelib.
    • För att stĂ€lla in alternativ i PE-filer för att styra övergĂ„ngen till anvĂ€ndning av inhemska DLL-bibliotek har flaggan '--prefer-native option' lagts till i winebuild (behandling av DLL_WINE_PREATTACH i DllMain har avbrutits).
    • Stöd för den fjĂ€rde versionen av Dwarf-debuggingdataformatet, som nu anvĂ€nds som standard vid kompilering av Wine-bibliotek, har lagts till.
    • En byggalternativ '--enable-build-id' har lagts till för att spara unika byggidentifikatorer i körbara filer.
    • Stöd för anvĂ€ndning av Clang-kompilatorn i MSVC-kompatibilitetslĂ€ge har lagts till.
  • Olika
    • Namnen pĂ„ standardkatalogerna i anvĂ€ndargrĂ€nssnittet (Windows Shell) har anpassats till det schema som anvĂ€nds sedan Windows Vista, vilket innebĂ€r att istĂ€llet för 'My Documents' skapas nu katalogen 'Documents', och en stor del av data sparas i katalogen 'AppData'.
    • I lagret för OpenCL-biblioteket har stöd för OpenCL 1.2-specifikationen lagts till.
    • I WinSpool-drivrutinen har stöd för olika sidstorleksalternativ vid utskrift lagts till.
    • Inledande stöd för MSDASQL, Microsoft OLE DB-leverantören för ODBC-drivrutiner, har lagts till.
    • Wine Mono-motorn med .NET-plattformen har uppdaterats till version 7.0.0.
    • Unicode-data har uppdaterats till Unicode 14-specifikationen.
    • I trĂ€dstrukturen för kĂ€llkoder har biblioteken Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt och Zlib integrerats; dessa kompileras i PE-format och krĂ€ver inte Unix-formatversionen. Dessa bibliotek kan Ă€ven importeras frĂ„n systemet för att anvĂ€nda externa samlingar istĂ€llet för de inbyggda PE-versionerna.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster