LINUX.ORG.RU

Релиз Wine 4.0

 ,


3

3

Команда 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 ()

Как внезапно они его релизнули. Я хотел создать ещё один баг, но не успел определить, после какого он коммита. Не, ну я сам виноват: я должен был это сделать давно, до ~rc5 (а уже был ~rc7). И не в последний день перед предполагаемым релизом, а хотя бы за неделю

Суть бага в том, что у меня перестал работать Wine после какого-то релиза, например падает winecfg и вообще любое ПО, кроме (неожиданно) винрара. Там обычный WINEPREFIX с win32, Windows XP, директиксом и дотнетом 2.0, установленными при помощи winetricks. На 3.15 всё норм, а на 3.21 не норм

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

А хуже тем, что не все игры/софт работают под Wine.

Закон винды в том, что код который на винде просто глючит в вайне глючит в 10 раз больше или вообще не работает, всякие костыли так вообще не работают. Тут нужно ещё сказать про незадокументированные функции венды, разницу в архитектуре. По поводу игр, современные игры пишут тяп-ляп, чтобы хоть как то работало у поцанофф в нвидией и серверным процессором с 16 ядрами по 3,2ГГц, поэтому на вайне даже не мечтайте.

Skullnet ★★ ()
Последнее исправление: Skullnet (всего исправлений: 2)
Ответ на: комментарий от Skullnet

По поводу игр, современные игры пишут тяп-ляп, чтобы хоть как то работало у поцанофф в нвидией и серверным процессором с 16 ядрами по 3,2ГГц, поэтому на вайне даже не мечтайте

Не обобщай.

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

По поводу игр, современные игры пишут тяп-ляп
поэтому на вайне даже не мечтайте

Как раз таки тяп-ляп работает нормально, на удивление, а то что на взгляд, должно работать из коробки - нет

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

Спасибо, заценим.

Также я собираю amd64-nomultilib сборки, которым не требуются 32-битные зависимости и которые могут работать на 64-битных дистрибутивах без мультилиб.

При этом они запускают только 64-битные программы, или как?

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

Суть бага в том, что у меня перестал работать Wine после какого-то релиза, например падает winecfg и вообще любое ПО, кроме (неожиданно) винрара. Там обычный WINEPREFIX с win32, Windows XP, директиксом и дотнетом 2.0, установленными при помощи winetricks. На 3.15 всё норм, а на 3.21 не норм

Ну так сделай

git bisect
до конца и только тогда топай в их Bugzilla'у: https://wiki.winehq.org/Regression_Testing#Running_the_bisection

X-Pilot ★★★★★ ()
Ответ на: комментарий от Kron4ek

Спасибо, заберу тогда без суффикса. 20 метров не критичны (я понимаю, что в распакованном виде разница будет больше, но не суть), а большинство интересных мне виндоприложений как раз старенькая 32-битщина.

hobbit ★★★★★ ()

Экспортирование файловых ассоциаций MIME может быть отключено с помощью чекбокса во вкладке «Вид и интеграция» в winecfg. Оно также может быть настроено через реестр с помощью ключа HKCU\Software\Wine\FileOpenAssociations.

СВЕРШИЛОСЬ!!!

mittorn ★★★★★ ()

C Vulkan, Proton и усилиями Valve линукс-гейминг грозит таки подняться с колен.
Будет интересно протестировать Steam Play с Windows-играми.

duott ★★★★★ ()

Ребят, зачем нужен Wine? Для запуска какого-то открытого свободного приложения, которого нет для линуксовой платформы?

А не торрентишь ли ты часом, морячок?

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

Чем оно лучше windows 10 в дуалбуте?
Лучше тем, что ненужно перезагружаться туда-сюда. А хуже тем, что не все игры/софт работают под Wine.

Тогда Винду надо в винруалку.

И да, новость нужно было в обычную, а не в мини.

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

Вариант «честно купленного проприетарного приложения, которого нет для линуксовой платформы» не рассматривается? У меня таких как минимум два было, одно из них - World of Warcraft (потом, правда, WoW в wine сломали, сейчас уже, вероятно, починили, давно не проверял).

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

Тогда Винду надо в винруалку.

Это разве что для софта подойдет. А для игр нужно пробрасывать видеокарту, что требует шаманств и как минимум две видеокарты. Так что это неидеальный вариант, к тому же требущий больше затрат по сравнению с Wine.

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

да как вообще!

да как вообще поставить этот вине 4 и воткнуть в него директ икс и дрова для видюхи GF108M [GeForce GT 635M]? Я кроме Diablo 4 ничо не смог запустить.

anonymous ()