21 студзеня 2020 года адбыўся афіцыйны рэліз стабільнай версіі
За гэтай версіяй - каля года распрацоўкі і больш за 7400 асобных змен. Вядучы распрацоўшчык Аляксандр Джуліярд (Alexandre Julliard) вылучае чатыры:
- Падтрымка модуляў у фармаце PE. Гэта вырашае праблемы з рознымі схемамі абароны ад капіравання, якія праводзяць зверку сістэмных модуляў на дыску і ў памяці.
- Падтрымка некалькіх манітораў і некалькіх GPU, уключаючы дынамічнае змяненне налад.
- Рэімплементацыя XAudio2 на базе праекта FAudio, адкрытай рэалізацыі гукавых бібліятэк DirectX. Пераход на FAudio дазваляе дабіцца больш высокай якасці гуку ў гульнях, задзейнічаць змешванне гучнасці, пашыраныя гукавыя эфекты і інш.
- Падтрымка Vulkan 1.1.
Больш падрабязна аб ключавых новаўвядзеннях.
Модулі PE
Пры наяўнасці кампілятара MinGW большасць модуляў Wine зараз збіраюцца ў фармаце выкананых файлаў PE (Portable Executable, бінарны фармат Windows) замест ELF.
Выкананыя файлы PE зараз капіююцца ў каталог ~/.wine
замест ужывання фіктыўных DLL-файлаў, што робіць прыкладанні больш падобнымі на рэальныя ўсталёўкі Windows.
Пакуль у фармат PE канвертаваны не ўсе модулі. Праца працягваецца.
Графічная падсістэма
Як ужо было сказана вышэй, дададзеная падтрымка працы з некалькімі маніторамі і графічнымі адаптарамі.
Драйвер Vulkan абноўлены да спецыфікацый Vulkan 1.1.126.
Акрамя таго, бібліятэка WindowsCodecs зараз падтрымлівае дадатковыя растравыя фарматы, уключаючы фарматы з індэксаванай палітрай.
Direct3D
Поўнаэкранныя прыкладанні Direct3D зараз блакуюць выклік скрынсэйвера.
Для прыкладанняў DXGI рэалізавана магчымасць пераключэння паміж поўнаэкранным і аконным рэжымам пры дапамозе стандартнай камбінацыі Alt+Enter.
Пашыраны магчымасці Direct3D 12: падтрымка пераключэння паміж поўнаэкранным і аконным рэжымам, змены рэжымаў экрана, паданні з маштабаваннем і інтэрвалы замены буфераў адмалёўкі (swap interval). Усе гэтыя функцыі ўжо былі рэалізаваны для папярэдніх версій Direct3D API.
Удзельнікі праекта старанна папрацавалі і ліквідавалі літаральна сотні багаў, так што палепшана апрацоўка Wine розных памежных сітуацый. Сярод іх сэмплінг рэсурсаў 2D у сэмплер 3D і наадварот, прымяненне якія выходзяць за дапушчальныя дыяпазоны зыходных значэнняў для тэстаў празрыстасці і глыбіні, адмалёўка з адлюстраванымі тэкстурамі і буферамі, выкарыстанне некарэктных кліпераў (аб'ект DirectDraw) і многае іншае.
Зніжаны памер неабходнай адраснай прасторы пры загрузцы 3D-тэкстур, сціснутых метадам S3TC (замест загрузкі цалкам, тэкстуры грузяцца кавалкамі).
Для старых прыкладанняў DirectDraw унесены розныя паляпшэнні і выпраўленні, злучаныя з разлікам асвятлення.
Пашыраная база графічных карт, якія распазнаюцца ў Direct3D.
Сетка і крыптаграфія
Рухавічок Gecko абноўлены да версіі 2.47.1 для падтрымкі сучасных інструментаў. Рэалізаваны шэраг новых HTML API.
У MSHTML рэалізавана падтрымка элементаў SVG.
Дададзена шмат новых функцый VBScript (напрыклад, апрацоўшчыкі памылак і выключэнняў).
Рэалізавана магчымасць атрымання параметраў налады HTTP-проксі праз DHCP.
У крыптаграфічнай частцы рэалізавана падтрымка крыптаграфічных ключоў на аснове эліптычных крывых (ECC) праз GnuTLS, дабаўлена магчымасць імпарту ключоў і сертыфікатаў з файлаў у фармаце PFX, дабаўлена падтрымка схемы фарміравання ключа на аснове пароля PBKDF2.
Іншыя істотныя новаўвядзенні
- Падтрымка спінлакоў ядра NT.
- Дзякуючы заканчэнню патэнта на кампрэсію тэкстур DXTn і S3 стала магчыма ўлучыць іх у дэфолтную рэалізацыю.
- Падтрымка ўстаноўкі драйвераў plug-and-play.
- Розныя паляпшэнні DirectWrite.
- Палепшаная падтрымка Windows Media Foundation API.
- Лепшая сінхранізацыя прымітываў дзякуючы рэалізацыі на ф'ютэксах.
- Сумеснае выкарыстанне Wine-Mono для эканоміі месца замест апенсорснай рэалізацыі. NET на кожны
~/.wine
. - Падтрымка Unicode 12.0 і 12.1/XNUMX.
- Рэалізацыя пачатковага HTTP-сэрвісу (HTTP.sys) у якасці замены Winsock API і IIS, у выніку чаго прадукцыйнасць стала вышэй, чым у Windows Sockets API.
- Лепшая сумяшчальнасць з адладчыкамі Windows.
- Лепшая падтрымка LLVM MinGW і паляпшэння крос-кампіляцыі WineGCC.
Можна яшчэ згадаць паляпшэнні ў карыстацкім інтэрфейсе. Напрыклад, згорнутыя вокны зараз адлюстроўваюцца з дапамогай радка загалоўка, а не піктаграмамі ў стылі Windows 3.1. Палепшана падтрымка гульнявых кантролераў, у тым ліку hat switch, руль і педалі.
З Wine выдалены ўбудаваныя дэкодэры AVI, MPEG-I і WAVE, замест якіх зараз выкарыстоўваюцца сістэмныя GStreamer ці QuickTime.
Дададзена магчымасць ужывання адладчыка з Visual Studio для выдаленай адладкі прыкладанняў, запушчаных у Wine, часткова рэалізаваная бібліятэка DBGENG (Debug Engine), з збіраных для Windows файлаў выдаленая залежнасць ад libwine.
Для аптымізацыі прадукцыйнасці розныя функцыі працы з часам перакладзены на выкарыстанне высокапрадукцыйных сістэмных функцый працы з таймерам, што дазволіла зменшыць накладныя выдаткі ў цыкле адмалёўкі шматлікіх гульняў. Зроблены і іншыя аптымізацыі прадукцыйнасці.
Поўны спіс змен гл.
На сайце
- Final Fantasy XI
- Adobe Photoshop CS6 (13.0)
- World of warcraft 8.3.0
- EVE Online Current
- Magic: The Gathering Online 4.x
Можна меркаваць, што гэтыя прыкладанні ў Wine запускаюць часцей за ўсё.
Заўвага. Рэліз Wine 5.0 прысвечаны памяці Юзэфа Кучы (Józef Kucia), які трагічна памёр у жніўні 2019 года ва ўзросце 30 гадоў, даследуючы пячору на поўдні Польшчы. Юзэф быў важным удзельнікам распрацоўцы Direct3D Wine, а таксама вядучым аўтарам праекта
Крыніца: habr.com