Stabil kiadás: Wine 5.0

Egy év fejlesztés és 28 kísérleti verzió után bemutatva megjelenik a Win32 API nyílt implementációjának stabil kiadása — Wine 5.0, amely több mint 7400 változást tartalmaz. A legfontosabb újítások között szerepel a Wine beépített moduljainak PE formátumban történő szállítása, a többmonitoros konfigurációk támogatása, az új XAudio2 hang API implementáció, valamint a Vulkan 1.1 grafikai API támogatása.

A Wine megerősítve teljes körűen támogatja 4869 (tavaly 4737) Windowsra készült alkalmazást, további 4136 (tavaly 4045) alkalmazás remekül működik kiegészítő beállítások és külső DLL-ek mellett. 3635 alkalmazás esetén kis problémák jelentkeznek, amelyek nem zavarják az alapvető funkciók használatát.

Kulcsok újdonságok Wine 5.0:

  • PE formátumú modulok
    • A MinGW fordító használatával a Wine többsége most már PE (Portable Executable, Windowsban használatos) formátumban készül, az ELF helyett. A PE alkalmazása segít megoldani a különböző másolatvédelem támogatásának problémáit, amelyek azonosítják a rendszer modulok integritását a lemezen és a memóriában;
    • A PE formátumú végrehajtható fájlok most a ~/.wine ($WINEPREFIX) könyvtárba másolódnak, a hamis DLL fájlok alkalmazása helyett, így a felépítés inkább hasonlít a valódi Windows telepítésekhez, cserébe több lemezterület használatával;
    • A PE formátumra konvertált modulok lehetővé teszik a szokásos wchar C-függvények és Unicode konstansok (például, L"abc");
    • A Wine C futási környezete támogatja a MinGW-ben összegyűjtött bináris fájlokkal való összekapcsolást, ami alapértelmezés szerint a DLL építésénél használatos a MinGW futási környezete helyett;
  • Grafikai alrendszer
    • Több monitor és grafikus adapter kezelésének támogatása került hozzáadásra, beleértve a beállítások dinamikus módosításának lehetőségét;
    • Frissült a Vulkan grafikai API-hoz készült meghajtó, amely megfelel a Vulkan 1.1.126 specifikációnak;
    • A WindowsCodecs könyvtár lehetőséget nyújt további raszteres formátumok, köztük indexelt palettás formátumok átalakítására;
  • Direct3D
    • Teljes képernyős Direct3D alkalmazások esetén letiltásra kerül a képernyővédő hívása;
    • A DXGI (DirectX Graphics Infrastructure) támogatja az alkalmazás értesítését az ablak minimalizálásáról, ami lehetővé teszi az alkalmazás számára, hogy csökkentse a számításigényes műveletek végrehajtását az ablak elrejtésekor;
    • A DXGI-t használó alkalmazások számára megvalósították a lehetőséget, hogy az Alt+Enter kombinációval válthatnak a teljes képernyős és ablakos mód között;
    • Kibővítették a Direct3D 12 megvalósításának lehetőségeit, például megjelent a lehetőség a teljes képernyős és ablakos mód közötti váltásra, a képernyő módosítására, a skálázással történő megjelenítésre és a képkocka cserélési intervallum kezelése;
    • Javították a különböző határhelyzetek kezelését, mint például az elfogadható tartományokon túllépő forrásértékek alkalmazását az átlátszósági és mélységi tesztekhez, az tükrözött textúrák és bufferek rajzolását, a hibás DirectDraw objektumok használatát. clipper, a helytelen ablakokhoz Direct3 eszközök létrehozása, látható területek használata, a paraméterek minimális értékeinek a maximálisaknak megfelelően és így tovább.
    • A Direct3D 8 és 9 biztosítja a "koszos" textúrák betöltött területeinek pontosabb nyomon követését;
    • Csökkent a szükséges címzési tér nagysága 3D-textúrák betöltésekor, S3TC tömörítési módszerrel (a teljes betöltés helyett a textúrák darabokban töltődnek be).
    • Megvalósult az ID3D11Multithread felület a kritikus szakaszok védelmére több szálas alkalmazásokban;
    • A régi DirectDraw alkalmazások számára különböző fejlesztések és javítások kerültek bevezetésre a világítás számításával kapcsolatban;
    • További hívások valósultak meg az API-n belül a shader információk megszerzésére; ShaderReflection;
    • A wined3d-hez CPU-alapú blitter támogatás került hozzáadásra tömörített erőforrások feldolgozására; Bővült a Direct3D által felismert grafikus kártyák adatbázisa; Új registry kulcsokat adtak hozzá HKEY_CURRENT_USER\Software\Wine\Direct3D: "shader_backend" (a shaderek működtetésére szolgáló háttér: "glsl" GLSL-hez, "arb" ARB vertex/fragmenthez és "none" a shaderek támogatásának letiltására), "strict_shader_math" (0x1 – bekapcsol, 0x0 – kikapcsolja a Direct3D shaderek átalakítását). A "UseGLSL" kulcs elavultként van nyilvántartva (a "shader_backend" használata javasolt);
    • Megvalósították a S3TC (S3 Texture Compression) 3D-textúrák tömörítési mechanizmusának támogatását;
    • Hozzáadták a textúrával való kitöltés és a nem térképezhető (unmappable) felületek ilyen műveleteinek helyes megvalósítását;
  • D3DX
  • Kernel (Windows kernel interfészek)
    • KernelBase-be, követve a Windows architektúrájában történt változásokat;
      KernelBase, követve a Windows architektúrája változásait;
    • A 32- és 64-bites DLL-ek keverésének lehetősége a betöltéshez használt könyvtárakban. Biztosítva van a nem megfelelő (32/64) könyvtárak figyelmen kívül hagyása, ha a későbbiekben a helyes könyvtár elérhető az aktuális bitmérethez;
    • A készülékmeghajtók számára javult a magobjektumok emulációja;
    • Megvalósultak a magszintű szinkronizációs objektumok, mint például spin-lockok, gyors mutexek és erőforráshoz csatlakozó változók;
    • Biztosítva van, hogy az alkalmazások helyesen informálva legyenek az akkumulátor állapotáról;
  • Felhasználói felület és integráció a munkaasztallal
    • A minimalizált ablakokat most már címsorral jelenítik meg, nem pedig a Windows 3.1 stílusú ikonokkal;
    • Új gombstílusok kerültek hozzáadásra SplitButton (legördülő műveletgomb) és Command Links (a párbeszédpanelekben használt hivatkozások, amelyek a következő fázisra való átmenetet szolgálják);
    • A ‘Downloads’ és ‘Templates’ mappákhoz szimbolikus hivatkozások készültek, amelyek a megfelelő könyvtárakra mutatnak Unix rendszerekben;
  • Bemeneti eszközök
    • Indításkor biztosítva van a szükséges Plug & Play eszközmeghajtók telepítése és betöltése;
    • Javították a játékkontrollerek támogatását, beleértve a mini joystickot (hat kapcsoló), kormányt, valamint gáz- és fékpedálokat.
    • Megszűnt a régi Linux API támogatása a joystickokkal való interakcióhoz, amely a Linux 2.2-es verziójáig használt magokban volt elérhető;
  • .NET
    • A Mono motor frissítve lett a 4.9.4 kiadásra, és most már tartalmazza a Windows Presentation Foundation (WPF) keretrendszer elemeit;
    • Hozzáadva a Mono és Gecko kiegészítők telepítésének lehetősége egy közös könyvtárba, a fájlok elhelyezése a /usr/share/wine hierarchiában, nem új prefiksekbe másolva;
  • Hálózati lehetőségek.
    • A Wine Gecko böngészőmotor, amelyet az MSHTML könyvtárban használnak, frissítve lett a 2.47.1-es verzióra. Támogatja az új HTML API-kat;
    • Az MSHTML-ben támogatást kaptak az SVG elemek;
    • Sok új VBScript funkció került hozzáadásra (például hiba- és kivételkezelők, Hour, Day, Month, String, LBound, RegExp.Replace, RScriptTypeInfo_* és ScriptTypeComp_Bind* stb.);
    • Biztosítva van a kód állapotának megőrzése VBScript és JScript nyelven (script persistence);
    • Hozzáadva az HTTP szolgáltatás (WinHTTP) és az ahhoz kapcsolódó API (HTTPAPI) kezdeti megvalósítása a kliens- és szerveralkalmazások számára, amelyek HTTP protokoll segítségével küldenek és fogadnak kéréseket;
    • Lehetőség nyílt a HTTP-proxy beállításainak megszerzésére DHCP-n keresztül;
    • Hozzáadva a Microsoft Passport szolgáltatáson keresztüli hitelesítési kérések átirányításának támogatása;
  • Kriptográfia
    • Megvalósult a kriptográfiai kulcsok támogatása ellipszis görbék (ECC) alapú használatával a GnuTLS-en;
    • Hozzáadva a kulcsok és tanúsítványok importálásának lehetősége PFX formátumú fájlokból;
    • Hozzáadva a jelszó alapú kulcsformáló séma támogatása a PBKDF2 alapján;
  • Szöveg és betűk
    • A DirectWrite API megvalósításában hozzáadva az OpenType kapcsolódó képességeinek támogatása, a glifek pozicionálásához,, amelyek alapértelmezés szerint engedélyezve vannak a latin karakterek számára, beleértve a kerninget;
    • Növeltük a betűtípus adatok feldolgozásának biztonságát a különböző adat táblák helyességének ellenőrzésével a használatuk előtt;
    • A DirectWrite interfészeket frissen frissített SDK-hoz igazították;
  • Hang és video
    • Új hang API megvalósítást javasoltak XAudio2, amely a FAudioprojekten alapul. Az FAudio használata a Wine-ben lehetővé teszi a magasabb hangminőség elérését játékokban és olyan funkciók kihasználását, mint a hangerő keverése és a fejlettebb hanghatások;
    • Számos új hívást adtak hozzá a Media Foundation keretrendszer megvalósításához, beleértve a beépített és egyéni aszinkron sorok támogatását, a Source Reader API-t, a Media Session-t stb.
    • A videofogó szűrő átállt a v4l2 API használatára a v4l1 API helyett, ami kibővítette a támogatott kamerák körét;
    • Eltávolítottuk a beépített AVI, MPEG-I és WAVE dekódereket, amelyek helyett most a rendszerszintű GStreamer vagy QuickTime használatos;
    • Hozzáadva egy almennyisége a VMR7 konfigurációs API-knak;
    • A hangmeghajtókhoz hozzáadva a különböző csatornák hangerő beállításának támogatása;
  • Nemzetköziesítés.
    • Az Unicode táblázatok frissítve lettek a 12.1.0 verzióra;
    • Megvalósult az Unicode normalizálásának támogatása;
    • Automatikus földrajzi régió beállítás (HKEY_CURRENT_USER\Control Panel\International\Geo) a jelenlegi lokalizáció alapján;
  • RPC/COM
    • A typelibhez hozzáadva a bonyolult struktúrák és tömbök támogatását;
    • Hozzáadva a Windows Script runtime könyvtárának kezdeti megvalósítása;
    • Hozzáadva az ADO (Microsoft ActiveX Data Objects) könyvtárának kezdeti megvalósítása;
  • Telepítők
    • Az MSI telepítőhöz hozzáadva a javító fájlok (Patch Files) kiszállításának támogatása;
    • A WUSA (Windows Update Standalone Installer) segédprogramban lehetőség nyílt az .MSU formátumú frissítések telepítésére;
  • ARM platform
    • Az ARM64 architektúrában az ntdll-ben hozzáadva a verem kibővítésének (stack unwinding) támogatása. Hozzáadva a külső könyvtárak (libunwind) csatlakozásának támogatása;
    • Az ARM64 architektúrában megvalósítva a stubless proxyk támogatását az objektum interfészek számára;
  • Fejlesztői eszközök / Winelib
    • Lehetőség nyílt a Visual Studio debugger használatára távoli alkalmazások Wine alatt való hibakereséséhez;
    • Részben megvalósult a DBGENG (Debug Engine) könyvtár;
    • A Windows számára készült végrehajtható fájlok már nem függnek a libwine-tól, így Windows alatt további függőségek nélkül futtathatók;
    • A Resource Compiler és az IDL Compiler új ‘—sysroot’ opciót kapott a fejlécek elérési útjának meghatározásához;
    • A winegcc új opciókat kapott: ‘—target’, ‘—wine-objdir’,
      ‘—winebuild’ és ‘-fuse-ld’, amelyek megkönnyítik a környezet beállítását keresztfordításhoz;
  • Beépített alkalmazások
    • Megvalósult a CHCP eszköz a konzol kódolásának beállításához;
    • Megvalósult az MSIDB eszköz az MSI formátumú adatbázisok manipulálásához;
  • Teljesítményoptimalizálás
    • Diverse time-related functions have been translated to use high-performance system timer functions, reducing overhead in the rendering loops of many games;
    • Lehetőség nyílt az Ext4 fájlrendszer használatára módban kis- és nagybetűk figyelembevételének nélkül;
    • A nagyobb számú elem feldolgozásának teljesítményoptimalizálása a LBS_NODATA módban működő lista megjelenítő dialógokban;
    • Gyorsabb SRW-zárolások (Slim Reader/Writer) implementáció került hozzáadásra Linuxhoz, amely Futex-re lett átportálva;
  • Külső függőségek
    • A PE formátumú modulok összeállításához a MinGW-w64 keresztfordítót alkalmazták;
    • Az XAudio2 megvalósításához szükség van az FAudio könyvtárra;
    • A fájlok változásainak nyomon követéséhez BSD rendszereken
      az Inotify könyvtárat használták;
    • ARM64 platformon történő kivételek kezeléséhez az Unwind könyvtár szükséges;
    • A Video4Linux1 helyett most a Video4Linux2 könyvtár szükséges.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster