Команда разработчиков Wine анонсировала выход новой стабильной версии 1.4, которая распространяется на условиях лицензии GNU LGPL.
Сообщается, что работа над новой версией программы заняла 20 мес. и потребовала внесения в нее свыше 16 тыс. изменений.
Wine позволяет пользователям UNIX-подобных систем с архитектурой x86, а также с другими архитектурами (при наличии совместимости, например, с AMD64) запускать и исполнять 16-, 32- и 64-разрядные приложения Microsoft Windows. Кроме того, это СПО предоставляет разработчикам ПО библиотеку программ Winelib, при помощи которой они могут компилировать Windows-приложения для портирования их в UNIX-подобные системы. Название Wine представляет собой рекурсивный акроним “Wine Is Not an Emulator”, т. е. Wine является не эмулятором ОС (как, например, Qemu или VirtualBox), а альтернативной реализацией Windows API.
Wine воспринимает системные вызовы Windows-приложений к библиотекам операционной системы и подменяет их своими. Таким образом, эмуляции процессора, аналогично эмуляторам типа VMware и Qemu, не происходит, что позволяет приложениям выполняться в Wine практически без потери производительности по сравнению с “родной” ОС. Для своей работы Wine не требует наличия инсталлированной ОС Windows, но может использовать её библиотеки.
Среди ключевых изменений, вошедших в Wine 1.4, разработчики выделяют новый графический движок DIB (Device Independent Bitmaps — аппаратно-независимый растровый формат), благодаря которому, как утверждается, значительно повышается производительность Windows-приложений, которые интенсивно используют растровый формат. Отмечается, что этот движок может использоваться и для реализации некоторых графических примитивов, которые не поддерживаются видеодрайвером, например, прозрачности.
Другим нововведением является полностью переработанная аудиоподсистема, реализованная на основе модели Windows VIsta. Для работы с новой подсистемой переписаны драйвера Alsa, OSS и CoreAudio. Вместе с тем аудиоподсистемы Jack, NAS, AudioIO, ESD и OSS версии 3 больше не поддерживаются (требуется OSS версии 4).
Для воспроизведения аудио- и видеофайлов в новой версии СПО может использоваться мультимедийный фреймворк GStreamer (написанный на языке Cи и использующий систему типов GObject), что обеспечивает поддержку всех мультимедийных форматов в соответствии с имеющимися в GStreamer кодеками.
Среди других значимых улучшений выделяют доступность Wine 1.4 для ARM-платформ; полную поддержку языка программирования VBScript и др.
В новый релиз Wine также вошло множество общих улучшений, связанных с поддержкой новых приложений, например, Microsoft Office 2010.
Отмечается, что проект Wine при реализации сталкивается со значительными трудностями из-за неполноты или отсутствия документации по многим элементам Win32 API. В то время как функции Win32 в основном документированы, существует множество элементов (таких как файловые форматы или протоколы Microsoft), спецификации на которые не публиковались. Это вынуждает разработчиков Wine заниматься реинжинирингом (обратной разработкой) многих компонентов.