Промените и нововъведенията във Wine 5.0

Най-четени

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

След една година разработване и 28 предварителни експериментални версии бе представена отворената реализация на Win32 API – Wine 5.0, в който са направени 7400 промени. Сред ключовите нововъведения са използването на модули с PE формат във Wine 5.0, поддръжката на компютърни конфигурации с повече от един монитор, нова реализация на звуковия API XAudio2 интерфейс и поддръжката на API Vulkan 1.1.

В новия Wine се поддържа 100% работата на 4869 програми за Windows (преди една година те бяха 4737). Още 4136 работят перфектно чрез допълнителни настройки и външни DLL. При 3645 Windows програми се наблюдават неголеми проблеми при работата, които не пречат на основните функции на тези приложения.

Ключови промени и нововъведения във Wine 5.0

  • Модули с PE формат
  • След започване използването на компилатора MinGW, вместо в ELF формат, повечето модули на Wine сега се компилират в изпълнимия формат на файловете PE (Portable Executable), който се използва в ОС Windows. Използването на PE решава проблемите с поддръжката на различните методи за защита от копиране, дава възможност за проверка идентичността на системните модули както в диска, така и в оперативната памет

Промените и нововъведенията във Wine 5.0

  • Изпълнимите PE файлове сега се копират в папката ~/.wine ($WINEPREFIX) и се използват вместо предишните фиктивни DLL файлове. По този начин инсталирането на програма е аналогично на реалното инсталиране във Windows, но се заема малко повече дисково пространство
  • Модулите с PE формат могат да използват стандартните wchar Си-функии и константи с уникод (например L“abc“)
  • Във Wine C runtime е добавена поддръжката на линкване на двоични файлове, компилирани с MinGW
Графичната подсистема
  • Добавена е поддръжката на работа с няколко монитора и няколко видеокарти, включително възможност за динамична промяна на настройките
  • Обновен е драйвера за API Vulkan, който сега съответства на спецификациите Vulkan 1.1.126
  • В библиотеката WindowsCodecs е реализирана възможност за преобразуване на нови файлови формати, включително формати с индексирана цветова палитра
Direct3D
  • При стартирането на Direct3D приложения на цял екран се блокира скрийнсейвъра
  • В DXGI (DirectX Graphics Infrastructure) е добавена поддръжката за подаване на информация към приложението, че предстои минимизиране на неговия програмен прозорец. По този начин значително се намаляват използваните системни ресурси при минимизирането на прозореца
  • За приложенията, използващи DXGI е реализирана възможност за превключване между пълен екран и прозоречен режим чрез клавишната комбинация Alt+Enter
  • Разширени са възможностите на реализацията на Direct3D 12. Вече се поддържа превключване между работата на цял екран или в прозорец, могат да се променят графичните режими на екрана, вече има мащабиране и управление на тайминга на подмяна на графичния буфер (swap interval)

Промените и нововъведенията във Wine 5.0

  • Подобрена е обработката на граничните ситуации, като например използване на параметри извън техните диапазони – прозрачност, работа с буфери и текстури и други
  • В Direct3D 8 и 9 по-точно се проследяват неправилно обработените области на текстурите
  • Намален е размерът на необходимото адресно пространство при зареждането на 3D текстурите, компресирани чрез S3TC алгоритъма, при който те се зареждат на части, вместо наведнъж
  • Реализиран е ID3D11Multithread интерфейса за защита на критичните секции в многопоточните приложения
  • За старите приложения с DirectDraw са направени многобройни подобрения по отношение правилното изчисляване осветяването на сцените
  • Реализирани са допълнителни извиквания за получаване на информация за шейдърите в API ShaderReflection
  • Във wined3d е добавена поддръжката на работа с компресирани ресурси
  • Значително е разширена е базата данни на графичните карти, разпознавани от Direct3D
D3DX
  • Вградена е поддръжката на S3TC (S3 Texture Compression) компресирането на триизмерните текстури
  • Коригирани са операциите за използване на текстури и повърхности, които не отразяват светлината
  • Направени са редица подобрения и нововъведения във фреймуърка за специалните ефекти
Ядрото (интерфейсите на ядрото на Windows)
  • Повечето функции, използвани в Kernel32, са преместени в KernelBase, като по този начин се следва оригиналната архитектура на ОС Windows
  • Дадена е възможност за смесване на 32 и 64-битовите DLL библиотеки в папките, използване при зареждането на програмите. Ако бъде намерена коректната 32 или 64-битова библиотека, то аналогичната библиотека със същото име се отхвърля
  • При драйверите за различните устройства е подобрена емулацията на обектите на ядрото на ОС Windows
  • Реализирани са работещи на ниво ядро обекти за синхронизация, като spin блокажи и бързи мютекси
  • Осигурено е коректното информиране на приложенията за състоянието на акумулаторната батерия
Потребителски интерфейс и интеграция с десктопа
  • Минимизираните прозорци вече могат да се изобразяват и чрез използване на заглавието, а не само на иконките
  • Добавени са стандартните стилове на иконките SplitButton и Command Links
  • За папките Downloads и Templates са създадени символни препратки, указващи съответните директории в Unix системите
Устройствата за въвеждане на информация
  • При стартирането на Windows програмите е осигурено автоматичното зареждане на необходимите драйвери за Plug & Play устройствата
  • Подобрена е поддръжката на игровите контролери, включително на мини джойстиците, педалите за газ и спирачка
  • Прекратена е поддръжката на стария Linux API, който се използваше в ядрата до версия 2.2
.NET
  • Енджинът Mono е обновен до версия 4.9.4 и сега включва компоненти от фреймуърка Windows Presentation Foundation (WPF)
  • Добавена е възможност за инсталиране на допълнения от Mono и Gecko в една обща папка – /usr/share/wine

Мрежови възможности

  • Браузърният енджин Wine Gecko, който се използва в библиотеката MSHTML е обновен до врсия 2.47.1. Реализирана е поддръжката на нови HTML API
  • В MSHTML е реализирана поддръжката на SVG елементите
  • Добавени са редица нови VBScript функции – Hour, Day, Month, String, LBound, RegExp.Replace, РScriptTypeInfo_* и ScriptTypeComp_Bind* и т.н.
  • Осигурено е съхраняването на състоянието на кода във VBScript и JScript (script persistence)
  • Добавена е началната реализация на HTTP (WinHTTP) и свързания с него API (HTTPAPI) за клиентските и сървърните приложения, които получават и изпращат заявки чрез HTTP протокола
  • Реализирана е възможността за получаване на параметрите на настройка на HTTP проксита чрез DHCP
Криптография
  • Вече се поддържат криптографски ключове, базирани на елиптични криви (ECC) при използването на GnuTLS
  • Добавена е възможност за импортиране на ключове и сертификати от файловете с PFX формат
  • Поддържа се PBKDF2 алгоритъма за формиране на ключ
Текстове и шрифтове
  • В реализацията на API DirectWrite е добавена поддръжката възможностите на OpenType, свързани с позиционирането на глифовете, включително кърнинга
  • Интерфейсите DirectWrite вече съответстват на новия SDK
Звук и видео
  • Предложена е нова реализация на звуковия API XAudio2, базиран на FAudio проекта. Използването на FAudio във Wine дава възможност за постигането на по-качествен звук в игрите, както и реализирането на сложни звукови ефекти
  • Добавен е голям брой нови извиквания в реализацията на фреймуърка Media Foundation, както и поддръжката на вградени и потребителски поредици, Source Reader API, Media Session и т.н.

Промените и нововъведенията във Wine 5.0

  • Филтърът за прихващане на видео използва API v4l2 вместо v4l1 API, с което е разширен диапазона на поддържаните камери
  • Премахнати са вградените AVI, MPEG-I и WAVE декодери, като сега вместо тях се използват системните GStreamer или QuickTime
  • Добавено е подмножеството на конфигурационните API VMR7
  • В настройките на звука е добавена възможност за регулиране силата на звука на всеки един канал поотделно
Интернационализация
  • Unicode таблиците са обновени до версия 12.1.0
  • реализирана е поддръжката на нормализация за Unicode
  • Осигурено е автоматичното разпознаване на географския регион (HKEY_CURRENT_USER\Control Panel\International\Geo) на базата на текущата локала
ARM платформата
  • За ARM64 архитектурата в ntdll е добавена възможност за разгръщане на стека (stack unwinding). Вече се поддържат външни libunwind библиотеки
  • За ARM64 архитектурата в реализирана поддръжката на безшевни проксита (stubless proxies)
Инструменти за разработване
  • Добавена е възможност за използване на дебъгера от Visual Studio за отдалечено дебъгване на приложенията, стартирани във Wine
  • Частично е реализирана библиотеката DBGENG (Debug Engine)
Оптимизация на производителността
  • Всички функции за работа с времеви интервали вече използват високопроизводителните системни функции за работа с таймера, което значително е намалило разходите на ресурси при рендирането на почти всички игри

Промените и нововъведенията във Wine 5.0

  • Добавена е възможност за използването на файловата система Ext4 без значение дали се използват големи или малки букви
  • Оптимизирана е производителността при обработката на голям брой списъци с елементи, работещи в режим LBS_NODATA

АбонаментВсичко важно от света на технологиите, директно в пощата ти.

С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.


Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!

18 Коментара
стари
нови оценка

Нови ревюта

Подобни новини