Home Homebrew Rilasciato Wine HQ v9.0

Rilasciato Wine HQ v9.0

315
0

Pubblicato un nuovo aggiornamento per Wine, lo strumento ci permette di eseguire correttamente i programmi Microsoft Windows (inclusi eseguibili DOS, Windows 3.x, Win32 e Win64) su sistemi Unix.

Esso comprende un caricatore di programmi che carica ed esegue un binario Microsoft Windows, e una libreria chiamata Winelib che implementa le chiamate API di Windows utilizzando i loro equivalenti su Unix, X11 o Mac.

La libreria può anche essere impiegata per il porting del codice Windows in eseguibili nativi Unix.

Questa nuova versione rappresenta un anno di intensi sforzi di sviluppo, con oltre 7.000 modifiche individuali. Tra i numerosi miglioramenti, spiccano la nuova architettura WoW64 e l’introduzione del driver sperimentale Wayland.

Avvio rapido

Dalla directory principale delle sorgenti di Wine (che contiene questo file), eseguire:

./configure
make

Successivamente, è possibile installare Wine con il comando: make install, oppure eseguire Wine direttamente dalla directory di compilazione con il comando: ./wine notepad

Per eseguire programmi, utilizzare il comando wine program. Per ulteriori informazioni e risoluzione dei problemi, consultare la pagina man di Wine e, soprattutto, la ricca documentazione disponibile su https://www.winehq.org.

Requisiti

Per compilare ed eseguire Wine, è necessario disporre di uno dei seguenti sistemi operativi:

  • Linux versione 2.0.36 o successiva.
  • FreeBSD 12.4 o successiva.
  • Solaris x86 9 o successiva.
  • NetBSD-current.
  • Mac OS X 10.8 o successiva.

Poiché Wine richiede il supporto ai thread a livello del kernel per funzionare, sono supportati solo i sistemi operativi menzionati sopra. Altri sistemi operativi che supportano i thread a livello di kernel potrebbero essere supportati in futuro.

Informazioni aggiuntive

  • Per FreeBSD, consultare https://wiki.freebsd.org/Wine per ulteriori dettagli.
  • Per Solaris, è probabile che sia necessario compilare Wine con il toolchain GNU (gcc, gas, ecc..). Avviso: L’installazione di gas non garantisce che sarà utilizzato da gcc. È stato segnalato che è necessario ricompilare gcc dopo l’installazione di gas o collegare cc, as e ld agli strumenti GNU.
  • Per NetBSD, assicurarsi che le opzioni USER_LDT, SYSVSHM, SYSVSEM e SYSVMSG siano attivate nel kernel.
  • Per Mac OS X, è necessario Xcode/Xcode Command Line Tools o Apple cctools. I requisiti minimi per compilare Wine sono clang 3.8 con MacOSX10.10.sdk e mingw-w64 v8. MacOSX10.14.sdk e versioni successive possono compilare solo wine64.
  • Wine dovrebbe funzionare su gran parte dei file system, ma possono verificarsi problemi di compatibilità con file accessibili tramite Samba. Inoltre, NTFS potrebbe non fornire tutte le funzionalità del file system necessarie per alcune applicazioni. Si consiglia l’uso di un file system nativo Unix.
  • È necessario avere installati i file di inclusione di sviluppo X11 (chiamati xorg-dev in Debian e libX11-devel in Red Hat). Inoltre, sono necessari make (molto probabilmente GNU make), flex versione 2.5.33 o successiva e bison.
  • Librerie di supporto opzionali: Configure visualizzerà avvisi quando le librerie opzionali non sono presenti nel sistema. Consultare https://wiki.winehq.org/Recommended_Packages per suggerimenti sulle librerie da installare. Su piattaforme a 64 bit, assicurarsi di installare le versioni a 32 bit di queste librerie.

Compilazione

Per compilare Wine, eseguire i seguenti comandi:

./configure
make

Questo genererà il programma “wine” e numerose librerie/binari di supporto. Il programma “wine” consentirà di caricare ed eseguire eseguibili Windows, mentre la libreria “libwine” (chiamata anche Winelib) può essere utilizzata per compilare e collegare codice sorgente Windows in ambiente Unix.

Per visualizzare le opzioni di configurazione della compilazione, eseguire ./configure --help. Per ulteriori informazioni, consultare https://wiki.winehq.org/Building_Wine.

Installazione

Una volta compilato correttamente Wine, è possibile eseguire make install. Questo installerà l’eseguibile e le librerie Wine, la pagina man di Wine e altri file necessari.

Prima dell’installazione, assicurarsi di disinstallare eventuali installazioni precedenti di Wine conflittuali. Utilizzare comandi come dpkg -r wine, rpm -e wine o make uninstall prima di procedere con l’installazione.

Dopo l’installazione, è possibile eseguire lo strumento di configurazione winecfg. Per ulteriori suggerimenti di configurazione, consultare l’area di supporto su https://www.winehq.org/.

Esecuzione dei programmi

Quando si richiama Wine, è possibile specificare il percorso completo dell’eseguibile o solo il nome del file. Ad esempio, per eseguire Notepad:

  • wine notepad (utilizzando il percorso di ricerca specificato nel registro per individuare il file).
  • wine notepad.exe (utilizzando la sintassi del nome file DOS).
  • wine ~/.wine/drive_c/windows/notepad.exe (utilizzando la sintassi del nome file Unix).
  • wine notepad.exe readme.txt (chiamare il programma con parametri).

Wine non è perfetto, quindi alcuni programmi potrebbero crashare. In caso di crash, verrà generato un log che dovrebbe essere allegato nel report quando si segnala un bug.

Maggiori informazioni

  • WWW: Una vasta quantità di informazioni su Wine è disponibile su WineHQ su https://www.winehq.org/: guide di Wine, database delle applicazioni, tracciamento bug. Questo è probabilmente il miglior punto di partenza.
  • FAQ: La FAQ di Wine si trova su https://www.winehq.org/FAQ.
  • Wiki: Il Wiki di Wine è disponibile su https://wiki.winehq.org.
  • Gitlab: Lo sviluppo di Wine è ospitato su https://gitlab.winehq.org.
  • Mailing list: Ci sono diverse mailing list per gli utenti e gli sviluppatori di Wine; vedere https://www.winehq.org/forums per ulteriori informazioni.
  • Bugs: Segnalare bug a Wine Bugzilla su https://bugs.winehq.org. Prima di inviare una segnalazione di bug, effettuare una ricerca nel database Bugzilla per verificare se il problema è già noto o risolto.
  • IRC: L’aiuto online è disponibile sul canale #WineHQ su irc.libera.chat.

Changelog

WoW64

  • Tutte le transizioni dal codice Windows a Unix passano attraverso l’interfaccia syscall NT. Si tratta di un traguardo importante che segna il completamento del lavoro pluriennale di riarchitettura per convertire i moduli nel formato PE e introdurre un confine adeguato tra i mondi Windows e Unix.
  • Tutti i moduli che chiamano una libreria Unix contengono thunk WoW64 per abilitare la chiamata alla libreria Unix a 64 bit dal codice PE a 32 bit. Ciò significa che è possibile eseguire applicazioni Windows a 32 bit su un’installazione Unix puramente a 64 bit. Questa è chiamata la nuova modalità WoW64 , in contrapposizione alla vecchia modalità WoW64 in cui le applicazioni a 32 bit vengono eseguite all’interno di un processo Unix a 32 bit.
  • La nuova modalità WoW64 non è ancora abilitata per impostazione predefinita. Può essere abilitata passando l’opzione --enable-archs=i386,x86_64 a configure. Questo dovrebbe funzionare per la maggior parte delle applicazioni, ma ci sono ancora alcune limitazioni, in particolare:
    • Mancanza di supporto per il codice a 16 bit.
    • Prestazioni OpenGL ridotte e mancanza del supporto dell’estensione ARB_buffer_storage.
  • La nuova modalità WoW64 consente finalmente alle applicazioni a 32 bit di funzionare sulle recenti versioni di macOS che hanno rimosso il supporto per i processi Unix a 32 bit.

Driver Wayland

  • C’è un driver grafico Wayland sperimentale è ancora in fase di sviluppo, ma implementa già molte funzionalità, come la gestione di base delle finestre, i monitor multipli, la scalabilità dell’alta risoluzione, gli eventi di movimento relativo e il supporto Vulkan.
  • Il driver Wayland non è ancora abilitato per impostazione predefinita. Può essere attivato attraverso la chiave di registro HKCU\Software\Wine\Drivers eseguendo: wine reg.exe add HKCU\\Software\\Wine\\Drivers /v Graphics /d x11,wayland e quindi assicurandosi che la variabile di ambiente DISPLAY non sia impostata.

ARM64

  • Il completamento della separazione PE/Unix significa che è possibile eseguire binari Windows esistenti su ARM64.
  • Il caricatore supporta il caricamento di moduli ARM64X e ARM64EC.
  • L’interfaccia di emulazione x86 a 32 bit è implementata. Al momento Wine non fornisce una libreria di emulazione, ma è possibile utilizzare una libreria esterna che esporta l’interfaccia, specificando il suo nome nella chiave di registro HKLM\Software\Microsoft\Wow64\x86. L’emulatore FEX implementa questa interfaccia quando viene costruito come PE.
  • C’è un supporto iniziale per la compilazione di Wine per l’architettura ARM64EC, utilizzando un toolchain sperimentale LLVM. Una volta che il toolchain sarà pronto, verrà utilizzato per una compilazione ARM64X corretta e per abilitare l’emulazione x86 a 64 bit.

Grafica

  • Il driver PostScript è stato reimplementato per funzionare da file di spool in formato Windows e evitare chiamate dirette dal lato Unix.
  • Il supporto al tema WinRT include un’opzione per il tema scuro, con un interruttore corrispondente in WineCfg.
  • Il driver Vulkan supporta fino alla versione 1.3.272 delle specifiche Vulkan.
  • Diverse funzioni di GdiPlus sono ottimizzate per una migliore performance grafica.

Direct3D

  • Il flusso di comandi multithread si mette in pausa anziché girare quando non sta elaborando comandi di rendering. Ciò riduce il consumo di energia nei programmi che non occupano l’intera larghezza di banda disponibile del flusso di comandi. Il consumo energetico dovrebbe essere comparabile a quando il flusso di comandi multithread è disabilitato.
  • Gli effetti Direct3D 10 supportano molte più istruzioni.
  • Diverse ottimizzazioni sono state apportate al core WineD3D e al backend Vulkan.
  • Il renderer Vulkan convalida correttamente che le funzionalità richieste siano supportate dal dispositivo sottostante e riporta il livello di funzionalità Direct3D corrispondente all’applicazione.
  • Sono implementate le funzioni D3DXFillTextureTX e D3DXFillCubeTextureTX.
  • Il backend del vecchio shader OpenGL ARB supporta il campionamento delle ombre tramite ARB_fragment_program_shadow.
  • Il compilatore HLSL supporta i flag di compilazione per la maggioranza delle matrici.
  • Le funzioni D3DXLoadMeshHierarchyFromX e le funzioni correlate supportano il caricamento di dati utente tramite ID3DXLoadUserData.

Audio/Video

  • Implementata la base di diversi moduli DirectMusic. Sono stati aggiunti numerosi test per convalidare il comportamento del sequencer dmime e del sintetizzatore MIDI dmsynth.
  • Implementato il caricamento di sound font DLS1 e DLS2, così come il formato SF2 per la compatibilità con i sound font standard MIDI di Linux.
  • La riproduzione MIDI è implementata in dmsynth, con l’integrazione del sintetizzatore software della libreria FluidSynth e l’utilizzo di DirectSound per l’output audio.
  • Il cambiamento di tonalità Doppler è supportato in DirectSound.
  • Implementato il decodificatore Indeo IV50 Video for Windows.

DirectShow

  • Implementato l’oggetto DirectX Media (DMO) per il decodificatore del video Windows Media (WMV).
  • Implementato il filtro di cattura audio di DirectShow.
  • Il filtro di divisione del flusso MPEG‑1 di DirectShow supporta sia i flussi video e di sistema che i flussi audio.
  • Implementato il filtro di decodifica video MPEG‑1 di DirectShow.

Dispositivi di input

  • Sono implementate le mappe di azioni di DirectInput, migliorando la compatibilità con molti vecchi giochi che utilizzano questo sistema per mappare gli input del controller alle azioni nel gioco.

Integrazione con il desktop

  • Le associazioni di protocollo URL/URI vengono esportate come gestori di URL per il desktop Linux.
  • Le informazioni del monitor, come nome e ID del modello, vengono recuperate dai dati di identificazione estesi del display (EDID) del monitor fisico.
  • In modalità desktop a schermo intero, la finestra del desktop può essere chiusa attraverso l’opzione “Esci dal desktop” nel menu Start.

Internazionalizzazione

  • L’implementazione degli IME è migliorata, con un migliore supporto per le implementazioni native degli IME di Windows. Sono stati aggiunti molti test per convalidare il comportamento previsto di questi IME personalizzati.
  • L’integrazione degli IME su Linux è migliorata, utilizzando stili di input over-the-spot o on-the-spot quando possibile, e sequenze di messaggi IME più accurate.
  • I dati di localizzazione sono generati dalla versione 44 del database Unicode CLDR. Le seguenti localizzazioni aggiuntive sono supportate: bew-ID, blo-BJ, csw-CA, ie-EE, mic-CA, prg-PL, skr-PK, tyv-RU, vmw-MZ, xnr-IN e za-CN.
  • L’interfaccia utente è tradotta in georgiano, portando il totale delle traduzioni complete a 16 lingue, con traduzioni parziali in altre 31 lingue.
  • Le tabelle dei caratteri Unicode sono basate sulla versione 15.1.0 dello standard Unicode.
  • I dati sul fuso orario sono generati dalla versione 2023c del database IANA timezone.
  • Le localizzazioni che utilizzano un nome di script, come zh-Hans, sono supportate anche su macOS.

Kernel

  • La versione predefinita di Windows per nuovi prefissi è impostata su Windows 10.
  • La randomizzazione della disposizione dello spazio degli indirizzi (ASLR) è supportata per i binari PE moderni, per evitare problemi legati a conflitti di spazio degli indirizzi. Si noti che gli indirizzi di caricamento selezionati non sono ancora correttamente randomizzati.
  • Implementato il Low Fragmentation Heap (LFH) per una migliore prestazione nell’allocazione di memoria.
  • Il gestore di memoria virtuale supporta i segnaposto di memoria, consentendo alle applicazioni di riservare spazio virtuale.
  • Il loader e il preloader a 64 bit sono costruiti come eseguibili a posizione indipendente (PIE), per liberare parte dello spazio degli indirizzi a 32 bit.
  • Lo svolgimento della pila funziona correttamente attraverso le syscall di NT e le chiamate di callback utente.

Internet e reti

  • Tutti gli oggetti integrati di MSHTML partecipano correttamente al ciclo di raccolta di Gecko.
  • La modalità Synchronous XMLHttpRequest è supportata in MSHTML.
  • L’oggetto WeakMap è implementato in JScript.
  • Il motore Gecko è aggiornato alla versione 2.47.4.
  • Le notifiche di cambio dell’interfaccia di rete sono implementate.

Crittografia e sicurezza

  • Le smart card sono supportate nella libreria Winscard.dll, utilizzando la libreria Unix PCSClite.
  • Le chiavi Diffie-Hellman sono supportate in BCrypt.
  • Il pacchetto di sicurezza Negotiate è implementato.

Mono / .NET

Applicazioni integrate

  • Il Debugger di Wine (winedbg) utilizza la libreria Zydis per un disassemblaggio x86 più preciso.
  • WineCfg supporta la selezione di vecchie versioni di Windows (prima di XP) anche nei prefissi a 64 bit, per consentire l’utilizzo di applicazioni più datate con la nuova modalità WoW64.
  • Tutte le applicazioni integrate grafiche segnalano gli errori tramite una finestra di messaggio anziché stampare messaggi sulla console.
  • L’applicazione systeminfo stampa varie informazioni dal database di gestione di Windows (Windows Management Instrumentation).
  • L’applicazione klist elenca i biglietti Kerberos.
  • L’applicazione taskkill supporta la terminazione dei processi figlio.
  • L’applicazione start supporta un’opzione /machine per selezionare l’architettura da utilizzare quando si eseguono eseguibili ibridi x86/ARM.
  • Implementata la maggior parte delle funzionalità dell’applicazione tasklist.
  • L’applicazione findstr fornisce funzionalità di base.

Strumenti di sviluppo

  • Lo strumento WineDump supporta la stampa dei contenuti dei file di registro di Windows (formato REGF), così come la stampa dei dati per entrambe le architetture nei file PE ibridi x86/ARM64.
  • Gli attributi composable, default_overload, deprecated e protected sono supportati nel compilatore IDL.
  • La libreria libwine.so è stata rimossa. Non era più utilizzata ed era deprecata dall’introduzione di Wine 6.0. Le applicazioni Winelib ELF che sono state costruite con Wine 5.0 o versioni precedenti necessiteranno di una nuova compilazione per funzionare su Wine 9.0.

Librerie in bundle

  • La libreria FluidSynth nella versione 2.3.3 è inclusa e utilizzata per DirectMusic.
  • La libreria matematica Musl nella versione 1.2.3 è inclusa e utilizzata per le funzioni matematiche della runtime C.
  • La libreria Zydis nella versione 4.0.0 è inclusa e utilizzata per il supporto alla disassemblatura x86.
  • Vkd3d è stato aggiornato alla versione principale 1.10.
  • Faudio è stato aggiornato alla versione principale 23.12.
  • LDAP è stato aggiornato alla versione principale 2.5.16.
  • LCMS2 è stato aggiornato alla versione principale 2.15.
  • LibMPG123 è stato aggiornato alla versione principale 1.32.2.
  • LibPng è stato aggiornato alla versione principale 1.6.40.
  • LibTiff è stato aggiornato alla versione principale 4.6.0.
  • LibXml2 è stato aggiornato alla versione principale 2.11.5.
  • LibXslt è stato aggiornato alla versione principale 1.1.38.
  • Zlib è stato aggiornato alla versione principale 1.3.

Dipendenze esterne

  • La libreria client di Wayland, così come le librerie xkbcommon e xkbregistry, vengono utilizzate durante la compilazione del driver Wayland.
  • La libreria PCSClite viene utilizzata per il supporto alle smart card. Su macOS, il framework PCSC può essere utilizzato come alternativa a PCSClite.
  • Per le compilazioni PE, è richiesto un cross-compilatore che supporti le direttive .seh per la gestione delle eccezioni su tutte le piattaforme tranne i386.

Download: Wine v9.0

Download: Source code Wine v9.0

Fonte: reddit.com

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.