Излезе Wine 5.0

Излезе Wine 5.0На 21 януари 2020 г. беше пусната официалната версия на Wine 5.0 Wine 5.0 — безплатен инструмент за стартиране на нативни Windows приложения в UNIX среда. Това е алтернативна, безплатна реализация на Windows API. Рекурсивната акроним WINE означава "Wine Is Not an Emulator".

След тази версия стоят около година разработка и над 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.

Излезе Wine 5.0
Adobe Photoshop CS6 под Wine

Други съществени нововъведения

  • Поддръжка на спинлокове на ядрото NT.
  • Благодарение на изтичането на патента за компресия на текстури DXTn и S3 стана възможно да бъдат включени в дефолтната реализация.
  • Поддръжка на инсталиране на драйвери plug-and-play.
  • Различни подобрения в DirectWrite.
  • Подобрена поддръжка на Windows Media Foundation API.
  • По-добра синхронизация на примитиви благодарение на реализирането на фютекси.
  • Споделено използване на Wine-Mono за спестяване на място вместо опенсорсната реализация на .NET за всеки. ~/.wine.
  • Поддръжка на Unicode 12.0 и 12.1.
  • Реализация на начален 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), а зависимостта от libwine е премахната от файловете, събирани за Windows.

За оптимизиране на производителността различни функции, свързани с времето, са прехвърлени на високо производителни системни функции за работа с таймери, което е позволило намаляване на разходите в цикъла на рендиране на много игри. Направени са и други оптимизации на производителността.

Пълен списък с промените вижте. тук.

Изходен код Wine 5.0, огледало
Бинарни файлове за различни дистрибуции
Документация

На сайта AppDB Поддържа се база данни с Windows приложения, съвместими с Wine. Ето лидерите по броя на гласовете:

  1. Final Fantasy XI
  2. Adobe Photoshop CS6 (13.0)
  3. World of Warcraft 8.3.0
  4. EVE Online Current
  5. Magic: The Gathering Online 4.x

Може да се предположи, че тези приложения най-често се стартират в Wine.

Забележка. Изданието Wine 5.0 е посветено на паметта на Юзеф Кучия (Józef Kucia), който tragично загина през август 2019 година на 30-годишна възраст, изследвайки пещера на юг от Полша. Юзеф беше важен участник в разработката на Direct3D Wine и водещ автор на проекта. vkd3dПо време на работата си над Wine той е направил над 2500 пача.

Излезе Wine 5.0

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster