Dopu un annu di sviluppu è 28 versioni sperimentali liberazione stabile di l'implementazione aperta di l'API Win32 - , chì includeva più di 7400 cambiamenti. I rializazioni chjave di a nova versione includenu a consegna di moduli Wine integrati in formatu PE, supportu per cunfigurazioni multi-monitor, una nova implementazione di l'API audio XAudio2 è supportu per l'API grafica Vulkan 1.1.
In u vinu travagliu cumpletu di 4869 (un annu fà 4737) prugrammi per WindowsAltri 4136 prugrammi (4045 un annu fà) funzionanu perfettamente cù paràmetri supplementari è DLL esterne. 3635 prugrammi anu prublemi minori chì ùn interferiscenu micca cù a funzionalità basica di l'applicazioni.
Chjave Vinu 5.0:
- Moduli in formatu PE
- Cù u cumpilatore MinGW, a maiò parte di i moduli Wine sò avà custruiti in u PE (Portable Executable, utilizatu in Windows) invece di ELF. L'usu di PE risolve u prublema di supportà diversi schemi di prutezzione di copia chì verificanu l'identità di i moduli di sistema nantu à u discu è in memoria;
- L'eseguibili PE sò avà copiati in u cartulare ~/.wine ($WINEPREFIX) invece di utilizà fugliali DLL fittizi, rendendu l'installazione più simile à l'installazioni reali. Windows, à u costu di cunsumà spaziu di discu supplementu;
- Moduli cunvertiti in formatu PE ponu aduprà standard Funzioni C è custanti cù Unicode (per esempiu, L"abc");
- Wine C runtime hà aghjustatu supportu per ligà cù binari custruiti in MinGW, chì hè utilizatu per difettu invece di MinGW runtime quandu custruisce DLLs;
- Sottusistema graficu
- Aghjunghje supportu per travaglià cù più monitori è adattatori grafici, cumprese a capacità di cambià dinamicamente i paràmetri;
- U driver per l'API grafica Vulkan hè stata aghjurnata per rispettà a specificazione Vulkan 1.1.126;
- In biblioteca WindowsI codecs implementanu a capacità di cunvertisce furmati raster supplementari, cumpresi i furmati cù una paleta indicizzata;
- Direct3D
- Quandu eseguite l'applicazioni Direct3D full-screen, a chjama di screen saver hè bluccata;
- DXGI (DirectX Graphics Infrastructure) hà aghjustatu supportu per informà una applicazione quandu a so finestra hè minimizzata, chì permette à l'applicazione di riduce u rendiment di l'operazioni intensivi di risorse quandu minimizeghja a finestra;
- Per l'applicazioni chì utilizanu DXGI, hè avà pussibule di cambià trà u modalità full-screen è windowed usendu a combinazione Alt + Enter;
- E capacità di l'implementazione Direct3D 12 sò state allargate, per esempiu, ci hè issa supportu per cambià trà i modi full-screen è windowed, mudificà i modi di schermu, scaling output è gestione l'intervallu di rimpiazzamentu di u buffer di rendering (intervallu di swap);
- Gestione mejorata di diverse situazioni borderline, cum'è l'usu di valori di input fora di u range per teste di trasparenza è di prufundità, rendering cù textures riflesse è buffer, è l'usu di oggetti DirectDraw sbagliati. , creendu dispusitivi Direct3 per Windows incorrecte, utilizendu zoni visibili chì i valori minimi di parametri sò uguali à u massimu, etc.
- Direct3D 8 è 9 furnisce un seguimentu più precisu "» zone di texture caricate;
- A dimensione di u spaziu di l'indirizzu necessariu quandu si caricanu texturizazioni 3D cumpressi cù u metudu S3TC hè stata ridutta (invece di carricà interamente, e texture sò caricate in pezzi).
- Interfaccia implementata per prutege e sezioni critiche in applicazioni multi-threaded;
- Diversi miglioramenti è correzioni in relazione à i calculi di l'illuminazione sò stati fatti per l'applicazioni DirectDraw più vechje;
- Implementatu chjama supplementari per ottene infurmazioni nantu à i shaders in l'API ;
- wined3d supporta avà Basatu in CPU per u processu di risorse cumpressi;
- A basa di dati di carte grafiche ricunnisciute in Direct3D hè stata allargata;
- Aghjunghjite novi chjave di registru HKEY_CURRENT_USER\Software\Wine\Direct3D: "shader_backend" (backend per travaglià cù shaders: "glsl" per GLSL, "arb" per ARB vertex / fragment è "none" per disattivà u supportu di shader), "strict_shader_math" ( 0x1 - attivà, 0x0 - disattivà a cunversione di Direct3D shader). Deprecated a chjave "UseGLSL" (duverebbe aduprà "shader_backend");
- D3DX
- U supportu per u mecanismu di cumpressione di texture 3D S3TC (S3 Texture Compression) hè statu implementatu;
- Aghjunghjite implementazioni currette di operazioni cum'è riempimentu di texture è superfici inmappabili;
- Diversi miglioramenti è correzioni sò stati fatti à u quadru di creazione ;
- Kernel (interfacce di u kernel Windows)
- A maiò parte di e funzioni aduprate in Kernel32 sò state spustate
KernelBase, dopu à i cambiamenti in l'architettura Windows; - Capacità di mischjà DLL di 32 è 64 bit in cartulari utilizati per a carica. Assicura chì e librerie chì ùn currispondenu micca à a prufundità di bit attuale sò ignorate (32/64), in casu più longu u percorsu hè pussibule truvà una biblioteca chì hè curretta per a prufundità di bit attuale;
- Per i cunduttori di u dispositivu, l'emulazione di l'oggetti di u kernel hè stata migliurata;
- Oggetti di sincronizazione implementati chì travaglianu à u livellu di u kernel, cum'è spin locks, mutexes veloci è variabili attaccati à una risorsa;
- Assicura chì l'applicazioni sò infurmati currettamente di u statutu di a bateria;
- A maiò parte di e funzioni aduprate in Kernel32 sò state spustate
- Interfaccia d'utilizatore è Integrazione Desktop
- E finestre minimizate sò avà visualizate cù una barra di tìtulu invece di un'icona di stile Windows 3.1;
- Aggiunti novi stili di buttone (buttone cù una lista di azzione di azzione) è (ligami in scatuli di dialogu utilizati per passà à a tappa dopu);
- I ligami simbolichi sò stati creati per i cartulare "Downloads" è "Templates", chì puntanu à i repertorii currispundenti nantu à i sistemi Unix;
- Input Devices
- À l'iniziu, i drivers di u dispositivu Plug & Play necessarii sò stallati è caricati;
- Supportu migliuratu per i cuntrolli di ghjocu, cumprese un mini-joystick (interruttore di cappellu), volante, pedali di gas è frenu.
- U supportu per u vechju hè statu interrottu Linux API d'interazione di joystick aduprata in i kernel Linux finu à a versione 2.2;
- .net
- U mutore Mono hè statu aggiornatu à a versione 4.9.4 è avà include parti di u framework. Windows Fundazione di Presentazione (WPF);
- Aggiunta l'abilità di installà add-ons cù Mono è Gecko in un repertoriu cumuni, pusendu i schedari in a ghjerarchia /usr/share/wine invece di cupià à novi prefissi;
- Funzioni di rete
- U mutore di navigatore Wine Gecko, chì hè utilizatu in a biblioteca MSHTML, hè stata aghjurnata per liberà 2.47.1. U supportu per i novi API HTML hè statu implementatu;
- MSHTML supporta avà elementi SVG;
- Aghjunghjite assai novi funzioni VBScript (per esempiu, i gestori di errore è eccezzioni, Hour, Day, Month, String, LBound, RegExp.Replace, РScriptTypeInfo_* è ScriptTypeComp_Bind * funzioni, etc.);
- Fornitu a preservazione di u statu di codice in VBScript è JScript (persistenza di script);
- Aghjunghje una implementazione iniziale di u serviziu HTTP (WinHTTP) è l'API assuciata (HTTPAPI) per l'applicazioni di u cliente è di u servitore chì mandanu è ricevenu richieste cù u protocolu HTTP;
- Implementatu a capacità di ottene paràmetri di proxy HTTP via DHCP;
- Aghjunghje supportu per a redirezzione di e richieste di autentificazione attraversu u serviziu Microsoft Passport;
- Criptografia
- Supportu implementatu per e chjave criptografiche di curva ellittica (ECC) quandu si usa GnuTLS;
- Aggiunta l'abilità di impurtà chjave è certificati da i schedari in formatu PFX;
- Aghjunghje supportu per u schema di generazione di chjave basatu nantu à a password PBKDF2;
- Testu è fonti
- L'implementazione di l'API DirectWrite hà aghjuntu un supportu per e funzioni OpenType ligati à , chì sò attivati per difettu per u stilu latinu, cumpresu u kerning;
- Sicurezza mejorata per u processu di dati di fonti cuntrollanu a correttezza di diverse tabelle di dati prima di usà;
- L'interfaccia di DirectWrite sò state purtate in linea cù l'ultime SDK;
- Sonu è video
- Una nova implementazione di l'API di sonu hè stata pruposta , custruitu nantu à a basa di u prugettu . Utilizà FAudio in Wine permette di ottene una qualità di sonu più altu in i ghjoculi è aduprà funzioni cum'è u mischju di volumi è effetti di sonu avanzati;
- Un gran numaru di novi chjamati sò stati aghjuntu à l'implementazione di u quadru di a Fundazione Media, cumpresu u supportu per file asincrone integrate è persunalizate, API Source Reader, Media Session, etc.
- U filtru di cattura video hè stata cambiata per utilizà l'API v4l2 invece di l'API v4l1, chì hà allargatu a gamma di càmera supportata;
- I decodificatori AVI, MPEG-I è WAVE integrati sò stati eliminati, invece di quale u sistema GStreamer o QuickTime sò oghji utilizati;
- Aggiuntu un subset di API di cunfigurazione VMR7;
- Aghjunghje supportu per aghjustà u voluminu di i canali individuali à i cunduttori di sonu;
- Internaziunalizazione
- Tavule Unicode aghjurnata à a versione 12.1.0;
- Supportu implementatu per a normalizazione Unicode;
- Fornitu installazione automatica di a regione geografica (HKEY_CURRENT_USER\Control Panel\International\Geo) basatu annantu à u locale attuale;
- RPC/COM
- Aghjunghje supportu per strutture cumplessi è array à typelib;
- Aggiunta l'implementazione iniziale di a biblioteca di runtime Windows script;
- Aggiunta implementazione iniziale di a libreria ADO (Microsoft ActiveX Data Objects);
- Installatori
- U supportu per a consegna di patch (Patch Files) hè statu implementatu per l'installatore MSI;
- In l'utilità WUSA (Windows L'installatore autonomu di l'aghjurnamentu) permette avà d'installà l'aghjurnamenti in furmatu .MSU;
- piattaforma ARM
- Per l'architettura ARM64, u supportu per stack unwinding hè statu aghjuntu à ntdll. Aghjunghje supportu per a cunnessione di e librerie esterne di libunwind;
- Per l'architettura ARM64, u supportu per i proxy senza saldatura hè statu implementatu per l'interfacce d'ughjettu;
- Strumenti di sviluppu / Winelib
- Aggiunta a capacità di utilizà u debugger da Visual Studio per debug remotamente l'applicazioni in esecuzione in Wine;
- A biblioteca DBGENG (Debug Engine) hè stata implementata parzialmente;
- Raccoltu per Windows L'eseguibili ùn dipendenu più da libwine, ciò chì permette di esse eseguiti in Windows nisuna dipendenza supplementaria;
- Aggiunta l'opzione "--sysroot" à u compilatore di risorse è u compilatore IDL per determinà a strada per i fugliali di l'intestazione;
- Aghjunghjite l'opzioni '—target', '—wine-objdir' à winegcc
'—winebuild' è '-fuse-ld', chì simplificà a creazione di l'ambienti per a cumpilazione incruciata;
- Applicazioni integrate
- Implementatu una utilità CHCP per cunfigurà a codificazione di a cunsola;
- L'utilità MSIDB per a manipulazione di basa di dati in u formatu MSI hè stata implementata;
- Ottimizazione di e prestazioni
- Diverse funzioni di timing sò state migrate per utilizà funzioni di timer di u sistema d'altu rendiment, riducendu l'overhead in u ciclu di rende di parechji ghjochi;
- Aggiunta a capacità di utilizà Ext4 in FS travaglià senza sensibilità di casu;
- A prestazione di processà un gran numaru d'elementi in i dialoghi di visualizazione di lista chì operanu in u modu LBS_NODATA hè stata ottimizzata;
- Aggiunta una implementazione più rapida di i blocchi SRW (Slim Reader/Writer) per Linux, traduttu in Futex;
- Dipendenze esterne
- Per assemblà moduli in u formatu PE, u MinGW-w64 cross-compiler hè utilizatu;
- L'implementazione di XAudio2 richiede a libreria FAudio;
- Per seguità i cambiamenti di i schedari nantu à i sistemi BSD
a biblioteca Inotify hè aduprata; - Per trattà l'eccezzioni nantu à a piattaforma ARM64, a biblioteca Unwind hè necessaria;
- Invece di Video4Linux1 avà richiede a biblioteca Video4Linux2.
Source: opennet.ru
