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 ()
Последнее исправление: Deleted (всего исправлений: 13)

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

Так не интересно. Я хочу понять как устроено и как надо готовить.

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

Готовим Wine своими руками

0. Возьмите Wine, желательно посвежее. Не забудьте добавить к нему лист свежего winerticks. Если ваша ОС или дистрибутив не предоставляет достаточно свежего Wine — задумайтесь над возможностью её смены или над поиском сторонних пакетов.

1. По вкусу добавьте к нему любую графическую программу для управления его конфигурацией на ваш выбор.

2. Налейте Wine в новую бутылку, в которую вы впоследствии будете погружать свой экземпляр игры или программы, ещё не выпущенной для GNU/Linux. С помощью winetricks насыпьте в неё все необходимые для вашей игры или программы пакеты. Вы можете сверяться с большой поваренной книгой appdb.winehq.org, если не уверены, какие именно пакеты желательно добавить.

3. Погрузите ваш экземпляр игры или программы в подготовленную на предыдущем шаге бутылку. Следуйте стандартной процедуре установки.

4. Напишите этикетку в виде .desktop-файла, в котором будет указан путь к бутылке в виде переменной окружения и путь к исполняемому файлу программы, или же позвольте вашей графической программе управления Wine сделать это для вас. Наклейте её на видное место.

Готово. Вы великолепны!

toyo-chi
()
Ответ на: комментарий от targitaj

Выше всё написали :-) Я попробую дополнить

По умолчанию Wine создаёт директорию /home/nagibator3000lxde/.wine (далее для краткости ~/.wine). Если что-то пошло не так, то эту директорию можно удалить (в файловом менеджере нужно вклюить отображение скрытых файлов, потому что файлы, начинающиеся с точки, являются скрытыми для всех DE и WM). А можно просто временно переименовать её. Например, что-нибудь попробовать, а потом вернуть всё как было.

При таком подходе, самое неприятное - это то, что установщики разных программ для Windows любят создавать файловые ассоциации и значки в главном меню. Wine размещает их в /home/nagibator3000xfce/.local/share/что-нибудь. Бывает, что я попробовал с временным префиксом (~/.wine это WINEPREFIX) что-нибудь, потом я удалил временный WINEPREFIX, а пункты в главном меню остались. И ладно ещё файловые ассоциации никакие не прописались...

Решать такое нужно, войдя в ~/.local/share/, включив древовидную структуру директорий, и сортировку «По дате создания». И вычистить все эти MIME, *.desktop-файлы и *.png значков меню. В Wine 4.0 в winecfg появилась галочка, запрещающая прописывать MIME (файловые ассоциации) и значки в меню.

Кстати про winecfg. Это программа настройки Wine. Нужна, чтобы включать виртуальный рабочий стол. Блин, путаница в терминах - виртуальные рабочие столы, это же в панели задач? И ещё Компизом покрутить можно кубик с ними... Тут другое: Wine становится изолированным окошком, внутри которого запускаются другие окошки - окошки виндовых программ.

Я использую winecfg, чтобы создавать WINEPREFIX. Например так:

cd /home/nagibator3000lxqt
file .wine
.wine: ERROR: cannot open `.wine' (No such file or directory)
WINEARCH=win32 winecfg

Я указал эту переменную, чтобы у меня создался 32-битный префикс, который не умеет запускать 64-битные программы. Ну старый я, не хочу учиться новому.

Ещё можно делать так:

WINEPREFIX=/home/username/wine-for-autocad/ wine autocad.exe

Переназначить WINEPREFIX. Можно назначить это так:

export WINEPREFIX=/home/username/wine-for-autocad/
wine autocad.exe

Теперь в этом конкретном терминале WINEPREFIX будет такой. Пока ты его не закроешь.

Ну вот. Это - основа основ. Дальше можно обмазываться всякими ускорялками, такими как glsl=disabled для NVIDIA, а также CSMT для всех видеокарт, а также gallium-nine для Radeon и nouveau...

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 4)

Реализована поддержка S3TC 3D текстур. Поддержка S3TC 2D текстур уже была реализована до этого.

Наконец-то это случилось. Вот этого я давно ждал и так и не дождавшись года полтора назад всё таки прошёл доп. компании 6-х Героев за Крэг Хэка и далее в дуалбутной лицензионной венде. Там была проблема в том, что вместо текстуры прозрачной воды отображалось непойми что. А так как Крэг Хэк — морской капитан, то вода там была везде. И играть то было можно: кнопки нажимать, диалоги слушать, но смотреть на это было решительно невозможно.

И вот пару/тройку дней назад я решил проверить, точно ли оно починилось. Как оказалось да, прозрачная вода выглядит как прозрачная вода и визуальные глюки полностью исчезли.

Краткая инструкция для тех кто хочет запустить 6-х героев в wine. Версия героев у меня привязана в steam и uplay, что создаёт дополнительный геморрой, т.к. uplay нормальной работает 32bit префиксе wine с эмуляцией winxp. А steam пока ещё работает в wine с эмуляцией winxp, но говорит что фактически с 01/01/2019 он в winxp работать уже и не должен. По шагам: сначала нужно добыть установщик uplay последней версии для winxp. Потом создать чистый профиль wine. В нём установить uplay. Залогиниться в него и запустить Героев 6. После этого автоматически будет установлен steam. Нужно залогиниться уже в steam. После этого 10ГБ игры закачаются. И steam попытается установить невменяемо старую версию uplay, но это ему не удастся, так как более свежий uplay уже установлен и запущен. И только после этого игра нормально запустится и можно играть. Не знаю насколько долго можно будет запускать такую комбинацию в wine (winxp), но пока работает.

Пока писал инструкцию возникла такая идея (вопрос): можно ли параллельно запустить uplay в wine(winxp), а steam (с игрой) в другом профиле wine(win10) и чтобы steam и uplay между собой могли общаться?

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

можно ли параллельно запустить uplay в wine(winxp), а steam (с игрой) в другом профиле wine(win10) и чтобы steam и uplay между собой могли общаться?

Если из разных префиксов запускать, то они не будут видеть друг друга, насколько я знаю. Но можно из одного префикса запускать, просто выбрав в winecfg разные версии Windows для Steam и Uplay.

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

При таком подходе, самое неприятное - это то, что установщики разных программ для Windows любят создавать файловые ассоциации и значки в главном меню

WINEDLLOVERRIDES=«winemenubuilder.exe=d» или читать новость :)))

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

Если из разных префиксов запускать, то они не будут видеть друг друга, насколько я знаю. Но можно из одного префикса запускать, просто выбрав в winecfg разные версии Windows для Steam и Uplay.

Спасибо. Проверил, действительно, работает как ожидалось: разные программы в разных версиях wine. Просто раньше я видел эту кнопку, но даже не задумывался зачем она нужна, т.к. задачи такой не было. «steam образовательный»

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

При том что куда проще установить стим и в нём установить GTA V одной кнопкой, чем установить через командную строку вайн, установить в него DXVK и что там ещё надо, тоже бог знает как, потом как-то инсталлировать GTA V, итд итп.

devorg ★★
()

А Vulkan что-ли не работает на Linux? Зачем для него Wine? OpenGL ведь работает, значит и Vulkan должен работать.

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

А Vulkan что-ли не работает на Linux? Зачем для него Wine?

Работает, Wine для него не нужен. В новости лишь сказано, что в самом Wine теперь есть поддержка Vulkan, раньше ее не было.

Kron4ek ★★★★★
() автор топика

Ты не пробовал запускать гвинт на своем вайне? Чего может не хватать игре раз она после загрузки черный экран показывает?

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

Ты не пробовал запускать гвинт на своем вайне? Чего может не хватать игре раз она после загрузки черный экран показывает?

Это сообщение для тебя

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

Сейчас попробовал запустить - после экрана загрузки черный экран. У тебя так же? Проблема в mfplat, который в Wine не полностью реализован. Игра пытается воспроизвести видео, но не может.

Костыльное решение - переименовать каталог Gwent/Gwent_Data/StreamingAssets/videos, чтобы игра не пыталась воспроизводить видео.

Правильное решение - нужно брать винду 7, выстаскивать оттуда Media Foundation библиотеки и устанавливать их в префикс.

Проблемы из-за MF есть и в других играх: в Thronebreaker от тех же CD Project Red (в котором, похоже, такой же движок как в Гвинте), в Shadows Awakening, в Resident Evil 2.

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

Кстати говоря, MediaFoundation можно взять из этого префикса, чтобы винду ради этого не ставить.

Edit. MF почему-то помогает только при первом запуске игры, а при следующих запусках снова черный экран. Видимо, остается только переименовывать каталог с видео.

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

С пробросом-то хорошо. Вот без возможности плохо...

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

Да, если играть без DXVK, то возникает такая проблема. Если у тебя видеокарта поддерживает Vulkan, то поставь DXVK.

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

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

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

Если у тебя проц с интегрированной графикой Ivy Bridge и новее, то ты можешь использовать DXVK. А без DXVK пока не поиграть, я, по крайней мере, не смог найти решение.

Kron4ek ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.