Stabiele release van Wine 10.0

Na een jaar van ontwikkeling en 29 experimentele versies werd een stabiele release van de open implementatie van de Win32 API gepresenteerd - Wine 10.0, die meer dan 6000 wijzigingen bevatte. De belangrijkste prestaties in de nieuwe versie zijn onder meer volledige ondersteuning voor de ARM64EC-architectuur, schaalvergroting op schermen met hoge pixeldichtheid, standaard opname van de Wayland-driver, implementatie van panelen voor het instellen van het scherm en de joystick, een alternatieve multimedia-backend gebaseerd op FFmpeg, Bluetooth driver, Vulkan 1.4-ondersteuning, emulatiemogelijkheid om tussen videomodi te schakelen.

Er is bevestigd dat 5372 programma's correct werken in Wine. Windows (5336 een jaar geleden, 5266 twee jaar geleden, 5156 drie jaar geleden), nog eens 4435 programma's (4397 een jaar geleden, 4370 twee jaar geleden, 4312 drie jaar geleden) werken prima met extra instellingen en externe DLL's. 4020 programma's (3943 een jaar geleden, 3888 twee jaar geleden, 3813 drie jaar geleden) hebben kleine problemen die het gebruik van de kernfunctionaliteit van de applicatie niet belemmeren.

Belangrijkste innovaties in Wine 10.0:

  • ARM64
    • Er wordt volledige ondersteuning geboden voor de ARM64EC-architectuur (ARM64-emulatiecompatibel), waarvan het ondersteuningsniveau in Wine pariteit heeft bereikt met de ARM64-architectuur. De ARM64EC-architectuur is ontworpen om het overbrengen van applicaties die oorspronkelijk voor x64_86-systemen zijn geschreven naar ARM64-systemen te vereenvoudigen, en maakt het mogelijk dat individuele x64_86-codemodules in de ARM64-omgeving worden uitgevoerd met behulp van een emulator.
    • Er is volledige ondersteuning geïmplementeerd voor het ARM64X PE-bestandsformaat, waarmee u code voor de ARM64EC- en ARM64-architecturen in één uitvoerbaar bestand kunt combineren. Om Wine in het ARM64X-formaat te bouwen, moet je LLVM vanuit Git installeren (de noodzakelijke functionaliteit zal worden opgenomen in de LLVM 20-release) en wanneer je het “configure” -script uitvoert, specificeer dan de “-enable-archs=arm64ec,aarch64” optie .
    • Er is een interface geïmplementeerd voor het emuleren van 64-bit x86-systemen. Bij gebruik van ARM64EC werkt Wine zelf zoals het is en wordt emulatie alleen toegepast op x86-64-applicatiecode. De bibliotheek met de emulator is nog niet opgenomen in het hoofdpakket Wine, maar om x86-64-code in de ARM64-omgeving uit te voeren, kunt u de externe FEX-emulator gebruiken die is gebouwd met ARM64EC-ondersteuning.
    • Для поддержки ARM64 необходимо использование в системе страниц памяти размером 4КБ, как того требует ABI Windows (запуск в окружениях с ядрами Linux, использующими страницы памяти 16K или 64K пока не поддерживается).
  • Grafisch subsysteem
    • Nauwkeuriger schalen geïmplementeerd op schermen met een hoge pixeldichtheid (High-DPI). Er is ondersteuning voor de DPI Awareness-modus geboden om de weergave van applicaties op schermen met een hoge pixeldichtheid te organiseren, waarbij er rekening mee wordt gehouden of de applicatie aanpassing aan DPI-veranderingen ondersteunt of niet (applicaties die geen rekening houden met DPI worden automatisch geschaald). Opties toegevoegd om High-DPI-ondersteuning voor individuele applicaties of Wine-voorvoegsels te overschrijven.
    • Ondersteuning voor de Vulkan 1.4-specificatie is toegevoegd aan de driver voor de Vulkan grafische API (Vulkan 9.0 werd ondersteund in Wine 1.3.272). Ondersteuning toegevoegd voor Vulkan-extensies voor videocodering en decodering.
    • Bij gebruik van de X11-backend is de mogelijkheid geïmplementeerd om Vulkan-kindervensters weer te geven voor toepassingen die dergelijke vensters gebruiken om 3D-inhoud weer te geven (voorheen was een dergelijke functie alleen beschikbaar voor OpenGL).
    • Ondersteuning voor het mechanisme voor het koppelen van lettertypen is toegevoegd aan de GdiPlus-bibliotheek, waardoor u verschillende lettertypen kunt gebruiken bij het weergeven van tekst als er geen lettertypen zijn die afzonderlijk alle tekens in de tekst bedekken.
  • Wayland
    • В конфигурации по умолчанию активирован драйвер winewayland.drv, позволяющий использовать Wine в окружениях на базе протокола Wayland без применения XWayland и компонентов X11. Wine запускает приложения по умолчанию на Wayland напрямую только если XWayland недоступен, в противном случае запуск с использованием XWayland остаётся приоритетным. Для принудительного включения Wayland можно использовать переменную окружения DISPLAY, либо добавить ключ в реестр, создав файл file.reg: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] «Graphics»=»wayland» и применив его командой: $ WINEPREFIX=/путь/до/префикса wine regedit /путь/до/file.reg
    • Ondersteuning toegevoegd voor OpenGL en pixelbuffers (pBuffer) aan het winewayland.drv-stuurprogramma.
    • Problemen opgelost met de positionering van pop-upvensters in Wayland-gebaseerde omgevingen.
    • Bij gebruik van Wayland is ondersteuning geïmplementeerd voor het automatisch herhalen van indrukken terwijl de toetsen ingedrukt worden gehouden.
  • Desktop-integratie
    • Er is een experimenteel 'modesetting'-emulatiemechanisme toegevoegd waarmee u wisselende videomodi kunt emuleren zonder de scherminstellingen daadwerkelijk te wijzigen. De zichtbaarheid van veranderende schermresolutie zonder de videomodus te wijzigen wordt gecreëerd door vensters uit te breiden en te schalen.
    • Er is een nieuwe applet voor het Desktop Control Panel (desk.cpl) toegevoegd met de implementatie van een interface voor het beheren van de weergave-instellingen (u kunt bijvoorbeeld de virtuele resolutie van het bureaublad wijzigen of geëmuleerde weergaveparameters configureren).
    • De mogelijkheid toegevoegd om de scherminstellingen terug te zetten naar de standaardwaarden als het onmogelijk is om de status te herstellen na een procescrash.
    • Добавлена поддержка отключения показа пиктограмм в системном лотке (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoTrayItemsDisplay=1»).
    • Добавлена поддержка отключения оболочек (Shell launcher) в режиме десктопа (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoDesktop=1»).
  • Direct3D
    • Voor renderen met OpenGL is nu ondersteuning nodig voor GLSL 1.20, evenals de EXT_framebuffer_object en ARB_texture_non_power_of_two extensies. Ondersteuning voor de oude ARB-shader-backend en OffscreenRenderingMode-instelling is stopgezet.
    • Voor Direct3D 9 en ouder is een grafische pijplijn met vaste functies toegevoegd (het oude Direct3D voorzag alleen in vooraf gedefinieerde grafische bewerkingen die niet konden worden gewijzigd), geïmplementeerd met behulp van de HLSL-shadertaal en waardoor emulatie van vaste functies mogelijk was bij weergave via de Vulkan- of OpenGL API.
    • Renderen met Vulkan maakt gebruik van Vulkan-extensies om de status van de grafische pijplijn dynamisch te veranderen, waardoor stotteren in games wordt verminderd.
    • Alternatieve glsl-vkd3d-backend toegevoegd voor GLSL-shaders, met behulp van vkd3d-shader.
    • Biedt initiële ondersteuning voor het compileren van Direct3D-effecten met behulp van vkd3d-shader.
    • De D3DX9-bibliotheek implementeert de mogelijkheid om MIP-texturen (MipMap) te genereren bij het laden van volumetrische texturen. Ondersteuning toegevoegd voor 64bpp RGBA- en 48bpp RGB-kleurweergaveformaten in PNG-afbeeldingen, evenals X8L8V8U8, A2W10V10U10, A8P8, V16U16 en Q16W16V16U16 formaten.
  • Geluid en video
    • Als alternatief voor de op GStreamer gebaseerde backend is een nieuwe multimedia backend geïmplementeerd, gebaseerd op het gebruik van FFmpeg en geschikt voor het draaien van het Media Foundation framework. Om een ​​alternatieve backend in te schakelen, moet u “DisableGstByteStreamHandler=1” opgeven in de registersectie “HKCU\Software\Wine\MediaFoundation”.
    • De implementatie van de Media Foundation API is verbeterd om beter tegemoet te komen aan toepassingen die afhankelijk zijn van de demultiplex- en decoderingscomponenten.
    • De DirectMusic API heeft ondersteuning toegevoegd voor het laden van MIDI-bestanden.
  • Invoerapparaten
    • Eerste versie van Bluetooth-stuurprogramma toegevoegd.
    • Applet Joystick-bedieningspaneel toegevoegd (joy.cpl) met implementatie van instellingen voor de joystick.
    • Внесены улучшения, связанные с устройствами управления указателем (тачпады, мыши), использующими протокол HID (Human Interface Device). Добавлен драйвер mouhid.sys для HID-устройств. Реализован корректный разбор составных устройств ввода и обеспечена передача информации о них в Windows-приложения, как о раздельных устройствах.
    • Voor de X11-backend is ondersteuning voor aanraakschermen toegevoegd en is de mogelijkheid om de multi-touch-modus te gebruiken via het verwerken van WM_POINTER*-berichten (WM_POINTERENTER, WM_POINTERLEAVE, enz.) geïmplementeerd.
    • Implementatie van plaatsing van enkele interne structuren van de user32-bibliotheek in gedeeld geheugen, waardoor de prestaties verbeterden en de belasting van Wine Server werd verminderd.
    • Winex11 heeft ondersteuning toegevoegd voor het verwerken van XInput2-gebeurtenissen met betrekking tot individuele vensters.
    • Correcte ondersteuning geïmplementeerd voor toetsenborden met de Dvorak-indeling.
  • Kernel (kernelinterfaces) Windows)
    • Ondersteuning toegevoegd voor escalatie van procesbevoegdheden (aan een proces dat aanvankelijk als standaardgebruiker wordt uitgevoerd, kunnen beheerdersrechten worden verleend). Bij het maken van serverprocessen (msi-actieserver) en bij processen die de functies RtlCreateUserProcess() en CreateProcessInternal() aanroepen, is standaard een beperkt beheerdertoken ingeschakeld.
    • Bij het verkrijgen van informatie over schijflabels wordt nu waar mogelijk gebruik gemaakt van toegang tot systeemservices via DBus, in plaats van te proberen rechtstreeks toegang te krijgen tot het apparaat.
    • Однонаправленный механизм межпроцессного взаимодействия (IPC) Mailslots теперь реализован непосредственно в Wine server, что позволило добиться полной поддержки семантики Windows.
    • Geïmplementeerd wachten op seriële poortgebeurtenissen in asynchrone modus.
    • Volledige ondersteuning toegevoegd voor XSTATE-processorextensies in threadcontexten, waardoor het gebruik van nieuwe vectorextensies zoals AVX-512 mogelijk is.
  • Geïntegreerde toepassingen
    • De engine voor de verwerking van invoergegevens die wordt gebruikt in de opdrachtinterpreter cmd.exe is herschreven. Ondersteuning toegevoegd voor “||”-bewerkingen aan cmd.exe En "&&".
    • Het findstr-hulpprogramma heeft ondersteuning toegevoegd voor reguliere expressies en hoofdletterongevoelige zoekopdrachten.
    • De mogelijkheid om ARM32EC-modules te registreren is toegevoegd aan de regsvr32- en rundll64-hulpprogramma's.
    • Hulpprogramma's toegevoegd: sort voor het sorteren van invoergegevens, fc voor het vergelijken van bestanden en waar voor het zoeken naar bestanden.
    • De wmic-applicatie implementeert een interactieve werkwijze.
    • Explorer heeft optionele ondersteuning toegevoegd voor het startmenu en de werkbalk. Start van explorer.exe met beperkte toegangsrechten ingeschakeld.
  • Ontwikkelingshulpmiddelen
    • Optie "-marm64x" toegevoegd aan winebuild om ARM64X hybride bibliotheken te genereren.
    • Optie "-marm64x" toegevoegd aan winegcc om bouwen voor ARM64X mogelijk te maken.
    • Bestanden die zijn gegenereerd met behulp van de Interface Definition Language (IDL) gebruiken componenten die de uitvoering in de geïnterpreteerde modus volledig ondersteunen.
    • Ondersteuning voor het genereren van typebibliotheken (TypeLib) in het oude formaat (SLTG) is toegevoegd aan de IDL-compiler (Interface Definition Language).
    • Het hulpprogramma winedump heeft ondersteuning toegevoegd voor het opslaan van dumps van minidump-tabellen, C++-uitzonderingsinformatie en typelib-bronnen.
  • Diversen
    • Verbeterde ondersteuning voor het Diffie-Hellman (DH)-sleuteluitwisselingsprotocol. De mogelijkheid toegevoegd om DH-parameters te configureren en te ontvangen. Geïmplementeerde handlers voor het creëren van paren van publieke en private sleutels.
    • Het gebruik van incrementele opvulling OAEP (Optimal Assymetrische Encryption Padding) samen met het RSA-algoritme is voorzien.
    • De DirectPlay API ondersteunt netwerksessies.
    • Verbeterde afhandeling van asynchrone invoer-/uitvoerstatussen bij gebruik in WoW64-modus (64-bits). Windows-Aan-Windows), waarmee je 32-bits kunt uitvoeren. Windows-toepassingen op 64-bits Unix-systemen.
    • Добавлена поддержка загрузки ODBC-драйверов к СУБД, собранных для Windows.
    • Voor het ARM-platform is volledige ondersteuning voor RPC/COM, C++ RTTI (Run-Time Type Information) en C++ uitzonderingen geïmplementeerd.
    • In de C-runtime implementeren ANSI-functies ondersteuning voor UTF-8-codering.
    • De mogelijkheden van de MSHTML-engine zijn uitgebreid. Ondersteuning toegevoegd voor prototypes en objectconstructeurs. Er is een nieuwe objectbindingsinterface voor MSHTML toegevoegd aan de JavaScript-engine. Ingebouwde MSHTML-functies zijn geconverteerd naar geldige JavaScript-objecten. Verbeterde JavaScript-garbage-verzameling om alle scriptuitvoeringscontexten in een thread te dekken. Ondersteuning toegevoegd voor ArrayBuffer- en DataView JavaScript-objecten.
    • Ondersteuning voor statische analyse met behulp van Clang- en JUnit-testrapporten is toegevoegd aan het op Gitlab gebaseerde continue integratiesysteem.
    • De Capstone 5.0.3-bibliotheek is in het pakket ingebouwd, waardoor demontage wordt geïmplementeerd in de WineDb-foutopsporing.
    • Componenten bijgewerkt naar nieuwe versies: Vkd3d 1.14, Faudio 24.10, FluidSynth 2.4.0, LDAP 2.5.18, LCMS2 2.16, LibJpeg 9f, LibMPG123 1.32.9, LibPng 1.6.44, LibTiff 4.7.0, LibXml2 2.12.8, LibXslt 1.1.42 en Zlib 1.3.1.

Bron: opennet.ru

Koop betrouwbare hosting voor sites met DDoS-bescherming, VPS VDS-servers 🔥 Koop betrouwbare websitehosting met DDoS-bescherming, VPS- en VDS-servers | ProHoster