Versione stabile di Wine 10.0

Dopo un anno di sviluppo e 29 versioni sperimentali, è stata presentata una versione stabile dell'implementazione aperta dell'API Win32 - Wine 10.0, che incorporava più di 6000 modifiche. I principali risultati della nuova versione includono il pieno supporto per l'architettura ARM64EC, il ridimensionamento su schermi con elevata densità di pixel, l'inclusione del driver Wayland per impostazione predefinita, l'implementazione di pannelli per la personalizzazione dello schermo e del joystick, un backend multimediale alternativo basato su FFmpeg, Bluetooth driver, supporto Vulkan 1.4, capacità di emulazione per cambiare modalità video.

È stato confermato che 5372 programmi funzionano correttamente in Wine Windows (5336 un anno fa, 5266 due anni fa, 5156 tre anni fa), altri 4435 programmi (4397 un anno fa, 4370 due anni fa, 4312 tre anni fa) funzionano correttamente con impostazioni aggiuntive e DLL esterne. 4020 programmi (3943 un anno fa, 3888 due anni fa, 3813 tre anni fa) presentano problemi minori che non interferiscono con l'utilizzo delle funzionalità principali dell'applicazione.

Principali innovazioni in Wine 10.0:

  • ARM64
    • Viene fornito il supporto completo per l'architettura ARM64EC (compatibile con l'emulazione ARM64), il cui livello di supporto in Wine ha raggiunto la parità con l'architettura ARM64. L'architettura ARM64EC è progettata per semplificare il porting di applicazioni originariamente scritte per sistemi x64_86 su sistemi ARM64 e consente l'esecuzione di singoli moduli di codice x64_86 nell'ambiente ARM64 utilizzando un emulatore.
    • È stato implementato il supporto completo per il formato file ARM64X PE, che consente di combinare il codice per le architetture ARM64EC e ARM64 in un unico file eseguibile. Per compilare Wine nel formato ARM64X, è necessario installare LLVM da Git (le funzionalità necessarie saranno incluse nella versione LLVM 20) e quando si esegue lo script “configure”, specificare l'opzione “-enable-archs=arm64ec,aarch64” .
    • È stata implementata un'interfaccia per l'emulazione di sistemi x64 a 86 bit. Quando si utilizza ARM64EC, Wine stesso viene eseguito così com'è e l'emulazione viene applicata solo al codice dell'applicazione x86-64. La libreria con l'emulatore non è ancora inclusa nel pacchetto principale di Wine, ma per eseguire codice x86-64 nell'ambiente ARM64 è possibile utilizzare l'emulatore FEX esterno creato con il supporto ARM64EC.
    • Для поддержки ARM64 необходимо использование в системе страниц памяти размером 4КБ, как того требует ABI Windows (запуск в окружениях с ядрами Linux, использующими страницы памяти 16K или 64K пока не поддерживается).
  • Sottosistema grafico
    • Implementato un ridimensionamento più accurato su schermi con elevata densità di pixel (High-DPI). È stato fornito il supporto per la modalità DPI Awareness per organizzare la visualizzazione delle applicazioni su schermi ad alta densità di pixel, tenendo conto se l'applicazione supporta o meno l'adattamento alle modifiche DPI (le applicazioni che non tengono conto dei DPI vengono ridimensionate automaticamente). Aggiunte opzioni per sovrascrivere il supporto High-DPI per singole applicazioni o prefissi Wine.
    • Il supporto per la specifica Vulkan 1.4 è stato aggiunto al driver per l'API grafica Vulkan (Vulkan 9.0 era supportato in Wine 1.3.272). Aggiunto supporto per le estensioni Vulkan per la codifica e decodifica video.
    • Quando si utilizza il backend X11, è stata implementata la possibilità di eseguire il rendering delle finestre secondarie Vulkan per le applicazioni che utilizzano tali finestre per visualizzare contenuti 3D (in precedenza, tale funzionalità era disponibile solo per OpenGL).
    • Alla libreria GdiPlus è stato aggiunto il supporto per il meccanismo di collegamento dei font, che consente di utilizzare diversi font durante la visualizzazione del testo se non sono presenti font che coprano separatamente tutti i caratteri trovati nel testo.
  • 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
    • Aggiunto il supporto per OpenGL e pixel buffer (pBuffer) al driver winewayland.drv.
    • Risolti i problemi con il posizionamento delle finestre popup negli ambienti basati su Wayland.
    • Quando si utilizza Wayland, viene implementato il supporto per la ripetizione automatica della pressione tenendo premuti i tasti.
  • Integrazione desktop
    • Aggiunto un meccanismo sperimentale di emulazione "modesetting" che consente di emulare il passaggio da una modalità video all'altra senza modificare effettivamente le impostazioni dello schermo. La visibilità della modifica della risoluzione dello schermo senza cambiare la modalità video viene creata espandendo e ridimensionando le finestre.
    • È stata aggiunta una nuova applet del Pannello di controllo del desktop (desk.cpl) con l'implementazione di un'interfaccia per la gestione delle impostazioni di visualizzazione (ad esempio è possibile modificare la risoluzione virtuale del desktop o configurare i parametri di visualizzazione emulati).
    • Aggiunta la possibilità di ripristinare le impostazioni dello schermo sui valori predefiniti se è impossibile ripristinare lo stato dopo un arresto anomalo del processo.
    • Добавлена поддержка отключения показа пиктограмм в системном лотке (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoTrayItemsDisplay=1»).
    • Добавлена поддержка отключения оболочек (Shell launcher) в режиме десктопа (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoDesktop=1»).
  • Direct3D
    • Il rendering con OpenGL ora richiede il supporto per GLSL 1.20, nonché le estensioni EXT_framebuffer_object e ARB_texture_non_power_of_two. Il supporto per il vecchio backend shader ARB e l'impostazione OffscreenRenderingMode è stato interrotto.
    • Per Direct3D 9 e versioni precedenti, è stata aggiunta una pipeline grafica a funzioni fisse (il vecchio Direct3D forniva solo operazioni grafiche predefinite che non potevano essere modificate), implementata utilizzando il linguaggio shader HLSL e consentendo l'emulazione di funzioni fisse durante il rendering tramite l'API Vulkan o OpenGL.
    • Il rendering con Vulkan utilizza le estensioni Vulkan per modificare dinamicamente lo stato della pipeline grafica, riducendo lo stuttering nei giochi.
    • Aggiunto backend glsl-vkd3d alternativo per shader GLSL, utilizzando vkd3d-shader.
    • Fornito supporto iniziale per la compilazione di effetti Direct3D utilizzando vkd3d-shader.
    • La libreria D3DX9 implementa la capacità di generare texture MIP (MipMap) durante il caricamento di texture volumetriche. Aggiunto il supporto per i formati di rappresentazione del colore RGBA a 64 bpp e RGB a 48 bpp nelle immagini PNG, nonché per i formati X8L8V8U8, A2W10V10U10, A8P8, V16U16 e Q16W16V16U16.
  • Suono e video
    • In alternativa al backend basato su GStreamer, è stato implementato un nuovo backend multimediale, basato sull'utilizzo di FFmpeg e adatto a far girare il framework Media Foundation. Per abilitare un backend alternativo, è necessario specificare "DisableGstByteStreamHandler=1" nella sezione del registro "HKCU\Software\Wine\MediaFoundation".
    • L'implementazione dell'API Media Foundation è stata migliorata per adattarsi meglio alle applicazioni che dipendono dai componenti di demultiplexing e decodifica.
    • L'API DirectMusic ha aggiunto il supporto per il caricamento di file MIDI.
  • Dispositivi di input
    • Aggiunta la versione iniziale del driver Bluetooth.
    • Aggiunta l'applet del pannello di controllo del joystick (joy.cpl) con l'implementazione delle impostazioni per il joystick.
    • Внесены улучшения, связанные с устройствами управления указателем (тачпады, мыши), использующими протокол HID (Human Interface Device). Добавлен драйвер mouhid.sys для HID-устройств. Реализован корректный разбор составных устройств ввода и обеспечена передача информации о них в Windows-приложения, как о раздельных устройствах.
    • Per il backend X11 è stato aggiunto il supporto per i touch screen ed è stata implementata la possibilità di utilizzare la modalità multi-touch attraverso l'elaborazione dei messaggi WM_POINTER* (WM_POINTERENTER, WM_POINTERLEAVE, ecc.).
    • Implementato il posizionamento di alcune strutture interne della libreria user32 nella memoria condivisa, che ha aumentato le prestazioni e ridotto il carico su Wine Server.
    • Winex11 ha aggiunto il supporto per l'elaborazione degli eventi XInput2 in relazione alle singole finestre.
    • Implementato il supporto corretto per le tastiere con layout Dvorak.
  • Kernel (interfacce del kernel) Windows)
    • Aggiunto supporto per l'escalation dei privilegi del processo (a un processo inizialmente eseguito come utente standard possono essere concessi privilegi di amministratore). Quando si creano processi server (server azioni msi), nonché processi che chiamano le funzioni RtlCreateUserProcess() e CreateProcessInternal(), per impostazione predefinita è abilitato un token di amministratore limitato.
    • Quando si ottengono informazioni sulle etichette del disco, quando possibile, viene ora utilizzato l'accesso ai servizi di sistema tramite DBus, invece di tentare di accedere direttamente al dispositivo.
    • Однонаправленный механизм межпроцессного взаимодействия (IPC) Mailslots теперь реализован непосредственно в Wine server, что позволило добиться полной поддержки семантики Windows.
    • Implementata l'attesa per gli eventi della porta seriale in modalità asincrona.
    • Aggiunto supporto completo per le estensioni del processore XSTATE nei contesti thread, consentendo l'uso di nuove estensioni vettoriali come AVX-512.
  • Applicazioni incorporate
    • Il motore di elaborazione dei dati di input utilizzato nell'interprete dei comandi cmd.exe è stato riscritto. Aggiunto il supporto per le operazioni "||" a cmd.exe E "&&".
    • L'utilità findstr ha aggiunto il supporto per le espressioni regolari e le ricerche senza distinzione tra maiuscole e minuscole.
    • La possibilità di registrare i moduli ARM32EC è stata aggiunta alle utilità regsvr32 e rundll64.
    • Utilità aggiunte: sort per ordinare i dati di input, fc per confrontare file e dove cercare file.
    • L'applicazione wmic implementa una modalità operativa interattiva.
    • Explorer ha aggiunto il supporto opzionale per il menu Start e la barra degli strumenti. Avvio abilitato di explorer.exe con diritti di accesso ridotti.
  • Strumenti di sviluppo
    • Aggiunta l'opzione "-marm64x" a winebuild per generare librerie ibride ARM64X.
    • Aggiunta l'opzione "-marm64x" a winegcc per abilitare la creazione per ARM64X.
    • I file generati utilizzando Interface Definition Language (IDL) utilizzano componenti che supportano completamente l'esecuzione in modalità interpretata.
    • Al compilatore IDL (Interface Definition Language) è stato aggiunto il supporto per la generazione di librerie di tipi (TypeLib) nel vecchio formato (SLTG).
    • L'utilità winedump ha aggiunto il supporto per il salvataggio dei dump delle tabelle minidump, delle informazioni sulle eccezioni C++ e delle risorse della libreria dei tipi.
  • Varie
    • Supporto migliorato per il protocollo di scambio chiavi Diffie-Hellman (DH). Aggiunta la possibilità di configurare e ricevere parametri DH. Gestori implementati per la creazione di coppie di chiavi pubbliche e private.
    • Viene fornito l'utilizzo del riempimento incrementale OAEP (Optimal Asymmetric Encryption Padding) insieme all'algoritmo RSA.
    • L'API DirectPlay supporta le sessioni di rete.
    • Gestione migliorata degli stati di input/output asincroni quando si lavora in modalità WoW64 (64 bit). Windows-sopra-Windows), che ti permette di eseguire 32 bit Windows- applicazioni su sistemi Unix a 64 bit.
    • Добавлена поддержка загрузки ODBC-драйверов к СУБД, собранных для Windows.
    • Per la piattaforma ARM è implementato il supporto completo per RPC/COM, C++ RTTI (Run-Time Type Information) ed eccezioni C++.
    • Nel runtime C, le funzioni ANSI implementano il supporto per la codifica UTF-8.
    • Le capacità del motore MSHTML sono state ampliate. Aggiunto supporto per prototipi e costruttori di oggetti. Una nuova interfaccia di associazione di oggetti per MSHTML è stata aggiunta al motore JavaScript. Le funzioni integrate MSHTML sono state convertite in oggetti JavaScript validi. Garbage Collection JavaScript migliorata per coprire tutti i contesti di esecuzione degli script in un thread. Aggiunto il supporto per gli oggetti JavaScript ArrayBuffer e DataView.
    • Al sistema di integrazione continua basato su Gitlab è stato aggiunto il supporto per l'analisi statica utilizzando i report di test Clang e JUnit.
    • Nel pacchetto è integrata la libreria Capstone 5.0.3, attraverso la quale viene implementato il disassemblaggio nel debugger WineDb.
    • Componenti aggiornati alle nuove versioni: 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 e Zlib 1.3.1.

Fonte: opennet.ru

Acquista hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting web affidabile con protezione DDoS, server VPS e VDS | ProHoster