LINUX.ORG.RU

Релиз Wine 4.0

 ,


3

4

Команда Wine с гордостью сообщает, что стабильный релиз Wine 4.0 теперь доступен.

Этот выпуск представляет собой год разработки и более 6000 индивидуальных изменений. Он содержит огромное количество улучшений. Главные изменения:

  • Поддержка Vulkan.
  • Поддержка Direct3D 12.
  • Поддержка игровых контроллеров.
  • Поддержка High-DPI на Android.

Что нового в Wine 4.0

Direct3D

  • Реализована начальная поддержка Direct3D 12. Для работы Direct3D 12 требуется библиотека vkd3d и Vulkan-совместимая видеокарта.
  • Включен по умолчанию Multi-Threaded Command Stream (CSMT).
  • Среди прочего реализованы следующие важные функции Direct3D 10 и 11:
    • Multi-sample текстуры и views, а также multi-sample resolves.
    • Затенение фрагментов для каждого образца.
    • Поддержка 1D текстур.
    • Draws without render target views or depth/stencil views.
    • Multiple viewports and scissor rectangles per draw.
    • Depth clipping control.
    • Depth bias clamping.
    • Stream output without geometry shaders.
    • Several more capability queries.
    • Several more resource formats.
  • Упомянутая выше функция «depth bias clamping» требует OpenGL расширение ARB_polygon_offset_clamp/EXT_polygon_offset_clamp. Все совместимое с Direct3D 10+ оборудование должно поддерживать это расширение, но до нашего сведения дошло, что некоторые «Устаревшие (Legacy) драйвера» NVIDIA не поддерживают его. Мы призываем затронутых пользователей узнать, соответствует ли открытый драйвер Nouveau их потребностям.
  • Для приложений DXGI и DirectDraw реализована поддержка использования правильного интервала обмена (swap interval)
  • Для Direct3D 9Ex и DXGI приложений реализована настраиваемая приложениями задержка кадров.
  • Базовые контексты (core contexts) OpenGL используются по умолчанию, когда возможно. В предыдущем релизе они уже использовались по умолчанию для приложений Direct3D 10 и 11 на видеокартах AMD и Intel. Теперь это распространяется на все видеокарты и все версии Direct3D (кроме 12).
  • Некоторые интерфейсы Direct3D 11 обновлены до версии 11.2, а некоторые интерфейсы DXGI обновлены до версии 1.6. Это позволяет работать приложениям, которым нужны эти новые интерфейсы.
  • Сделан первый шаг к более контролируемым блокировкам в реализации Direct3D. Это позволяет повысить эффективность на современных многоядерных процессорах.
  • Реализована поддержка S3TC 3D текстур. Поддержка S3TC 2D текстур уже была реализована до этого.
  • Когда доступно расширение OpenGL ARB_query_buffer_object, результаты запроса могуть быть получены с меньшей задержкой, что немного улучшает производительность в некоторых особых случаях.
  • Улучшены верификация пула ресурсов Direct3D 8 и 9 и ограничения использования, а также ограничения blit.
  • База данных видеокарт Direct3D распознает больше видеокарт.

Графика

  • Реализована полная поддержка Vulkan, используя библиотеки Vulkan под X11, или MoltenVK на macOS.
  • Встроенный загрузчик vulkan-1 представленный как альтернатива загрузчику из SDK.
  • Поддержка иконок в формате PNG, включая иконки с высоким разрешением 256x256.
  • Множество интерфейсов Direct2D обновлены до версии 1.2.
  • A0, A1 и A2 размеры бумаги
  • Поддержка использования визуализации ARGB по умолчанию для X11.
  • Старый 16-битный DIB.DRV драйвер реализован используя движок DIB.
  • Рисование полигонов в движке DIB теперь гораздо быстрее для больших полигонов.
  • Поддержка размеров бумаги A0, A1 и A2 для стандартных принтеров.
  • Поддержка массивов в GdiPlus.

Ядро

  • Удалена поддержка запуска двоичных файлов DOS под Wine. Когда запрошено выполнение двоичного файла DOS, запускается внешний экземпляр DOSBox. Это не распространяется на двоичные файлы Win16, которые до сих пор поддерживаются.
  • Все регистры контроля и отладки процессора могут быть получены драйверами ядра, включая 64-бит.
  • События, семафоры, мутексы и таймеры реализованы в режиме ядра для драйверов устройств.
  • В получаемой о процессоре информации корректно распознаются логические и физические ядра процессора для поддержки Hyper-Threading.
  • Подробная информация о BIOS может быть получена на платформах Linux.

Интерфейс пользователя

  • Реализована инфраструктура для настройки DPI осведомленности (awareness) и масштабирования DPI-осведомленных приложений. Однако настоящее масштабирование содержимого окна на данный момент поддерживается только на Android. Масштабирование выключено по умолчанию и может быть включено изменением значения ключа реестра «DpiScalingVer» в разделе HKCU\Control Panel\Desktop.
  • Поддержка перенаправления класса окна, включая поддержку Common Controls версии 6 для стандартных элементов управления, таких как кнопки.
  • Стандартные элементы управления: Кнопка (Button), Listbox, Combobox, Правка (Edit) и Static поддерживают версию фукнций 6, включая поддержку тем.
  • Реализован стандартный диалог задач (Task Dialog), включая поддержку для иконок, гиперссылок, прогресс баров, и других элементов интерфейса.
  • Добавлена поддержка Cue баннеров в 6 версию элемента управления Правка (Edit).

Интеграция с рабочим столом

  • Экспортирование файловых ассоциаций MIME может быть отключено с помощью чекбокса во вкладке «Вид и интеграция» в winecfg. Оно также может быть настроено через реестр с помощью ключа HKCU\Software\Wine\FileOpenAssociations.
  • Файловый диалог может отображать свойства файла, такие как: размер, время и атрибуты.
  • Файловый диалог опционально показывает панель мест (Places) на панели слева.
  • Каталог Public в оболочке используется вместо AllUsersProfile, чтобы соответствовать поведению последних версий Windows.
  • Оболочка браузера файлов поддерживает горячие клавиши для переименования (кнопка F2) и удаления (кнопка Delete).
  • Множество стандартных иконок добавлено в библиотеку Shell.
  • Поддержка автодополнения в Shell.
  • В режиме рабочего стола панель задач не будет отображаться поверх полноэкранных окон.
  • Для стандартных курсоров добавлены дополнительные имена, чтобы лучше соответствовать существующим темам курсоров X11.

Устройства ввода

  • HID игровые контроллеры теперь поддерживаются в API XInput и Raw Input.
  • Реализован SDL драйвер, чтобы сделать SDL игровые контроллеры доступными через интерфейс HID.

Текст и шрифты

  • Таблицы символов основаны на версии 11.0.0 Стандарта Unicode.
  • Поддержка нового движка рендеринга шрифтов FreeType >= 2.8.1.
  • Шрифт, выбранный в эмуляторе консоли, корректно масштабируется в соответствии с DPI экрана.

Аудио

  • Реализованы интерфейсы Windows Media Player и поддерживается воспроизведение медиа.
  • Декодер MP3 представляется в качестве DirectX Media Object.

Android

  • Поддержка настройки курсора мыши, используя API доступные в Android >= 7.
  • Поддерживается новая версия graphics buffer allocator API, чтобы включить поддержку графики на Android >= 8.
  • Платформы Android x86-64 теперь поддерживаются также и в 64-битном режиме, однако режим WoW64 пока еще не поддерживается в пакетах WineHQ.

Встроенные программы

  • Программа Ping предоставляет полноценный функционал для пингования, используя IcmpSendEcho.
  • Программа SchTasks (планировщик задач) может создавать и удалять задачи.
  • Программа RegEdit (редактор реестра) теперь имеет улучшенный HEX редактор для бинарных значений.
  • Циклы FOR корректно обрабатываются в коммандном интерпретаторе (CMD).
  • Программа XCopy поддерживается параметр /k (сохранять атрибуты).

Установщики

  • Пользовательские действия MSI запускаются в отдельном процессе, таким образом добавляя корректную поддержку для смешанных 32/64-битных установщиков.
  • Поддержка отложенных действий установки в MSI.

Новые внешние зависимости

  • Библиотека Vulkan используется для реализации графического драйвера Vulkan.
  • Библиотека Vkd3d используется для реализации Direct3D 12 поверх Vulkan.
  • Библиотека SDL используется для поддержки игровых контроллеров.
  • Библиотека GSSAPI используется для реализации аутентификации Kerberos.

>>> Полный список изменений

★★

Проверено: Shaman007 ()

Ответ на: комментарий от Kron4ek

и как минимум две видеокарты

Которые есть у большинства - встроенная и обычная

к тому же требущий больше затрат по сравнению с Wine

Если только затрат на установку всего этого, производительность там практически 100%

anonymous ()
Ответ на: комментарий от Manhunt

В последный раз пробовал где-то год назад: HOTS и Heartstone кое-как шли на старой видюхе (GTX 460). Лучше в интернете посмотреть. Если у тебя GTX 6XX+ с поддержкой Vulkan, то должно летать примерно так же, как на винде.

Daneal ()
Ответ на: комментарий от anonymous

Ага конечно 100%.... попробуй в современные игры с нормальным fps и временем кадра поиграть ну и ещё настройки не самые низкие, а wine c esync и dxvk хоть и с переменным успехом но позволяет это делать

tronis ()

Да, за прошлый год был совершен феноменальный прорыв в связи с dxvk и поддержкой современных игр. Но в этом заслуга не разработчиков Wine, а авторов dxvk и staging, которые не были включены в кодовую базу Wine и распространяются в виде патчей. Поэтому разработчикам ванильного Wine незачет, но мегареспект авторам dxvk и патчсета staging.

Rinaldus ★★★★★ ()
Ответ на: комментарий от Rinaldus

Staging и основную ветку пишут одни и те же люди, просто в staging в основном хаки и в основную ветку их сейчас перетаскивают довольно активно

anonymous ()
Ответ на: комментарий от Manhunt

я не пробовал по сети. в одиночную рублюсь, и так весело. у меня Линукс Минт последний. Система кайфовая, лучше винды в сто раз. Но с играми швахъ. Если бы можно было пробросить видюху в виртуалку...но я не тяну такое осуществить.

anonymous ()
Ответ на: комментарий от dimgel

а какая проблема пользоваться той версией, где работало... не винда - лицензию не просит, ну будет лишних 100-200 метров на винте занято, дак при современным меркам это слезы и играйся со звуком... :)

anonymous ()
Ответ на: комментарий от anonymous

а какая проблема пользоваться той версией, где работало...

Дык в том и чудо, что как обновил, потом откатил куда работало, восстановил бэкап (весь wine-каталог) игры, сохранённый под ту версию, — и хрен!

dimgel ()