- +

Автор: denkin Тема: Стабильный релиз Wine 3.0  (Прочитано 198 раз)

Оффлайн denkin

  • Global Moderator
  • Старожил
  • *****
  • Сообщений: 1402
  • Репутация: +73/-2
    • Просмотр профиля
Стабильный релиз Wine 3.0
« : Январь 18, 2018, 23:02:17 »
Цитировать
После года разработки и 23 экспериментальных версий представлен стабильный релиз открытой реализации Win32 API - Wine 3.0, который вобрал в себя более 6000 изменений. Из ключевых достижений новой версии отмечается поддержка Direct3D 10 и 11, реализация обособленного потока обработки команд Direct3D, графический драйвер для платформы Android, улучшенная поддержка DirectWrite и Direct2D. Из возможностей которые отложены до следующей значительной ветки упоминаются поддержка Direct3D 12, Vulkan и реализация Direct3D через OpenGL ES на платформе Android.
Новость на Opennet.
Spoiler: Подробности • показать

"В Wine подтверждена полноценная работа 4580 программ для Windows, еще 3907 программ прекрасно работают при дополнительных настройках и внешних DLL. У 3301 программ наблюдаются небольшие проблемы в работе, которые не мешают использованию основных функций приложений.

Ключевые новшества Wine 3.0:

Direct3D
Реализована значительная часть возможностей Direct3D 10 и 11, в том числе вычислительные и тесселяционные шейдеры, потоковый вывод, инструкции и модификаторы интерполяции для моделей шейдеров 4 и 5, непрямого (indirect) рендеринга, структурированных и побайтово адресуемых буферов, многослойной отрисовки на трёхмерных текстурах и массивах текстур, создания уровней mip-map и т.д.
Реализация обособленного потока обработки команд Direct3D, позволяющего выполнять отрисовку в асинхронном режиме с распараллеливанием на многоядерных системах. В настоящее время работа сосредоточена на обеспечении корректной отрисовки в многопоточном режиме, но в будущем ожидается проведение работы по увеличению производительности. В секцию реестра "HKCU\Software\Wine\Direct3D" добавлен новый ключ "csmt" (REG_DWORD), через который можно включить (0x1) или выключить (0x0, по умолчанию) поддержки многопоточной обработки команд Direct3D;
Улучшена поддержка применения базовых контекстов OpenGL в Direct3D, которые уже используются по умолчанию для обеспечения работы приложений Direct3D 10 и 11 на системах с графическими картами AMD и Intel, что позволяет при наличии OpenGL-драйверов Mesa обойтись без установки в реестре параметра"MaxVersionGL" для включения Direct3D 10 и 11;
Увеличено число графических карт, распознаваемых для WineD3D;
Графическая подсистема
В Direct2D реализована поддержка контуров геометрических объектов, кистей с линейными и радиальными градиентами, вычисления границ геометрических объектов, упрощения геометрических объектов;
Обеспечена совместимость Direct2D с GDI;
Список поддерживаемых расширений OpenGL обновлён до OpenGL 4.6;
Частично реализована библиотека GLU (OpenGL Utility Library). Системная библиотека GLU необходима только при использовании системы рендеринга Nurbs, во всех остальных случаях функции GLU предоставляются в Wine;
В GdiPlus обеспечена обработка графических операций, включающих трансформации;
В GdiPlus добавлена поддержка воспроизведения большинства специфичных для GdiPlus типов записей metafile, помимо стандартных записей metafile;
В WindowsCodecs добавлена поддержка кодирования форматов изображений, включающих палитру;
Обеспечение работы Wine в окружении платформы Android
Появилась возможность сборки Wine в виде пакета в формате APK и установки как обычного приложения для Android;
Подготовлен полноценный графический драйвер (GDI) для Android. Из-за ограничений API Android возможна работа только в полноэкранном режиме;
Реализован полноценный звуковой драйвер для Android;
Обеспечена поддержка OpenGL, ограничивающаяся возможностями API OpenGL ES. Direct3D в окружении Android пока не поддерживается, так как не может быть полноценно реализовано поверх OpenGL ES;
Ядро
Заявленная по умолчанию версия Windows поднята до Windows 7;
Реализована полная семантика именованных каналов, включая режим обмена сообщениями для именованных каналов. Обработка именованных каналов теперь целиком производится на стороне сервера Wine;
Поддержка исполняемых файлов в формате POE (Position Independent Executables), как для исполняемого файла Wine, так как для запуска внешних исполняемых файлов;
Автоматическое создание устройств для параллельных и последовательных портов (могут быть переопределены через ключ HKLM\Software\Wine\Ports);
Реализован и включен по умолчанию безопасный режим поиска DLL (для отключения следует в разделе реестра HKLM\System\CurrentControlSet\Control\Session Manager установить переменную "SafeDllSearchMode" в 0);
Реализован безопасный режим поиска процессов, который отключен по умолчанию (включается через установку переменной HKLM\System\CurrentControlSet\Control\Session Manager\SafeProcessSearchMode в 1);
Увеличена производительность асинхронного ввода/вывода, благодаря сокращению числа обращений к серверу;
На 64-разрядных платформах обеспечена возможность выделения областей виртуальной памяти произвольного размера;
Интерфейс пользователя
Выполнен редизайн курсоров мыши, которые также предложены в более высоком разрешении для экранов с высокой плотностью пикселей (high DPI);
Для экранов с высокой плотностью пикселей адаптированы Shell Explorer, RichEdit и все основные диалоги;
Для переопределения DPI экрана предложена настройка "LogPixels", доступная в секции реестра "HKEY_CURRENT_USER\Control Panel\Desktop";
В режиме рабочего стола добавлена поддержка более высоких разрешений с различным коэффициентом соотношения сторон;
Реализована панель задач (Task Dialog);
В MSI добавлена поддержка внутреннего интерфейса (IUI, Internal User Interface);
Добавлен режим отрисовки тем оформления с применением двойной буферизации;
В библиотеку TWAIN добавлена поддержка диалога для выбора доступного сканера;
Добавлена возможность сохранения в OLE Data Cache платформонезависимых битовых карт и metafile;
Интеграция с рабочим столом
В desktop-файлах обеспечена возможность определения поля StartupWMClass для обеспечения привязки к исполняемому файлу Windows;
Для определения изменений в буфере обмена X11-приложений задействована библиотека Xfixes, вместо периодической проверки буфера; * В компонент RichEdit добавлена поддержка вставки в форме metafile;
Добавлена поддержка Progman DDE (компонент с DDE-сервером для Program Manager);
Активирован по умолчанию HID-сервис для определения устройств с поддержкой PNP;
Для macOS обеспечена поддержка 4 версии протокола вывода уведомлений;
Текст и шрифты
В API Uniscribe добавлена поддержка контекстной замены глифов;
Таблицы символов переведены на использование стандарта Unicode 10;
Поддержка шрифтов приведена к
Обеспечена совместимость со шрифтовым движком FreeType 2.8.1;
DirectWrite
Обеспечена симуляция наклонных и жирных начертаний символов;
Улучшена обработка разрывов строк;
Улучшена отрисовка подчёркиваний
Улучшена поддержка режима работы в оттенках серого;
Улучшена поддержка сглаживания и преобразования шрифтов;
Реализованы методы применения равномерного и пропорционального межстрочного интервала;
Кэш адаптирован для использования в многопоточных приложениях;
Реализована поддержка загрузки файлов шрифтов в память;
D3DX
Улучшена поддержка прешейдеров (preshader);
Добавлена возможность определения в приложениях D3DX 9 движков применения эффектов (ID3DXEffectStateManager);
Реализован пул эффектов для совместного использования параметров между разными эффектами D3DX 9;
Сетевые возможности
В WebServices добавлена поддержка приёма TCP- и UDP-соединений;
В Web Services добавлена поддержка протокола .NET Message Framing Protocol и формата .NET Binary Format, включая расширение для таблиц символов;
В Web Services включена поддержка приёма сообщений в асинхронном режиме;
Переработан код обработчика событий HTML для обеспечения режима соответствия стандарту;
Добавлена поддержка нескольких стандартных HTML API;
В компонент WebBrowser добавлена поддержка файлов MHTML;
Улучшена поддержка встраивания HTML-документов в приложения .NET;
В WinHTTP налажен корректный разбор атрибутов Cookie;
Криптография
Добавлена встроенная реализация криптографических хэшей (вместо использования внешней библиотеки GnuTLS);
Добавлена поддержка симметричного алгоритма блочного шифрования AES;
В список известных сертификатов добавлен корневой сертификат Microsoft от 2011 года;
Дополнительные пакеты с Mono и Gecko теперь проверяются при помощи контрольных сумм SHA256;
Платформа ARM
На системах ARM по умолчанию выставлен ABI 'softfp' для совместимости с исполняемыми файлами Windows;
Добавлена поддержка предварительной загрузки (Preloader) на платформе ARM64;
Добавлена возможность использования режима отладки relay на системах ARM64;
Встроенные приложения
В RegEdit для улучшения совместимости с Windows переработаны функции импорта и экспорта реестра. По умолчанию экспорт осуществляется в формате Unicode. 64-разряные представления в реестре теперь всегда снабжаются 64-разрядными префиксами;
В утилиту Reg.exe добавлены операции импорта и экспорта файлов с реестром;
В командном интерпретаторе добавлена команда MKLINK и обеспечена поддержка экранирования символов в командной строке;
В игре WineMine добавлен вывод диалога подтверждения операции перед сбросом лучших результатов;
Инструменты
В widl (компилятор IDL) обеспечена обработка возвратов функций C++ в виде, совместимом с MSVC;
В компилятор ресурсов (wrc) добавлена возможность преобразования версий ресурсов через po-файлы;
В отладчик (winedbg) добавлена поддержка вывода состояния регистров для SSE и вычислений с плавающей запятой;
Все Perl-скрипты, разбирающие XML, переведены на использование модуля XML::LibXML;
Удалена устаревшая утилита wineinstall;
Разное
В XAudio реализована поддержка звуковых форматов с плавающей запятой с числом каналов более двух;
В C++ runtime добавлена поддержка Scheduler и аналогичных классов;
В ODBC добавлена поддержка установки драйвера SQL;
Добавлена поддержка каталога ProgramData;
В движок Mono перенесены исправления из основного проекта и добавлена поддержка второй версии API профилирования;
В отладочных трассировках обеспечено отображение идентификатора потока;
Новые зависимости
В число зависимостей включена библиотека krb5, используемая в Kerberos Authentication Package;
Для получения уведомления об изменении содержимого буфера обмена задействована библиотека XFixes."
(ц)