Rilascio stabile di Wine 8.0

Dopo un anno di sviluppo e 28 versioni sperimentali, è stata presentata la versione stabile dell'implementazione open source delle API Win32 — Wine 8.0, che include oltre 8600 modifiche. Un risultato chiave della nuova versione è il completamento del lavoro di conversione dei moduli Wine nel formato.

In Wine è confermato il funzionamento completo di 5266 (l'anno scorso 5156, due anni fa 5049) programmi per Windows; altri 4370 (l'anno scorso 4312, due anni fa 4227) funzionano benissimo con alcune impostazioni aggiuntive e DLL esterne. Per 3888 programmi (l'anno scorso 3813, due anni fa 3703) si segnalano piccoli problemi nel funzionamento, che non ostacolano l'uso delle funzionalità principali delle applicazioni.

Novità chiave di Wine 8.0:

  • Moduli in formato PE
    • Dopo quattro anni di lavoro, è stata completamente completata la conversione di tutte le librerie DLL per utilizzare il formato dei file eseguibili PE (Portable Executable, utilizzato in Windows). L'uso del formato PE consente di utilizzare i debugger disponibili per Windows e risolve i problemi di supporto di vari schemi di protezione dalla copia, che effettuano il controllo dell'identità dei moduli di sistema su disco e in memoria. Sono stati anche risolti i problemi di funzionamento delle applicazioni a 32 bit su host a 64 bit e delle applicazioni x86 su sistemi ARM. Tra le restanti attività che si intendono risolvere nelle successive versioni sperimentali di Wine 8.x, si segnala la conversione dei moduli all'interfaccia delle chiamate di sistema NT, invece di effettuare chiamate dirette tra i livelli PE e Unix.
    • È stato implementato un gestore speciale delle chiamate di sistema, utilizzato per tradurre le richieste da PE a librerie Unix, al fine di ridurre i costi di overhead durante l'esecuzione di una chiamata di sistema NT completa. Ad esempio, l'ottimizzazione effettuata ha consentito di ridurre il calo delle prestazioni nell'uso delle librerie OpenGL e Vulkan.
    • Nelle applicazioni Winelib è mantenuta la possibilità di utilizzare assembly miste di librerie Windows/Unix nel formato ELF (.dll.so); tuttavia, tali applicazioni senza librerie a 32 bit non supporteranno la funzionalità disponibile tramite l'interfaccia delle chiamate di sistema NT, come ad esempio WoW64.
  • WoW64
    • Per tutte le librerie Unix sono disponibili strati WoW64 (Windows-on-Windows a 64 bit), che consentono ai moduli a 32 bit in formato PE di interfacciarsi con librerie Unix a 64 bit, il che, dopo aver eliminato le chiamate dirette PE/Unix, permette l'esecuzione di applicazioni Windows a 32 bit senza installare librerie Unix a 32 bit.
    • In assenza di un caricatore a 32 bit, Wine consente l'esecuzione di applicazioni a 32 bit in una nuova modalità sperimentale simile a Windows chiamata WoW64, nella quale il codice a 32 bit viene eseguito all'interno di un processo a 64 bit. La modalità è attivabile durante la compilazione di Wine con l'opzione ‘—enable-archs’.
  • Sottosistema grafico
    • Nella configurazione predefinita è applicato un tema chiaro ('Light'). È possibile cambiare il tema tramite l'utilità WineCfg.
      Rilascio stabile di Wine 8.0
    • I driver grafici (winex11.drv, winemac.drv, wineandroid.drv) sono stati trasformati per eseguire chiamate di sistema a livello Unix e accedere ai driver tramite la libreria Win32u.
      Rilascio stabile di Wine 8.0
    • È stata implementata un'architettura per i gestori dell'output di stampa (Print Processor), utilizzata per escludere nel driver della stampante le chiamate dirette tra i livelli PE e Unix.
    • Nell'API Direct2D è stata implementata la compatibilità con gli effetti.
    • Nell'API Direct2D è stata aggiunta la possibilità di registrare e riprodurre elenchi di comandi.
    • Nel driver per l'API grafica Vulkan è stata aggiunta la compatibilità con la specifica Vulkan 1.3.237 (in Wine 7 era supportato Vulkan 1.2).
  • Direct3D
    • È stato aggiunto un nuovo compilatore di shader per il linguaggio HLSL (High-Level Shader Language), realizzato sulla base della libreria vkd3d-shader. Inoltre, sulla base di vkd3d-shader sono stati preparati un disassemblatore HLSL e un preprocessore HLSL.
    • È stata implementata l'interfaccia Thread Pump, apparsa in D3DX 10.
    • Negli effetti di Direct3D 10 è stata aggiunta la compatibilità con molte nuove espressioni.
    • Nella libreria ausiliaria per D3DX 9 è stata implementata la proiezione delle texture Cubemap.
  • Audio e video
    • Sulla base del framework GStreamer è stata implementata la compatibilità con i filtri per la decodifica audio nel formato MPEG-1.
    • È stato aggiunto un filtro per la lettura di audio e video in streaming nel formato ASF (Advanced Systems Format).
    • È stata rimossa la libreria intermedia di appoggio OpenAL32.dll, che ora è sostituita dalla libreria nativa di Windows OpenAL32.dll fornita con le applicazioni.
    • Nel Media Foundation Player è stato migliorato il riconoscimento del tipo di contenuto.
    • È stata implementata la possibilità di controllare la velocità di trasmissione dei dati (Rate control).
    • È stata migliorata la compatibilità con il mixer e il presentatore (presenter), forniti di default nell'Enhanced Video Renderer (EVR).
    • È stata aggiunta l'implementazione iniziale dell'API Writer Encoding.
    • Migliorato il supporto per il caricatore di topologie.
  • Dispositivi di input
    • Significativamente migliorato il supporto per il collegamento a caldo dei controller.
    • Proposta un'implementazione migliorata del codice per la rilevazione dei volanti, basata sulla libreria SDL.
    • Migliorato il supporto per l'effetto di feedback tattile (Force feedback) utilizzando i volanti.
    • Implementata la gestione dei motori di vibrazione sinistro e destro, utilizzando la specifica HID Haptic.
    • Modificato l'aspetto 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 un'interfaccia per accedere ai gamepad, joystick e volanti. Per la nuova API è stata realizzata, tra l'altro, la gestione delle notifiche per il collegamento a caldo dei dispositivi, effetti tattili e di vibrazione.
  • Internazionalizzazione
    • Generata correttamente una base di dati delle località nel formato locale.nls dal repository Unicode CLDR (Unicode Common Locale Data Repository).
    • Le funzioni di confronto delle stringhe Unicode sono state modificate per utilizzare la base di dati e l'algoritmo Windows Sortkey, anziché l'algoritmo Unicode Collation, avvicinando il comportamento a Windows.
    • Nella maggior parte delle funzioni è stato aggiunto il supporto per gli alti intervalli di codici (piani) Unicode.
    • Fornita la possibilità di utilizzare UTF-8 come codifica ANSI.
    • Tabelle dei caratteri aggiornate alla specifica Unicode 15.0.0.
  • Testo e caratteri
    • Per la maggior parte dei caratteri di sistema è stata abilitata l'associazione dei caratteri, risolvendo il problema della mancanza di glifi nei sistemi con localizzazioni cinesi, coreane e giapponesi.
    • Ripensato il fallback al carattere di riserva in DirectWrite.
  • Nucleo (interfacce del kernel Windows)
    • Implementata la base dati ApiSetSchema, che ha sostituito i moduli api-ms-* e ha consentito di ridurre il consumo di spazio su disco e indirizzamento della memoria.
    • Garantita la conservazione su disco degli attributi file DOS in un formato compatibile con Samba, utilizzando per questo attributi estesi FS.
  • Funzionalità di rete
    • Aggiunto il supporto per il protocollo OCSP (Online Certificate Status Protocol), utilizzato per la verifica dei certificati revocati.
    • Ampliate le funzionalità di EcmaScript disponibili in modalità conforme allo standard JavaScript.
    • Implementato un garbage collector per JavaScript.
    • Inclusi strumenti per la disabilità nel pacchetto con il motore Gecko.
    • Aggiunto il supporto per l'API Web Storage, l'oggetto Performance e ulteriori oggetti per la gestione degli eventi in MSHTML.
  • Applicazioni integrate
    • Tutte le applicazioni integrate sono state tradotte per utilizzare la libreria Common Controls 6, con supporto per temi e rendering considerando schermi ad alta densità di pixel.
    • Ampliate le funzionalità di debug dei thread nel debugger Wine Debugger (winedbg).
    • Nei programmi 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 Goto Line per saltare a un numero di riga specificato.
    • Nella console integrata è stato assicurato l'output dei dati nella pagina di codice OEM.
    • All'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 più 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, in Wine sono ora ridefiniti come ‘long’ invece di ‘int’. In Winelib questo comportamento può essere disabilitato definendo WINE_NO_LONG_TYPES.
    • È stata aggiunta la possibilità di generare librerie senza l'uso di dlltool (attivata impostando l'opzione ‘—without-dlltool’ in winebuild).
    • Per migliorare l'efficienza del caricamento e ridurre le dimensioni delle librerie che non contengono codice e includono solo risorse, in winegcc è stata implementata l'opzione ‘—data-only’.
  • Varie
    • Aggiornate le versioni 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 Wine Mono con implementazione della piattaforma .NET è stato aggiornato alla versione 7.4.
    • Implementato il supporto per la crittografia basata su algoritmo RSA e firme digitali RSA-PSS.
    • Aggiunta la versione iniziale dell'API UI Automation.
    • Nell'albero dei sorgenti sono state incluse le librerie LDAP e vkd3d, che vengono compilate in formato PE, eliminando la necessità di fornire versioni Unix di queste librerie.
    • Interrotto l'uso della libreria OpenAL.

Fonte: opennet.ru

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