LINUX.ORG.RU

Wine 7.0

 


3

2

Команда Wine с гордостью сообщает о выходе нового стабильного релиза Wine 7.0.

Этот релиз представляет собой год усилий по разработке и более 9100 индивидуальных изменений. Основные изменения коснулись следующих областей:

  • Большинство модулей переведено в формат PE.

  • Улучшена поддержка тематического оформления, добавлена новая тема оформления для более современного вида.

  • Значительно улучшен стек HID и поддержка джойстиков.

  • Новая архитектура WoW64.

Модули PE

  • За некоторыми исключениями, все модули теперь могут быть собраны в формате PE. Теперь задача состоит в том, чтобы преобразовать оставшиеся модули после версии 7.0.

  • Для модулей PE со связанной библиотекой Unix, интерфейс между частью PE частью и Unix-частью осуществляется через стандартный системный вызов NT. Это позволяет скрыть код Unix от отладчиков Windows и переключить регистр потоков на платформах, которые этого требуют.

  • Встроенные dll загружаются, только если на диске есть соответствующий PE-файл, либо настоящий двоичный файл, либо модуль-заглушка. Это гарантирует, что приложение всегда видит корректное отображение PE-файла. Его можно отключить с помощью параметра WINEBOOTSTRAPMODE, которая используется во время создания префикса.

WoW64

  • Реализована 64-битная архитектура Windows-on-Windows (WoW64), и поддерживает запуск 32-битного Windows-приложения внутри 64-битного Unix-хоста процесса, используя функции-преобразователи (thunks) для отображения 32-битных системных вызовов NT на 64-битную NTDLL.

  • Функции-преобразователи WoW64 реализованы для большинства библиотек Unix, позволяя 32-битному PE вызывать 64-битную библиотеку Unix. Как только остальные модули будут преобразованы в PE, это позволит запускать 32-битные приложения без установки 32-битных библиотек Unix.

Темы оформления

  • В Wine добавлена тема оформления «Light» с цветовыми вариантами «Blue» и «Классический синий». Она может быть включена через WineCfg.

  • Все элементы управления поддерживают темы и автоматически обновляются при её смене.

  • Все встроенные приложения поддерживают темы, а также рендеринг High DPI.

>>> Подробности

★★★★☆

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

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

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

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

Особенно учитывая, что я ее решил и не знаю точно как.

В Windows есть функция, которая позволяет устанавливать частоту мигания для курсора /и не только мигания/ …

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

Там косяк не в винде, а в курсоре от близардов. Это их фича уникальная.

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

Вспомнилась MSDOS …

;                     ▌   Работа с клавиатурой и EGA   ▐
;                     ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

; Huge модель памяти
CALL_SI  equ 4

.286
  INCLUDE Z_MAC.ASM                     ;Макроопределения

_TEXT16 SEGMENT BYTE PUBLIC 'CODE'
        ASSUME  CS:_TEXT16

        PUBLIC _CHAR, _SCAN_COD, ZSEG_END
_CHAR                  DB      ?        ;Введенный символ
_SCAN_COD              DB      ?        ;Скан код или расширенный скан код
ZSEG_END               DW      ?        ;Размер программы в параграфах
...
anonymous
()
Ответ на: комментарий от anonymous

так и должно быть - косплеит помойку винды

Это сборщики приложений и не думают убирать срач за своей программой при деинсталляции её. Это как общественный туалет на советских вокзалах ¯_(ツ)_/¯

anonymous
()

чо и Direct3D 8 64битный зделали?

anonymous
()

С последовательным портом работать научился опять? Привет EV_RXFLAG.

Почему опять: до какой-то версии работало, потом была миграция на winserver и внезапно… ev_rxflag не работает, потому как это ядро linux не может…

hatred ★★★
()

... это позволит запускать 32-битные приложения без установки 32-битных библиотек Unix ...

Неужели? Свершили чудо. Не удивлюсь, если завтра выйдет новость а-ля «ReactOS способен заменить Windows».

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

А нафига все в PE? Чем ELF не устраивал?

В прошлом мажорном релизе объяснялось, что это нужно в том числе для некоторых DRM-защит, чтобы программы запускались: https://www.winehq.org/announce/6.0

  • The core DLLs, including NTDLL, KERNEL32, GDI32, USER32, etc. are built in PE format. This should help a number of copy protection schemes that check that the DLL files on disk match the in-memory contents.
X-Pilot ★★★★★
()
Ответ на: комментарий от slapin

Ну а что? Или по-взрослому, или работать идите, чего расселись здесь.. )

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

Это невозможно в приципе потому что Wayland не поддерживает управление координатами окон, а Win32/Wine целиком построен на управлении координатами. В Wine есть своё дерево окон, которое синхронизируется с окнами ОС.

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

А проект wine-wayland тогда что?

Это для игр. Полноэкранным играм нет особого дела до позиций окон.

Если иксы полностью выкинут(даже xwayland), как буде работать?

Никак.

Я кстати уже рабочую нативную интеграцию с оконной системой Haiku для Wine сделал, благо управлять координатами там можно: winehaiku.drv.

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

В том что программам бывают нужны окна с определённой позицией (меню, подсказки, окна инструментов и т.д.). В WinAPI при создании окон указывается позиция, её игнорирование нарушает спецификацию и приводит к некорректной работе.

У игр обычно только одно окно, так что серьёзных проблем не возникает.

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

Насколько я понимаю, в wine-wayland драйвере от Collabora это частично реализовали.

Since Wayland’s window model is not based on a single flat 2D co-ordinate space, as X11’s was, the Wayland protocol doesn’t allow applications to control their absolute position on the screen. For Win32 transient windows (menus, tooltips, etc) the driver tries to work around the lack of absolute positioning by «anchoring» them to an owning Wayland surface and treating them as subsurfaces of that owner. Screen coordinates for such windows are transformed to local coordinates relative to the owning surface, allowing correct placement through relative subsurface movement, which is supported by Wayland. By using heuristics to select the proper owning surface, this approach has led to very good results.

Источник: https://www.winehq.org/pipermail/wine-devel/2020-December/178575.html

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

Это костыль, который далеко не всегда работает как надо. Окна требующие позиционирования могут формально никак между собой не соотноситья. Ещё в результате таких костылей привязанное окно может выйти за пределы экрана потому что программа думает, что базовое окно находится в другом месте.

Правильная работа Win32 приложений с Wayland невозможна пока туда не добавят абсолютное позиционирование.

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

По факту проходит. Но по крайней мере у меня на иксах фиксится указанием параметра Option «TearFree» «on» в конфигах иксов

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

Я под каждую отдельную игру держу свой вайн. Оно и не сложно и оказалось гораздо удобнее одного. Всегда можно настроить что нужно, отдельно включить выключить оконный режим там, да и выбрать разные версии вайна под разные игры. Вообще префиксы творят чудеса.

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

Я не о префиксах. В FreeBSD мультилиб отличается от линуксового. Для реализации 32+64 на фряхе нужно переписать мультилиб с нуля, как в линуксе когда-то. Но для игр можно использовать другое окружение, не загружаясь в него. Поэтому у меня спокойно справляется просто один вайн.

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

Ну я не только про префиксы. У меня вообще на отдельную игру отдельный вайн. Под вовку две версии протона, под нфс андеграунд и порше ваниль, под еще одну игру более старая версия вайна. Все они собраны в отдельном каталоге вместе с их префиксами. Очень удобно тем, что к системе не привязано. Я могу зайти с лайва и без установок сразу же с ходу запустить что мне надо, например. Иногда надо было.

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

Звучит как хорошая идея, надо тоже попробовать.

Есть свои плюсы в том, чтобы тащить всякое гг для каждой игры. =)

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

Теперь винде точно копец

Два. Винда никогда не сможет одну систему на одну игру. )

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

Да я понимаю. Просто показал пример. Я его сборками пользуюсь года этак с 2018, когда в кальке вайн штатный сломали.

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

Рановато. Во FreeBSD еще даже сборка в PE-библиотеки по умолчанию не включена. Может быть через год или два, когда эту хрень обкатают и отладят под Линуксом.

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

Ничего не мешает использовать режим виртуального десктопа. Композитор возможно придётся реализовать свой

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

В прошлом мажорном релизе объяснялось, что это нужно в том числе для некоторых DRM-защит, чтобы программы запускались

Возможно, Valve пилит. Вчера была новость, что допилил вместе с поставщиками защиты, поддержку этих самых защит и античитов для стимдека.

Хотя все равно корявая штука - пускаешь виндовую игру из-под стима, когда ее нет в списке поддерживаемых, - не работает. Пишешь напрямую километровую команду в протон - работает. Пускаешь из голого вайна - работает.

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

Это сборщики приложений

Что дальше? Уберём виртуальную память, будем рассказывать, что это разработчики приложений срут не по тем адресам?

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

А вот Элдер скролс 3/4/5 и Фаллоут 3/нв если не увидят своих ключей в реестре, даже не запустятся.

Вызывающе неверная информация. Ключ использует только лаунчер, который нужен только при первом запуске, а потом нормальные люди запускают либо экзешник игры напрямую, либо через skse/итд.

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

Уже «починили». При кончающейся памяти без свапа виснет колом, никакой мышки, ещё окошки с экрана пропадать могут.

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

Хотел бы посмотреть на не-сторонню gta6 от haiku рокстар.

Юродивые жгут.

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

Не я писал

работает отлично (у меня Gtx 960

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