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 ()

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

Судя по тому что ты пишешь, ты стим никогда в жизни не видел. Завязывать нести чушь. Гейб напрямую заинтересован чтобы всё работало и работало всегда. Ведь этим он зарабатывает себе на бургеры.

devorg ()
Последнее исправление: devorg (всего исправлений: 1)
Ответ на: комментарий от Kron4ek

Насчет Дебиана, советую всем потерпеть несколько месяцев до релиза 10 Дебиан Бастер, в идеале конечно потерпеть до версии 10.1 Там думаю будет все отлично в плане вайна

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

Где гарантии? Есть гарантии, что с очередным обновлением игра не перестанет работать на линуксе?

Где гарантии? Есть гарантии, что с очередным обновлением игра не перестанет работать на виндовсе?

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

Дело не в этом. Если разработчик заявляет запуск на платформе — хоть на протоне, хоть на приставке — он и даёт гарантии. На самом деле не даёт, конечно, но всё же.

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

Ну не то чтобы прямо этот. Еще можно сяоми редми ноут 4.

Но в целом да, под мер или говно мамонта или официоз такое же говно мамонта но по невменяемой цене. Только сяоми и аппарат свежий, мощный и поддержка адекватная, почти все работает. Проблемы по сути только со сканером отпечатков.

У меня redmi note5 pro, так под него порт только начался, так что похвастать особо нечем...

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

на сколько трудоёмко новую версию накатить на Debian Stable? Я когда-то сборками от Татарановича пользовался...

Есть такая чудесная штука PlayOnLinux — гуй для вайна, где в несколько кликов можно создать отдельный префикс, поставить туда любую игрушку из обширной библиотеки готовых сценариев, или самому руками.

Вот там же можно выбрать любую версию вайна, от 0.9.7 до 4.0, и он скачает готовую сборку. Есть и ванильные сборки, и staging, и индивидуальные патчи для отдельных игр. Можно держать сколько угодно вайнов, и запускать разные проги разными версиями.

Причём всё это добро работает от юзера, сохраняется в ~/.PlayOnLinux, и не мешается другим прогам в системе.

PlayOnLinux — это и простой гуй, и почти бесплатный steam, не представляю, почему весь мир им ещё не пользуется. Разве есть что-то лучше?

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

Если бы не агресивное обновление пользователей с 7 и 8 до 10-ки, ещё не факт, чем бы все закончилось. Я как сидевший на винде всю жизнь подтверждаю- винда перестала быть КОМФОРТНОЙ. И это началось с 7-ки и её принудительными обновлениями в стиле «не скачаете такое-то обновление, не заработает программа (которой НАХЕР обновление систем безопасности виндовс не нужно)». 10-ка теперь вообще уже не спрашивает и обновляется насильно, это днооооо. Мало что насильно, так это говно ещё умудряется ломать систему и просирать файлы. Вот я, виндожитель, пишу вам - ВЕНДЕ КАПЕЦ. И виноваты в этом сами Майки. Видимо, долгое доминирование на рынке отупляет вконец.

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

В самом стиме почти статичное окружение для запуска игр. Т.е. гарантия есть, пусть и не абсолютная. Но нет гарантии, что сам стим не сломается с обновлением системы... как-то так.

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

Есть. Например Lutris. Последние попытки в установленном PoL установить те же танки - грохались без объяснения причин. А тот же Дум 2016 из линуксового Стима до недавнего времени совершенно спокойно работал (на прошллой неделе точно играл :) ).

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

Для разнообразия потычьте Windows Insider Preview :D. Оно обновляет только базы своего Дефендера, а само обновляется сразу на новый билд. Надо сказать, что послдений её билд таки заставил работать Bluetooth на одном компе :).

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

Я из геймдева. Работаю тут не долго, но ты прям в воду глядишь. Код тут говно и стабильность работы соответственное. Всякие Unreal, cryengine, unity3d хоть как-то приводят к одному знаменателю, но самописные движки - это адише. Недавно в коде встретил

delete this;
.

anonymous ()

Я жду когда VR в лине заживёт. Вообще сам SteamVR как таковой фурычит, всё работает. Но ни одну VR-игру так и не запустил. Ну того же Сэма 3-го, например. Хотя возможно это частный случай моей системы. Думается что сейчас получше. Год назад пробовал.

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

Рано я радовался. Со второго же запуска опять звук подох. Причём в т.ч. и на той голой инсталляции где FAudio. Мать её за ногу, таки-придётся в конце концов брать второй комп с вендой.

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

Как-то не везет тебе со звуком. Я вчера снова попробовал FAudio на SkyrimSE - нормально работает, звук не пропадает.

Ты, случаем, каталог с FAudio не удалил после установки? Скрипт ведь симлинки делает, а не копирует файлы.

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

Камикадзе писал :)

dimgel: а напомни на вскидку, когда может быть нужен delete this;? мне для лора посраться.

garik: когда ты делаешь деструктор приватным, а для удаления объекта используешь специальный метод

garik: например, чтобы предотвратить создание объекта на стеке

dimgel: ага! т.е. тут конструктор-то компилятор пропустит, а вот на деструкторе матернётся

garik: ну да. если ты попытаешься создать объект на стеке или глобальный, он скажет, что деструктор недоступен

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

Да не, вряд ли это необходимо. Попробуй Proton - там используется нативный FAudio, а не в виде dll. Только тебе придется скомпилировать и установить libFAudio.so (c -DFFMPEG=ON).

Proton можешь у меня скачать, он от Steam Runtime отвязан.

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

Название угадал до того как открыл ссылку. :) Но каверы на Блэкмора, а тем более на мою едва ли не самую любимую у него вещь, категорически неприемлю, поэтому не слушал. :)

dimgel ()