Efter et års udvikling og 29 eksperimentelle versioner blev en stabil udgivelse af den åbne implementering af Win32 API - Wine 10.0, som inkorporerede mere end 6000 ændringer, præsenteret. De vigtigste resultater i den nye version inkluderer fuld understøttelse af ARM64EC-arkitekturen, skalering på skærme med høj pixeltæthed, inklusion af Wayland-driveren som standard, implementering af paneler til tilpasning af skærmen og joysticket, en alternativ multimedie-backend baseret på FFmpeg, Bluetooth driver, Vulkan 1.4-understøttelse, emuleringsevne, der skifter videotilstand.
В Wine подтверждена полноценная работа 5372 программ для Windows (год назад 5336, два года назад 5266, три года назад 5156), ещё 4435 программ (год назад 4397, два года назад 4370, три года назад 4312) прекрасно работают при дополнительных настройках и внешних DLL. У 4020 программ (год назад 3943, два года назад 3888, три года назад 3813) наблюдаются небольшие проблемы в работе, которые не мешают использованию основных функций приложений.
Vigtigste innovationer i Wine 10.0:
- ARM64
- Fuld support ydes til ARM64EC (ARM64 Emulation Compatible) arkitekturen, hvor støtteniveauet i vin har nået paritet med ARM64 arkitekturen. ARM64EC-arkitekturen er designet til at forenkle porteringen af applikationer, der oprindeligt er skrevet til x64_86-systemer, til ARM64-systemer, og tillader individuelle x64_86-kodemoduler at køre i ARM64-miljøet ved hjælp af en emulator.
- Fuld support er blevet implementeret for ARM64X PE-filformatet, som giver dig mulighed for at kombinere kode til ARM64EC og ARM64 arkitekturerne i én eksekverbar fil. For at bygge Wine i ARM64X-formatet skal du installere LLVM fra Git (den nødvendige funktionalitet vil blive inkluderet i LLVM 20-udgivelsen), og når du kører "configure"-scriptet, skal du angive "-enable-archs=arm64ec,aarch64"-indstillingen .
- En grænseflade til emulering af 64-bit x86-systemer er blevet implementeret. Når du bruger ARM64EC, kører Wine selv, som den er, og emulering anvendes kun på x86-64-applikationskoden. Biblioteket med emulatoren er endnu ikke inkluderet i hovedvinpakken, men for at køre x86-64-kode i ARM64-miljøet kan du bruge den eksterne FEX-emulator bygget med ARM64EC-understøttelse.
- Для поддержки ARM64 необходимо использование в системе страниц памяти размером 4КБ, как того требует ABI Windows (запуск в окружениях с ядрами Linux, использующими страницы памяти 16K или 64K пока не поддерживается).
- Grafik undersystem
- Implementeret mere nøjagtig skalering på skærme med høj pixeltæthed (High-DPI). Der er givet understøttelse af DPI Awareness-tilstand for at organisere visningen af applikationer på skærme med høj pixeltæthed, idet der tages højde for, om applikationen understøtter tilpasning til DPI-ændringer eller ej (applikationer, der ikke tager højde for DPI, skaleres automatisk). Tilføjede muligheder for at tilsidesætte High-DPI-understøttelse for individuelle applikationer eller vinpræfikser.
- Understøttelse af Vulkan 1.4-specifikationen er blevet tilføjet til driveren til Vulkan graphics API (Vulkan 9.0 blev understøttet i Wine 1.3.272). Tilføjet understøttelse af Vulkan-udvidelser til videokodning og afkodning.
- Når du bruger X11-backend, er muligheden for at gengive Vulkan underordnede vinduer til applikationer, der bruger sådanne vinduer til at vise 3D-indhold, blevet implementeret (tidligere var en sådan funktion kun tilgængelig for OpenGL).
- Understøttelse af skrifttypelinkmekanismen er blevet tilføjet til GdiPlus-biblioteket, som giver dig mulighed for at bruge flere skrifttyper, når du viser tekst, hvis der ikke er skrifttyper, der hver for sig dækker alle de tegn, der findes i teksten.
- 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
- Tilføjet understøttelse af OpenGL og pixelbuffere (pBuffer) til winewayland.drv-driveren.
- Løste problemer med popup-positionering i Wayland-baserede miljøer.
- Når du bruger Wayland, er understøttelse af auto-repeat, når du trykker på tasterne, implementeret.
- Desktop integration
- Tilføjet en eksperimentel "modesetting" emuleringsmekanisme, der giver dig mulighed for at emulere skift af videotilstande uden faktisk at ændre skærmindstillingerne. Synligheden af at ændre skærmopløsning uden at skifte videotilstand skabes gennem udvidelse og skalering af vinduer.
- En ny Desktop Control Panel-applet (desk.cpl) er blevet tilføjet med implementeringen af en grænseflade til styring af skærmindstillinger (du kan f.eks. ændre den virtuelle opløsning på skrivebordet eller konfigurere emulerede skærmparametre).
- Tilføjet muligheden for at nulstille skærmindstillinger til standardværdier, hvis det er umuligt at gendanne tilstanden efter et procesnedbrud.
- Добавлена поддержка отключения показа пиктограмм в системном лотке (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoTrayItemsDisplay=1»).
- Добавлена поддержка отключения оболочек (Shell launcher) в режиме десктопа (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoDesktop=1»).
- Direct3D
- Gengivelse med OpenGL kræver nu understøttelse af GLSL 1.20, såvel som EXT_framebuffer_object og ARB_texture_non_power_of_two udvidelserne. Understøttelse af den gamle ARB shader-backend og OffscreenRenderingMode-indstilling er blevet afbrudt.
- For Direct3D 9 og ældre er der tilføjet en grafisk pipeline med fast funktion (ældre Direct3D gav kun foruddefinerede grafikoperationer, der ikke kunne ændres), implementeret ved hjælp af HLSL shader-sproget og tillader emulering af faste funktioner ved gengivelse via Vulkan eller OpenGL API.
- Gengivelse med Vulkan bruger Vulkan-udvidelser til dynamisk at ændre tilstanden af grafikpipelinen, hvilket reducerer stammen i spil.
- Tilføjet alternativ glsl-vkd3d-backend til GLSL-shaders ved hjælp af vkd3d-shader.
- Forudsat indledende støtte til kompilering af Direct3D-effekter ved hjælp af vkd3d-shader.
- D3DX9-biblioteket implementerer evnen til at generere MIP-teksturer (MipMap) ved indlæsning af volumetriske teksturer. Tilføjet understøttelse af 64bpp RGBA og 48bpp RGB farverepræsentationsformater i PNG-billeder samt X8L8V8U8, A2W10V10U10, A8P8, V16U16 og Q16W16V16U16 formater.
- Lyd og video
- Som et alternativ til den GStreamer-baserede backend, implementeres en ny multimedie-backend, baseret på brugen af FFmpeg og egnet til at køre Media Foundation-rammen. For at aktivere en alternativ backend skal du angive "DisableGstByteStreamHandler=1" i registreringsdatabasen "HKCU\Software\Wine\MediaFoundation".
- Implementeringen af Media Foundation API er blevet forbedret for bedre at kunne rumme applikationer, der er afhængige af demultipleks- og afkodningskomponenterne.
- DirectMusic API har tilføjet understøttelse til indlæsning af MIDI-filer.
- Input enheder
- Tilføjet indledende version af Bluetooth-driver.
- Tilføjet Joystick Kontrolpanel-applet (joy.cpl) med implementering af indstillinger for joysticket.
- Внесены улучшения, связанные с устройствами управления указателем (тачпады, мыши), использующими протокол HID (Human Interface Device). Добавлен драйвер mouhid.sys для HID-устройств. Реализован корректный разбор составных устройств ввода и обеспечена передача информации о них в Windows-приложения, как о раздельных устройствах.
- Til X11-backend er understøttelse af berøringsskærme blevet tilføjet, og muligheden for at bruge multi-touch-tilstand gennem behandling af WM_POINTER*-meddelelser (WM_POINTERENTER, WM_POINTERLEAVE osv.) er blevet implementeret.
- Implementeret placering af nogle interne strukturer i user32-biblioteket i delt hukommelse, hvilket øgede ydeevnen og reducerede belastningen på vinserveren.
- Winex11 tilføjede understøttelse til behandling af XInput2-hændelser i forhold til individuelle vinduer.
- Implementeret korrekt understøttelse af tastaturer med Dvorak-layoutet.
- Kernel (kernegrænseflader Windows)
- Tilføjet understøttelse af eskalering af procesprivilegier (en proces, der oprindeligt kører som en standardbruger, kan tildeles administratorrettigheder). Når du opretter serverprocesser (msi action server), samt processer, der kalder funktionerne RtlCreateUserProcess() og CreateProcessInternal(), er et begrænset administratortoken aktiveret som standard.
- Ved indhentning af information om disketiketter, når det er muligt, bruges nu adgang til systemtjenester via DBus i stedet for at forsøge at få direkte adgang til enheden.
- Однонаправленный механизм межпроцессного взаимодействия (IPC) Mailslots теперь реализован непосредственно в Wine server, что позволило добиться полной поддержки семантики Windows.
- Implementeret venter på serielle porthændelser i asynkron tilstand.
- Tilføjet fuld understøttelse af XSTATE-processorudvidelser i trådsammenhænge, hvilket muliggør brugen af nye vektorudvidelser såsom AVX-512.
- Indlejrede applikationer
- Inputdatabehandlingsmotoren, der bruges i kommandofortolkeren cmd.exe, er blevet omskrevet. Tilføjet understøttelse af "||"-operationer til cmd.exe Og "&&".
- Findstr-værktøjet har tilføjet understøttelse af regulære udtryk og søgninger, der ikke skiller mellem store og små bogstaver.
- Muligheden for at registrere ARM32EC-moduler er blevet tilføjet til regsvr32- og rundll64-værktøjerne.
- Tilføjede hjælpeprogrammer: sorter til sortering af inputdata, fc til sammenligning af filer og hvor for at søge efter filer.
- Wmic-applikationen implementerer en interaktiv driftstilstand.
- Explorer har tilføjet valgfri support til startmenuen og værktøjslinjen. Aktiveret lancering af explorer.exe med reducerede adgangsrettigheder.
- Udviklingsværktøjer
- Tilføjet "-marm64x" mulighed til vinbygning for at generere ARM64X hybridbiblioteker.
- Tilføjet "-marm64x" mulighed til winegcc for at tillade bygning til ARM64X.
- Filer genereret ved hjælp af Interface Definition Language (IDL) bruger komponenter, der fuldt ud understøtter eksekvering i fortolket tilstand.
- Understøttelse af generering af typebiblioteker (TypeLib) i det gamle format (SLTG) er blevet tilføjet til IDL (Interface Definition Language) compileren.
- Winedump-værktøjet har tilføjet understøttelse til at gemme dumps af minidump-tabeller, C++ undtagelsesoplysninger og typelib-ressourcer.
- Miscellanea
- Forbedret understøttelse af Diffie-Hellman (DH) nøgleudvekslingsprotokollen. Tilføjet muligheden for at konfigurere og modtage DH-parametre. Implementerede handlere til at skabe par af offentlige og private nøgler.
- Brugen af inkrementel polstring OAEP (Optimal Asymmetric Encryption Padding) sammen med RSA-algoritmen er tilvejebragt.
- DirectPlay API understøtter netværkssessioner.
- Forbedret håndtering af asynkrone input/output-tilstande, når man arbejder i WoW64 (64-bit) tilstand Windows-på-Windows), som giver dig mulighed for at køre 32-bit Windows-applikationer på 64-bit Unix-systemer.
- Добавлена поддержка загрузки ODBC-драйверов к СУБД, собранных для Windows.
- For ARM-platformen er fuld understøttelse af RPC/COM, C++ RTTI (Run-Time Type Information) og C++ undtagelser implementeret.
- I C runtime implementerer ANSI-funktioner understøttelse af UTF-8-kodning.
- Mulighederne for MSHTML-motoren er blevet udvidet. Tilføjet understøttelse af prototyper og objektkonstruktører. En ny objektbindingsgrænseflade til MSHTML er blevet tilføjet til JavaScript-motoren. MSHTML indbyggede funktioner er blevet konverteret til gyldige JavaScript-objekter. Forbedret JavaScript-skraldesamling til at dække alle scriptudførelseskontekster i en tråd. Tilføjet understøttelse af ArrayBuffer og DataView JavaScript-objekter.
- Understøttelse af statisk analyse ved hjælp af Clang- og JUnit-testrapporter er blevet tilføjet til det Gitlab-baserede kontinuerlige integrationssystem.
- Capstone 5.0.3-biblioteket er indbygget i pakken, hvorigennem demontering implementeres i WineDb-debuggeren.
- Komponenter opdateret til nye versioner: 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, LibPng 4.7.0, Lib.ml.Tiff 2.ml. 2.12.8, LibXslt 1.1.42 og Zlib 1.3.1.
Kilde: opennet.ru
