Versione stabile di Wine 8.0

Dopo un anno di sviluppo e 28 versioni sperimentali, è stata presentata una versione stabile dell'implementazione aperta dell'API Win32 - Wine 8.0, che incorporava più di 8600 modifiche. Il risultato chiave nella nuova versione segna il completamento del lavoro sulla traduzione dei moduli Wine nel formato.

Wine ha confermato il pieno funzionamento di 5266 programmi (un anno fa 5156, due anni fa 5049) programmi per Windows, altri 4370 programmi (un anno fa 4312, due anni fa 4227) funzionano perfettamente con impostazioni aggiuntive e DLL esterne. 3888 programmi (3813 un anno fa, 3703 due anni fa) presentano piccoli problemi operativi che non interferiscono con l'utilizzo delle principali funzioni delle applicazioni.

Principali innovazioni in Wine 8.0:

  • Moduli in formato PE
    • Dopo quattro anni di lavoro, è stata completata la conversione di tutte le librerie DLL per utilizzare il formato di file eseguibile PE (Portable Executable, utilizzato in Windows). L'uso di PE consente l'uso dei debugger disponibili per Windows e risolve i problemi relativi al supporto di vari schemi di protezione dalla copia che verificano l'identità dei moduli di sistema su disco e in memoria. Sono stati risolti anche i problemi relativi all'esecuzione di applicazioni a 32 bit su host a 64 bit e di applicazioni x86 su sistemi ARM. Tra i restanti compiti che si prevede di risolvere nelle successive versioni sperimentali di Wine 8.x, c'è la transizione dei moduli all'interfaccia delle chiamate di sistema NT invece di effettuare chiamate dirette tra gli strati PE e Unix.
    • È stato implementato uno speciale gestore delle chiamate di sistema, utilizzato per tradurre le chiamate dalle librerie PE alle librerie Unix al fine di ridurre il sovraccarico dell'esecuzione di una chiamata di sistema NT completa. Ad esempio, l'ottimizzazione ha permesso di ridurre il degrado delle prestazioni quando si utilizzano le librerie OpenGL e Vulkan.
    • Le applicazioni Winelib mantengono la capacità di utilizzare assembly misti Windows/Unix di librerie ELF (.dll.so), ma tali applicazioni senza librerie a 32 bit non supporteranno le funzionalità disponibili tramite l'interfaccia delle chiamate di sistema NT, come WoW64.
  • WoW64
    • I livelli WoW64 (Windows-on-Windows a 64 bit) sono forniti per tutte le librerie Unix, consentendo ai moduli a 32 bit in formato PE di accedere alle librerie Unix a 64 bit che, dopo aver eliminato le chiamate dirette PE/Unix, lo renderanno possibile eseguire applicazioni Windows a 32 bit senza installare librerie Unix a 32 bit.
    • In assenza di un caricatore Wine a 32 bit, le applicazioni a 32 bit possono essere eseguite nella nuova modalità sperimentale WoW64 simile a Windows, in cui il codice a 32 bit viene eseguito all'interno di un processo a 64 bit. La modalità è abilitata quando si compila Wine con l'opzione '—enable-archs'.
  • Sottosistema grafico
    • La configurazione predefinita utilizza il tema chiaro (“Luce”). Puoi cambiare il tema usando l'utilità WineCfg.
      Versione stabile di Wine 8.0
    • I driver grafici (winex11.drv, winemac.drv, wineandroid.drv) vengono convertiti per eseguire chiamate di sistema a livello Unix e accedere ai driver tramite la libreria Win32u.
      Versione stabile di Wine 8.0
    • È stata implementata l'architettura del processore di stampa che consente di eliminare le chiamate dirette tra i livelli PE e Unix nel driver della stampante.
    • L'API Direct2D ora supporta gli effetti.
    • L'API Direct2D ha aggiunto la possibilità di registrare e riprodurre elenchi di comandi.
    • Il driver per l'API grafica Vulkan ha aggiunto il supporto per la specifica Vulkan 1.3.237 (Vulkan 7 era supportato in Wine 1.2).
  • Direct3D
    • Aggiunto un nuovo compilatore shader per HLSL (High-Level Shader Language), implementato in base alla libreria vkd3d-shader. Sempre basati su vkd3d-shader, sono stati preparati un disassemblatore HLSL e un preprocessore HLSL.
    • L'interfaccia Thread Pump introdotta in D3DX 10 è stata implementata.
    • Gli effetti Direct3D 10 aggiungono il supporto per molte nuove espressioni.
    • La libreria di supporto per D3DX 9 ora supporta la proiezione di texture Cubemap.
  • Suono e video
    • Basato sul framework GStreamer, è stato implementato il supporto per i filtri per la decodifica dell'audio in formato MPEG-1.
    • Aggiunto filtro per la lettura di streaming audio e video in formato ASF (Advanced Systems Format).
    • È stato eliminato il livello libreria intermedio OpenAL32.dll, al posto del quale viene ora utilizzata la libreria nativa Windows OpenAL32.dll, fornita con le applicazioni.
    • Media Foundation Player ha migliorato il rilevamento del tipo di contenuto.
    • È stata implementata la capacità di controllare la velocità di trasferimento dei dati (Rate control).
    • Supporto migliorato per il mixer e il presentatore predefiniti nell'Enhanced Video Renderer (EVR).
    • Aggiunta l'implementazione iniziale dell'API di codifica Writer.
    • Supporto migliorato del caricatore di topologia.
  • Dispositivi di input
    • Supporto notevolmente migliorato per l'hot plug dei controller.
    • Viene proposta un'implementazione migliorata del codice per determinare i volanti dei giochi, costruita sulla base della libreria SDL.
    • Supporto migliorato per l'effetto Force feedback quando si utilizzano le ruote da gioco.
    • È stata implementata la capacità di controllare i motori di vibrazione sinistro e destro utilizzando la specifica HID Haptic.
    • Modificato il design del pannello di controllo del joystick.
    • Il supporto per i controller Sony DualShock e DualSense viene fornito tramite l'uso del backend hidraw.
    • Il modulo WinRT Windows.Gaming.Input viene proposto con l'implementazione di un'interfaccia software per l'accesso a gamepad, joystick e ruote da gioco. Per la nuova API, tra le altre cose, viene implementato il supporto per la notifica dell'hot plug dei dispositivi, degli effetti tattili e delle vibrazioni.
  • Internazionalizzazione
    • È garantita la generazione del database locale corretto nel formato locale.nls dal repository Unicode CLDR (Unicode Common Locale Data Repository).
    • Le funzioni di confronto delle stringhe Unicode sono state spostate per utilizzare il database e l'algoritmo Windows Sortkey invece dell'algoritmo Unicode Collation, avvicinando il comportamento a quello di Windows.
    • Alla maggior parte delle funzionalità è stato aggiunto il supporto per gli intervalli di codici Unicode superiori (piani).
    • È possibile utilizzare UTF-8 come codifica ANSI.
    • Le tabelle dei caratteri sono state aggiornate alla specifica Unicode 15.0.0.
  • Testo e caratteri
    • Il collegamento dei caratteri è stato abilitato per la maggior parte dei caratteri di sistema, risolvendo il problema dei glifi mancanti sui sistemi con versioni locali cinese, coreana e giapponese.
    • Fallback dei caratteri di fallback rielaborato in DirectWrite.
  • Kernel (interfacce del kernel di Windows)
    • È stato implementato il database ApiSetSchema che ha sostituito i moduli api-ms-* e ridotto il consumo di spazio su disco e indirizzi.
    • Gli attributi dei file DOS vengono salvati su disco in un formato compatibile con Samba utilizzando attributi FS estesi.
  • Funzionalità di rete
    • Aggiunto il supporto per l'OCSP (Online Certificate Status Protocol), utilizzato per verificare i certificati revocati.
    • La gamma di funzionalità EcmaScript disponibili nella modalità di conformità agli standard JavaScript è stata ampliata.
    • Implementato un garbage collector per JavaScript.
    • Il pacchetto motore Gecko include funzionalità per persone con disabilità.
    • MSHTML aggiunge il supporto per l'API Web Storage, l'oggetto Performance e oggetti aggiuntivi per la gestione degli eventi.
  • Applicazioni incorporate
    • Tutte le applicazioni integrate sono state convertite per utilizzare la libreria Common Controls 6, con supporto per temi di progettazione e rendering che tengono conto di schermi con elevata densità di pixel.
    • Funzionalità migliorate per il debug dei thread nel Wine Debugger (winedbg).
    • Le utilità del registro (REGEDIT e REG) ora supportano il tipo QWORD.
    • Blocco note ha aggiunto una barra di stato con informazioni sulla posizione del cursore e una funzione Vai alla riga per passare a un numero di riga specificato
    • La console integrata fornisce l'output dei dati nella codepage OEM.
    • Il comando 'query' è stato aggiunto all'utilità sc.exe (Service Control).
  • Sistema di assemblaggio
    • È stata fornita la possibilità di creare file eseguibili in formato PE per diverse architetture (ad esempio, '—enable-archs=i386,x86_64').
    • Su tutte le piattaforme con il tipo long a 32 bit, i tipi di dati definiti come long in Windows vengono ora ridefiniti come 'long' anziché 'int' in Wine. In Winelib, questo comportamento può essere disabilitato tramite la definizione WINE_NO_LONG_TYPES.
    • Aggiunta la possibilità di generare librerie senza utilizzare dlltool (abilitato impostando l'opzione '—without-dlltool' in winebuild).
    • Per migliorare l'efficienza di caricamento e ridurre la dimensione delle librerie senza codice e di sole risorse, winegcc implementa l'opzione '--data-only'.
  • Varie
    • Versioni aggiornate delle librerie integrate Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXslt 1.1.37, Zlib 1.2.13.
    • Il motore di Wine Mono con l'implementazione della piattaforma .NET è stato aggiornato alla release 7.4.
    • È stato implementato il supporto per la crittografia basata sull'algoritmo RSA e sulle firme digitali RSA-PSS.
    • Aggiunta la versione iniziale dell'API di UI Automation.
    • L'albero dei sorgenti include le librerie LDAP e vkd3d, che sono compilate in formato PE, eliminando la necessità di fornire assembly Unix di queste librerie.
    • La libreria OpenAL è stata interrotta.

Fonte: opennet.ru

Aggiungi un commento