vk.com

Выберите язык

Выход Wine 9.0

   Wine - это уровень совместимости, позволяющий запускать приложения Windows на нескольких POSIX-совместимых операционных системах, таких как Linux, MacOS и BSD. Вместо того, чтобы имитировать внутреннюю логику Windows, такую ​​как виртуальная машина или эмулятор, Wine переводит вызовы Windows API в вызовы POSIX на лету, устраняя потери производительности и памяти других методов и позволяя аккуратно интегрировать приложения Windows в рабочий стол.
 
 
  Команда Wine с гордостью сообщает, что стабильный релиз Wine 9.0 уже доступен. Этот релиз содержит более 7 000 отдельных изменений и улучшений. Основными из них являются новая архитектура WoW64 и экспериментальный драйвер Wayland.
   
 

  Что нового в этом выпуске: 
 
 
 WoW64:
  • Все переходы от кода Windows к коду Unix осуществляются через интерфейс системных вызовов NT. Это важная веха, знаменующая завершение многолетней работы по перестройке архитектуры с целью перевода модулей в формат PE и введения надлежащей границы между мирами Windows и Unix.
  • Все модули, вызывающие библиотеки Unix, содержат WoW64, позволяющие вызывать 64-битную библиотеку Unix из 32-битного PE-кода. Это означает, что можно запускать 32-битные приложения Windows на, чисто, 64-битной системе Unix. Это называется новым режимом WoW64. В старом режиме WoW64, 32-битные приложения запускаются внутри 32-битного процесса Unix.
  • Новый режим WoW64 пока не включен по умолчанию. Его можно включить, передав опцию --enable-archs=i386,x86_64 в configure. Ожидается, что это будет работать для большинства приложений, но все же есть некоторые ограничения, в частности:
    • Отсутствие поддержки 16-битного кода.
    • Снижение производительности OpenGL и отсутствие поддержки расширения ARB_buffer_storage.
  • Новый режим WoW64 наконец-то позволяет запускать 32-битные приложения на последних версиях macOS, в которых была удалена поддержка 32-битных процессов Unix.
 
  
  Драйвер Wayland:
  • Существует экспериментальный графический драйвер Wayland. Он все еще находится в стадии разработки но уже реализует множество функций, таких как базовое управление окнами, несколько мониторов, масштабирование с высоким уровнем PDI, события относительного движения и поддержка Vulkan.
  • Драйвер Wayland пока не включен по умолчанию. Его можно включить через ключ реестра HKCU\Software\Wine\Drivers, выполнив команду:
wine reg.exe add HKCU\\Software\\Wine\\Drivers /v Graphics /d x11,wayland
         а затем убедитесь, что переменная окружения DISPLAY не установлена.
  
 
  ARM64:
  • Завершение разделения PE/Unix означает, что теперь можно запускать существующие двоичные файлы Windows на ARM64.
  • Загрузчик поддерживает загрузку модулей ARM64X и ARM64EC.
  • Реализован интерфейс эмуляции 32-битного x86. Библиотека эмуляции на данный момент не поставляется с Wine, но можно использовать внешнюю библиотеку, экспортирующую интерфейс можно использовать, указав имя в файле HKLM\Software\Microsoft\Wow64\x86. Эмулятор FEX реализует этот интерфейс при сборке в виде PE.
  • Существует начальная поддержка сборки Wine для архитектуры ARM64EC, использующая экспериментальный набор инструментов LLVM. Как только инструментарий будет готов, он будет использован для создания правильной сборки ARM64X и включения эмуляции 64-битной архитектуры x86
  
  Графика:
  • Драйвер PostScript переделан для работы со спул-файлами в формате Windows и избегает прямых вызовов со стороны Unix.
  • Тематика WinRT поддерживает опцию темной темы с соответствующим переключателем в WineCfg.
  • Драйвер Vulkan поддерживает версию 1.3.272 спецификации Vulkan.
  • Ряд функций GdiPlus оптимизирован для повышения производительности графики.
 
  Direct3D:
  • Многопоточный поток команд спит, а не вращается, когда не обрабатывает команды рендеринга. Это снижает энергопотребление в программах, которые не занимают всю доступную полосу пропускания потока команд. Энергопотребление должно быть сопоставимо с тем, когда многопоточный поток команд отключен.
  • Эффекты Direct3D 10 поддерживают гораздо больше инструкций.
  • Различные оптимизации были внесены в ядро WineD3D и бэкенд Vulkan.
  • Рендерер Vulkan правильно проверяет, что требуемые функции поддерживаются базовым устройством, и сообщает приложению соответствующий уровень функций Direct3D.
  • Реализованы D3DXFillTextureTX и D3DXFillCubeTextureTX.
  • Бэкенд шейдеров OpenGL ARB поддерживает выборку теней через ARB_fragment_program_shadow.
  • Компилятор HLSL поддерживает флаги компиляции матричного большинства.
  • D3DXLoadMeshHierarchyFromX и связанные с ней функции поддерживают загрузку пользовательских данных через ID3DXLoadUserData.
 
  Аудио/Видео:
  • Реализована основа нескольких модулей DirectMusic. Добавлено множество тестов для проверки поведения секвенсора dmime и MIDI-синтезатора dmsynth.
  • Реализована загрузка звуковых шрифтов DLS1 и DLS2, а также формата SF2 для совместимости со стандартными MIDI-шрифтами Linux.
  • Воспроизведение MIDI реализовано в dmsynth, с интеграцией программного синтезатора из библиотеки FluidSynth и использованием DirectSound для вывода звука.
  • В DirectSound поддерживается доплеровский сдвиг.
  • Реализован декодер Indeo IV50 Video for Windows.
 
  DirectShow:
  • Реализован декодер Windows Media Video (WMV) DirectX Media Object (DMO).
  • Реализован фильтр DirectShow Audio Capture.
  • Фильтр DirectShow MPEG-1 Stream Splitter поддерживает видео- и системные потоки, а также аудиопотоки.
  • Реализован фильтр DirectShow MPEG-1 Video Decoder.
 
  Помимо всего перечисленного выше, изменения затронули еще множество функций Wine. Среди них можно отметить: обновление движка Gecko до версии 2.47.4, использование совместимости с Windows 10 по умолчанию, движок Mono обновлен до версии 8.1.0, WineCfg поддерживает выбор старых версий Windows. Обновлены встроенные библиотеки: VKD3D до версии 1.10, FAudio до 23.12, LDAP до 2.5.16, LCMS2 до 2.15, LibMPG123 до 1.32.2, LibPng до 1.6.40, LibTiff до 4.6.0, LibXml2 до 2.11.5, LibXslt до 1.1.38, Zlib до 1.3.
 
 
  Более подробную информацию можно посмотреть здесь.