После тринадцати месяцев разработки и 24 экспериментальных версий представлен стабильный релиз открытой реализации Win32 API - Wine 2.0, который вобрал в себя около 6600 изменений. Из ключевых достижений новой версии отмечается реализация всех возможностей, необходимых для запуска Microsoft Office 2013, а также поддержка запуска 64-разрядных Windows-приложений на платформе macOS.
В Wine подтверждена полноценная работа 4450 программ для Windows, еще 3828 программ прекрасно работают при дополнительных настройках и внешних DLL. У 3185 программ наблюдаются небольшие проблемы в работе, которые не мешают использованию основных функций приложений. Из возможностей, работа над которыми продолжается, но которые не доведены до конца, упомянуты вынос из wined3d отдельного потока для взаимодействия с OpenGL, полная поддержка HID, графические драйверы для платформы Android и режим передачи сообщений для именованных каналов.
Wine 2.0 стал первым выпуском, подготовленным в рамках нового фиксированного цикла разработки, подразумевающего выпуск значительных релизов раз в год. Изменения также затронули и нумерацию версий: каждый значительный релиз отныне будет приводить к увеличению первой цифры в номере версии (2.0.0, 3.0.0, 4.0.0), а обновления к стабильным релизам будут выпускаться с изменением третьей цифры (2.0.1, 2.0.2, 2.0.3). Экспериментальные версии, развиваемые в процессе подготовки следующего значительного релиза, будут выпускаться с изменением второй цифры (2.1, 2.2, 2.3).
Ключевые новшества Wine 2.0:Текст и шрифтыПродолжена реализация возможностей программного интерфейса DirectWrite, в том числе добавлена поддержка цветных шрифтов, подчёркивания, эффектов отрисовки, настроек в реестре для замены шрифтов, коллекций EUDC (end-user-defined characters);
Поддержка встраивания шрифтов в файлы PDF;
В элементе интерфейса RichEdit реализованы маркированные и нумерованные списки;
Возможность синтеза глифов в жирном начертании (bold) для растровых шрифтов;
Приведение таблиц символов в соответствие со стандартом Unicode 9.0.0;
Графическая подсистемаВ программном интерфейсе Direct2D реализованы средства отрисовки в окна, буферы (bitmap) и структуры GDI DC (Device Contexts);
Внесена большая порция оптимизаций в движок DIB, который стал работать значительно быстрее;
В GDI с целью повышения совместимости переработан код для работы с графикой;
В GDI и GdiPlus добавлена поддержка расширенных мета-файлов GDI, в том числе с поддержкой градиентов;
В графическом драйвере для macOS реализована поддержка отрисовки для экранов высокого разрешения ("Retina");
Интерфейс пользователяПереработана реализация буфера обмена. Улучшена совместимость с приложениями Windows, расширены возможности по помещению и извлечению текста с разметкой HTML, повышена плавность выполнения операций Drag & drop;
В режиме рабочего стола обеспечен вывод на панели списка работающих приложений с возможностью переключения между ними. Добавлена поддержка менее популярных разрешений экрана (например, 640x400 и 1280x960);
Реализована четвёртая версия протокола трансляции уведомлений через системный лоток (tray notification protocol);
Расширено число элементов интерфейса, корректно масштабируемых на экранах с высоким DPI;
Direct3D, D3DXРасширены возможности Direct3D 10 и 11, в том числе добавлена поддержка инструкций моделей шейдеров 4 и 5, дополнительных форматов ресурсов, целочисленных параметров вершинных шейдеров, безтиповых ресурсов, чтения/записи sRGB, массивов текстур, индексов смещения в буфере, неупорядоченного доступа и перезапуска примитивов;
Увеличено число графических карт, распознаваемых для WineD3D. Для более точного получения информации о графической карте теперь применяется расширение GLX_MESA_query_renderer;
Раскладка памяти для ресурсов с текстурами по возможности приближена к платформе Windows, что позволило решить проблемы с работой приложений, например игры League of Legends, использующих обходные пути записи в память;
Улучшена реализация технологии сглаживания MSAA (Multi-Sample AntiAliasing), обеспечено информирование приложения только о доступных уровнях качества, поддерживаемых в текущей реализации OpenGL;
Добавлена поддержка уровней функциональности Direct3D 11;
Реализована поддержка извлечения контекста устройств GDI из поверхностей DXGI, что позволяет отрисовывать поверхности DXGI через GDI;
В реестр (HKCU\Software\Wine\Direct3D) добавлены новые настройки: "CheckFloatConstants" для включения дополнительных проверок выхода за границы буфера, "SampleCount" для настройки принудительного включения сглаживания в приложениях без такой поддержки, "MaxShaderModelHS", "MaxShaderModelDS" и "MaxShaderModelCS" для ограничения уровней модели шейдеров;
Добавлена поддержка асинхронных загрузчиков данных для D3DX 10 и 11;
Доработан фреймворк для применения эффектов в D3DX 9: добавлена начальная поддержка прешейдеров (preshader), обеспечено корректное применение состояний эффектов;
Звук и видеоПоддержка GStreamer 1.0 для вывода звука и видео;
В DirectSound обеспечена поддержка преобразования объёмных форматов звука 5.1 и 4.0 в стерео;
Сетевые возможностиДобавлена поддержка API Web Service. Реализованы обработчики записи и чтения XML, имеется поддержка сериализации различных типов данных. Уровень поддержки API достаточен для проведения online-активации Microsoft Office 2013;
Увеличена производительность JavaScript. Добавлена поддержка формата JSON. Браузерный движок Gecko обновлён до состояния, соответствующего Firefox 47;
Добавлена поддержка интернационализованных доменных имён, содержащих символы национальных алфавитов;
Реализована поддержка различных хэшей SHA через задействование библиотеки GnuTLS;
В реализацию API Winsock добавлена возможность создания сокетов с флагом IP_DONTFRAGMENT, запрещающим фрагментацию пакетов;
Обеспечена корректная обработка длинных URL;
ЯдроПредставлена новая архитектура драйверов, обеспечивающая поддержку устройств ввода (HID, Human Interface Device). Новая архитектура напоминает модель драйверов Windows, в которой доступны специфичные для платформ bus-драйверы и минидрайверы HID.
Предоставлена возможность загрузки нескольких драйверов ядра в адресное пространство одного пользовательского процесса;
Реализована возможность кэширования содержимого каталогов, не зависящая от специфичных для разных платформ системных вызовов;
Добавлена большая порция новых библиотек API Set (api-ms-win-*);
Обеспечена эмуляция прерывания 0x2d, используемого для отладочных целей;
Встроенные приложенияВ прослойку 'winebrowser' добавлена поддержка передачи нескольких аргументов при запуске браузера или почтового клиента;
В утилиту 'reg' добавлена команда 'query' с возможностью обработки всех типов данных реестра;
В просмотрщик системной подсказки 'winhlp32' добавлена поддержка отображения таблиц и изображений;
РазноеУлучшена поддержка 64-разрядных систем: Добавлена возможность запуска 64-разрядых приложений на платформе macOS. Добавлена поддержка 64-разрядного режима в движок Mono. Обеспечена корректная обработка исключений C++ на системах x86-64;
Добавлена поддержка кросскомпиляции с использованием инструментариев Mingw-w64 Clang и ARM;
В C++ runtime MSVCIRT расширена поддержка потоков (stream);
В WMI (Windows Management Instrumentation) реализованы дополнительные классы WBEM;
Улучшена поддержка деинсталляции MSI;
Добавлены новые внешние зависимости: libudev для поддержки HID, GStreamer 1.0, GnuTLS 2.10 для SHA.
Источник