Versione stabile di Wine 8.0

Dopo un anno di sviluppo e 28 versioni sperimentali, è stata presentata la versione stabile della realizzazione open source dell'API Win32 — Wine 8.0, che include oltre 8600 modifiche. Uno dei principali successi di questa nuova versione è il completamento del processo di migrazione dei moduli di Wine in un nuovo formato.

In Wine è confermato il supporto completo per 5266 programmi (l'anno scorso 5156, due anni fa 5049) per Windows, mentre altri 4370 (l'anno scorso 4312, due anni fa 4227) funzionano benissimo con alcune configurazioni aggiuntive e DLL esterne. Per 3888 programmi (l'anno scorso 3813, due anni fa 3703) si osservano piccoli problemi che non compromettono l'uso delle funzioni principali delle applicazioni.

Novità principali di Wine 8.0:

  • Moduli in formato PE
    • Dopo quattro anni di lavoro, è stato completato il trasferimento di tutte le librerie DLL all'uso del formato di file eseguibili PE (Portable Executable, utilizzato in Windows). L'uso di PE consente di utilizzare i debugger disponibili per Windows e risolve problemi relativi al supporto di vari schemi di protezione dalla copia che effettuano un controllo dell'identità dei moduli di sistema su disco e in memoria. Inoltre, sono stati risolti problemi relativi all'esecuzione di applicazioni a 32 bit su host a 64 bit e di applicazioni x86 su sistemi ARM. Tra i compiti rimanenti, che si prevede di affrontare nelle successive versioni sperimentali di Wine 8.x, vi è il trasferimento dei moduli all'interfaccia delle chiamate di sistema NT anziché eseguire chiamate dirette tra i livelli PE e Unix.
    • È stato implementato un gestore di chiamate di sistema speciale, utilizzato per tradurre le richieste da PE a librerie Unix, al fine di ridurre il sovraccarico durante l'esecuzione di una chiamata di sistema NT completa. Ad esempio, l'ottimizzazione effettuata ha consentito di ridurre il calo delle prestazioni durante l'utilizzo delle librerie OpenGL e Vulkan.
    • Nelle applicazioni Winelib è rimasta la possibilità di utilizzare assemblee miste di librerie Windows/Unix in formato ELF (.dll.so), ma tali applicazioni senza librerie a 32 bit non supporteranno le funzionalità disponibili attraverso l'interfaccia delle chiamate di sistema NT, come WoW64.
  • WoW64
    • Per tutte le librerie Unix sono fornite interfacce WoW64 (Windows-on-Windows a 64 bit) che consentono ai moduli a 32 bit in formato PE di accedere a librerie Unix a 64 bit, il che, dopo aver eliminato le chiamate dirette PE/Unix, permetterà l'esecuzione di applicazioni Windows a 32 bit senza dover installare le librerie Unix a 32 bit.
    • In assenza di un caricatore a 32 bit, Wine garantisce l'esecuzione di applicazioni a 32 bit in una nuova modalità sperimentale simile a Windows WoW64, in cui il codice a 32 bit viene eseguito all'interno di un processo a 64 bit. Questa modalità si attiva compilando Wine con l'opzione '—enable-archs'.
  • Sottosistema grafico
    • Nella configurazione predefinita è stata applicata una tema chiaro ('Light'). È possibile cambiare tema utilizzando l'utilità WineCfg.
      Versione stabile di Wine 8.0
    • I driver grafici (winex11.drv, winemac.drv, wineandroid.drv) sono stati adattati per eseguire le chiamate di sistema a livello Unix e per accedere ai driver tramite la libreria Win32u.
      Versione stabile di Wine 8.0
    • È stata implementata l'architettura dei processori di stampa (Print Processor), utilizzata per escludere nel driver della stampante le chiamate dirette tra i livelli PE e Unix.
    • Nell'API Direct2D è stata introdotta la supporto per gli effetti.
    • Nell'API Direct2D è stata aggiunta la possibilità di registrare e riprodurre liste di comandi.
    • Nel driver per l'API grafica Vulkan è stata aggiunta la supporto alla specifica Vulkan 1.3.237 (in Wine 7 era supportata Vulkan 1.2).
  • Direct3D
    • È stato aggiunto un nuovo compilatore di shader per il linguaggio HLSL (High-Level Shader Language), implementato sulla base della libreria vkd3d-shader. Inoltre, sulla base di vkd3d-shader sono stati predisposti un disassemblatore HLSL e un preprocessore HLSL.
    • È stata implementata l'interfaccia Thread Pump, apparsa in D3DX 10.
    • Negli effetti Direct3D 10 è stato aggiunto il supporto per molte nuove espressioni.
    • Nella libreria di supporto per D3DX 9 è stato attivato il supporto per la proiezione delle texture Cubemap.
  • Audio e video
    • Sulla base del framework GStreamer è stato implementato il supporto per filtri per la decodifica dell'audio nel formato MPEG-1.
    • È stato aggiunto un filtro per la lettura di flussi audio e video nel formato ASF (Advanced Systems Format).
    • È stata rimossa la libreria intermedia OpenAL32.dll, sostituita dalla biblioteca nativa di Windows OpenAL32.dll fornita con le applicazioni.
    • In Media Foundation Player è stato migliorato il riconoscimento del tipo di contenuto.
    • Implementata la possibilità di gestire il controllo della velocità di trasmissione (Rate control).
    • Migliorato il supporto per il mixer e il presenter offerti di default nel Enhanced Video Renderer (EVR).
    • Aggiunta l'implementazione iniziale dell'API Writer Encoding.
    • Migliorato il supporto per il caricatore di topologie.
  • Dispositivi di input
    • Significativo miglioramento del supporto per il collegamento a caldo dei controller.
    • Proposta un'implementazione migliorata del codice per il riconoscimento dei volanti, basata sulla libreria SDL.
    • Migliorato il supporto per l'effetto di feedback vibrante (Force feedback) durante l'uso dei volanti.
    • Implementata la possibilità di controllare i motori vibranti sinistro e destro che utilizzano la specifica HID Haptic.
    • Modificato il layout. pannelli di controllo con il joystick.
    • Attraverso l'uso del backend hidraw, è stato garantito il supporto per i controller Sony DualShock e DualSense.
    • Proposto il modulo WinRT Windows.Gaming.Input con l'implementazione dell'interfaccia per l'accesso ai gamepad, joystick e volanti. Per la nuova API, tra l'altro, è stato implementato il supporto per le notifiche di collegamento a caldo dei dispositivi, effetti tattili e vibranti.
  • Internazionalizzazione
    • È stata garantita la generazione di un 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 tradotte per utilizzare il database e l'algoritmo Windows Sortkey invece dell'algoritmo Unicode Collation, avvicinando così il comportamento a quello di Windows.
    • Nella maggior parte delle funzioni è stato aggiunto il supporto per i codici di alta gamma (piani) Unicode.
    • È stata fornita la possibilità di utilizzare UTF-8 come codifica ANSI.
    • Le tabelle dei caratteri sono state aggiornate alla specifica Unicode 15.0.0.
  • Testo e caratteri
    • Per la maggior parte dei font di sistema è stata inclusa la legatura dei font, risolvendo il problema delle glifi mancanti sui sistemi con le locali cinesi, coreane e giapponesi.
    • È stato riprogettato il fallback a un font di riserva in DirectWrite.
  • Nucleo (interfacce di core di Windows)
    • È stato implementato il database ApiSetSchema, che ha sostituito i moduli api-ms-* e ha consentito di ridurre il consumo di spazio su disco e indirizzamento.
    • È stata garantita la conservazione degli attributi dei file DOS su disco in un formato compatibile con Samba, utilizzando per questo gli attributi estesi del FS.
  • Funzionalità di rete
    • È stata aggiunta la supporto per il protocollo OCSP (Online Certificate Status Protocol), utilizzato per verificare i certificati revocati.
    • È stata ampliata la gamma di funzionalità di EcmaScript disponibili in modalità di conformità agli standard JavaScript.
    • È stato implementato un garbage collector per JavaScript.
    • Il pacchetto con il motore Gecko include strumenti per persone con disabilità.
    • MSHTML ha aggiunto il supporto per l'API Web Storage, l'oggetto Performance e ulteriori oggetti per la gestione degli eventi.
  • Applicazioni integrate
    • Tutte le applicazioni integrate sono state modificate per utilizzare la libreria Common Controls 6, con supporto per temi e rendering ad alta densità.
    • Le funzionalità di debug dei thread sono state ampliate nel debugger Wine Debugger (winedbg).
    • Negli strumenti per la gestione del registro (REGEDIT e REG) è stato aggiunto il supporto per il tipo QWORD.
    • In Notepad è stata aggiunta una barra di stato con informazioni sulla posizione del cursore e la funzione Vai a linea per passare a un numero di riga specificato.
    • Nella console integrata è stata garantita l'uscita dei dati nella pagina di codice OEM.
    • Nell'utilità sc.exe (Service Control) è stato aggiunto il comando ‘query’.
  • Sistema di build
    • È stata fornita la possibilità di compilare file eseguibili in formato PE per diverse architetture (ad esempio, ‘—enable-archs=i386,x86_64’).
    • Su tutte le piattaforme con tipo long a 32 bit, i tipi di dati definiti in Windows come long sono ora ridefiniti in Wine come ‘long’ anziché ‘int’. In Winelib, questo comportamento può essere disabilitato tramite la definizione WINE_NO_LONG_TYPES.
    • È stata aggiunta la possibilità di generare librerie senza utilizzare dlltool (attivabile tramite l'opzione ‘—without-dlltool’ in winebuild).
    • Per migliorare l'efficienza del caricamento e ridurre la dimensione delle librerie che non contengono codice ma includono solo risorse, in winegcc è stata implementata l'opzione ‘—data-only’.
  • Varie
    • Aggiornate le versioni delle librerie incorporate 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 Wine Mono con l'implementazione della piattaforma .NET è stato aggiornato alla versione 7.4.
    • È stato implementato il supporto per la crittografia basata sull'algoritmo RSA e le firme digitali RSA-PSS.
    • È stata aggiunta la versione iniziale dell'API UI Automation.
    • Le librerie LDAP e vkd3d sono state incluse nell'albero dei sorgenti, costruite in formato PE, eliminando la necessità di fornire versioni Unix di queste librerie.
    • È stata interrotta l'utilizzo della libreria OpenAL.

Fonte: opennet.ru

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