Wine

From Wikipedia (Ru) - Reading time: 6 min


Wine
Логотип программы Wine
Скриншот программы Wine
Тип слой совместимости
Разработчики Александр Джуллиард[вд], Яцек Цабан[вд], Николай Сивов[вд], Пётр Цабан[вд], Реми Бернон[вд], Франсуа Гуже[вд], Хью Дэвис[вд] и Зебедия Фигура[вд]
Написана на Си[4], язык ассемблера[5] и Microsoft Interface Definition Language
Операционные системы Linux[6], macOS[6], FreeBSD[7], Android[8] и Unix-подобная операционная система
Первый выпуск июнь 1993[1]
Последняя версия
Тестовая версия
Репозиторий gitlab.winehq.org/wine/w…
Лицензия LGPLv2.1+[вд][9][10]
Сайт winehq.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе

Wine (МФА: [waɪn] — «уа́йн»; с англ. wine — «вино») — свободное программное обеспечение, позволяющее пользователям UNIX-подобных операционных систем, например GNU/Linux, Apple macOS и других UNIX-подобных с поддержкой архитектур x86, AMD64 (и других) исполнять 16-, 32- и 64-битные приложения, в том числе игры, созданные исключительно для Microsoft Windows, без наличия при этом установленной Windows. Wine также предоставляет программистам библиотеку программ Winelib, при помощи которой они могут компилировать Windows-приложения для портирования их в UNIX-подобные операционные системы. Название W.I.N.E. — рекурсивный акроним и расшифровывается «Wine Is Not Emulator» — «W.I.N.E. — это не эмулятор». Имеется в виду, что Wine — это не эмулятор компьютера или виртуальная машина, как, например, qemu, VirtualBox и другие подобные им. Вместо этого Wine — это альтернативная, свободная реализация Windows API (WIndows Native Environment).

Wine распространяется на условиях свободной лицензии GNU LGPL.

Проект был основан Бобом Амштадтом (англ. Bob Amstadt) и Эриком Юнгдалом (Eric Youngdale) в 1993 году как средство запуска 16-битных приложений Windows 3.1 в системе Linux[11]. С 1994 года лидером проекта стал Александр Джуллиард[англ.] (Alexandre Julliard). Первоначально Wine был выпущен под лицензией MIT, но в марте 2002 года она была сменена на GNU LGPL.[источник не указан 556 дней]

Со временем Wine был портирован на другие UNIX-подобные системы, такие как FreeBSD, Solaris и другие, а также на Windows (там WINE обычно используется для запуска старых приложений на новых версиях ОС). Была добавлена поддержка 32-битных приложений Windows, а в 2005 году — и 64-битных. До октября 2005 года проект находился в стадии альфа-версии, хотя с его помощью безупречно работали многие программы. 25 октября 2005 года была выпущена первая бета-версия Wine 0.9.

17 июня 2008 года, после 15 лет разработки, вышла версия Wine 1.0, первая, которую разработчики называют стабильной[12].

Параллельно разрабатывается и сопровождается проект wine-staging, включающий в себя изменения, неготовые по мнению разработчиков WineHQ, к добавлению в основной код Wine, однако улучшающие некоторые проблемы совместимости конкретных программ. Данный форк также является площадкой для исправления ошибок и проверки экспериментальных функций. По состоянию на 2019 год, WineHQ предоставляет сборки wine-staging для скачивания пользователям[13].

Технические особенности

[править | править код]
Настройка Wine

Проект сталкивается с большими трудностями вследствие неполноты или отсутствия документации по многим элементам Win32 API. В то время как функции Win32 в основном документированы, существует масса областей (таких как файловые форматы или протоколы Microsoft), спецификации на которые никогда не публиковались. Таким образом, команде разработчиков Wine приходится заниматься обратной разработкой этих компонентов.[источник не указан 556 дней]

Wine воспринимает системные вызовы приложений Windows к библиотекам операционной системы и подменяет их своими. Таким образом, эмуляции процессора, аналогично другим эмуляторам типа VMware и QEMU, не происходит, и приложения могут выполняться в Wine почти так же быстро, как и в «родной» операционной системе (а в некоторых случаях и быстрее[14]). Для своей работы Wine не требует наличия установленной ОС Windows, хотя и может использовать её библиотеки.[источник не указан 556 дней]

Также Wine предоставляет инструментарий разработки программ Winelib для переноса унаследованных исходных кодов из среды Windows в среду UNIX путём простой перекомпиляции.[источник не указан 556 дней]

Wine, безусловно, не стабильный продукт, и нельзя сказать, что с его помощью удастся запустить любую программу для Windows. Некоторые подсистемы Windows вообще практически не реализованы. Тем не менее уже сейчас многие из повсеместно используемых приложений Windows полноценно запускаются и работают в UNIX-подобных ОС при помощи Wine. Особенно это касается приложений, которые не используют недокументированные возможности Windows. Также под Wine полноценно запускаются приложения, разработанные для Windows 95/98/ME/2000/XP, которые не работают на Windows 8/10 даже в режиме «совместимости».[источник не указан 556 дней]

Поддержка Direct3D

[править | править код]

Для обработки вызовов API Direct3D в Wine используется специальный трансляционный слой, в качестве которого могут быть использованы несколько вариантов:

  • wined3d — способен транслировать в вызовы OpenGL вызовы различных версий Direct3D до версии 11 включительно; wined3d не поддерживает Direct3D версии 12;[источник не указан 556 дней]
  • DXVK — транслирует вызовы API Direct3D версий 9, 10 и 11 в вызовы API Vulkan; DXVK создан независимым от Wine разработчиком, написан на C++ и не является частью Wine, он может использоваться в нём как (внешняя) подгружаемая библиотека[15];
  • vkd3d — транслирует вызовы API Direct3D 12 в вызовы API Vulkan[15].

Использование кода Wine в других проектах

[править | править код]
  • Часть кода WINE, позволяющая загружать динамические библиотеки (DLL) для Windows, используется в других свободных проектах, таких как MPlayer, Xine и некоторых других.[источник не указан 556 дней]
  • Компанией Borland была выпущена среда разработки Kylix, использующая код Wine (в настоящий момент разработка и поддержка прекращена).[источник не указан 556 дней]
  • ReactOS — проект свободной операционной системы, ставящий целью полную совместимость с Windows на уровне программ и драйверов. Не будучи основанным на Wine, проект ReactOS активно сотрудничает с ним, берёт из него многие наработки и делится своим кодом.[источник не указан 556 дней]
  • Picasa, Google Earth. При портировании под Linux использовались библиотеки Wine[16][17].

Продукты, основанные на Wine

[править | править код]
  • Cedega, ранее WineX, — продукт, основанный на старом коде Wine (до смены лицензии на LGPL), созданный компанией TransGaming для поддержки игр для Windows в ОС Linux. Имеется улучшенная поддержка DirectX, различных видов защиты от копирования. Продукт проприетарный, но имеется общедоступная CVS-версия с несколько урезанной функциональностью.
  • CrossOver — основанная на Wine среда, специально оптимизируемая для запуска наиболее востребованных офисных и иных приложений для Windows в Linux, таких как Microsoft Office, Apple iTunes, Adobe Photoshop и других. Продукт также платный и несвободный, но его разработчики — компания CodeWeavers — активно сотрудничают с командой Wine, и эти два проекта обмениваются своими наработками.
  • Линейка продуктов компании Etersoft на основе Wine (WINE@Etersoft) — набор сред, ориентированных не только на поддержку популярных в России деловых приложений Windows, таких как 1С:Предприятие, БЭСТ, КонсультантПлюс, Гарант, КОМПАС-3D (WINE@Etersoft CAD), но и на такие, как Microsoft SQL Server (WINE@Etersoft SQL), PostgreSQL (WINE@Etersoft SQL, Postgre@Etersoft). WINE@Etersoft Network предназначен для организации совместной работы с приложениями и общими ресурсами по сети. Это платные продукты, разрабатываемые российской компанией Etersoft, которая поддерживает их для дистрибутивов Linux и FreeBSD[18].
  • WINE-LXP — ещё одна коммерческая реализация Wine, часть Trustverse Desktop (ранее выпускавшегося как Linux XP). Об этой реализации известно, что отдельно она не продаётся, поддерживает запуск 1С:Предприятие и ещё несколько приложений[19].
  • PlayOnLinux — графический интерфейс GTK для настройки Wine. Поддерживает скрипты установки, параллельные разные версии wine для отдельных приложений и позволяет использовать для каждого приложения Wine свой профиль.
  • Vineyard — ещё один интерфейс GTK для настройки Wine.
  • q4wine — графический интерфейс Qt для настройки Wine. Также позволяет использовать для каждого приложения Wine свой профиль.
  • winetricks — скрипт для установки некоторых основных компонентов (как правило, библиотек DLL и шрифтов), необходимых для правильной работы некоторых приложений под Wine. Проект Wine принимает сообщения об ошибках для пользователей Winetricks, в отличие от большинства сторонних приложений.
  • Wine-Doors — приложение для GNOME, которое вносит дополнительную функциональность и стало альтернативой WineTools.
  • IEs4Linux — утилита для установки всех версий Internet Explorer, включая версии от 4-й до 6-й и бета-версии 7. После двух лет молчания, в январе 2011, появилось сообщение о скором начале поддержки 9-й версии[20].
  • WineWizard — графический интерфейс для настройки и упрощения установки программ в Wine. Очень похож на PlayOnLinux, но в отличие от этого инструмента позволяет пользователю самому создавать решения для установки программ, а также выбирать нужные компоненты.
  • Odin — проект для запуска программ Windows в OS/2 или их конвертирования в «родной» OS/2 формат.
  • DXVK — проект по ретрансляции вызовов Direct3D 9-11[21], использующий в качестве выхода не стандартный OpenGL, а Vulkan API.
  • vkd3d — проект по ретрансляции вызовов Direct3D 12[22] в вызовы Vulkan API. В отличие от DXVK, выступает частью проекта Wine.
  • Steam Play (Valve Proton) — проект для запуска игр Windows, поставляющийся с платформой цифровой дистрибуции Steam. Для работы использует Wine в связке с DXVK (реализация DirectX 11) и vkd3d (реализация DirectX 12)[23] и массой собственных доработок.
  • PortProton — проект, использующий форк wine в варианте Valve Proton для автоматизации скачивания и запуска игр через российские сервисы дистрибуции игр.[24]

В Microsoft официально не делали никаких публичных заявлений по поводу Wine. Однако Microsoft Update будет блокировать обновления для программного обеспечения от Microsoft, если программы будут запущены в средах, основанных на Wine. 16 февраля 2005 года Айван Лео Пуоти обнаружил, что Microsoft начала проверять системный реестр в поисках конфигурационных ключей, оставленных Wine, и будет блокировать доступ к Windows Update для любого компонента. Пуоти написал[25]:

…даже если это только первоначальная попытка, похоже, что они хотят дискриминировать пользователей Wine. Это может быть приемлемо для компонентов/обновлений операционной системы, но, вероятно, нарушает антимонопольное законодательство в случае остальных загрузок. Кроме того, это первый раз, когда Microsoft дала понять, что знает о существовании Wine

Windows Genuine Advantage (WGA) также проверяет на наличие ключей реестра от Wine. В WGA FAQ заявлено, что WGA по своему предназначению не будет работать в Wine, поскольку Wine не «подлинная Windows»[26]. Когда проверка WGA определяет, что в системе запущен Wine, пользователю будет выдано сообщение, гласящее, что он запустил не подлинную Windows и «загрузки ПО для подлинной Windows» не будут разрешены для этой системы. Тем не менее было несколько сообщений о работе WGA в Wine[27][28], однако и эта возможность использования была закрыта в следующем обновлении компонента WGA. В случаях с Internet Explorer 7 и Windows Media Player впоследствии Microsoft удалила требования проверки WGA для установки.[источник не указан 556 дней]

Недостатки Wine

[править | править код]

Несмотря на то что Wine представляет собой довольно мощный программный продукт, у него есть определённые недостатки. К примеру, разработчики намеренно не заявляют поддержку USB из-за крайне высокой сложности её реализации. Таким образом, например, если вы запустите Apple iTunes в Wine, то он запустится, но не сможет взаимодействовать с устройствами, подключенными по USB, например Apple iPhone, Apple iPad, Apple iPod. Для обеспечения их работы придётся устанавливать виртуальную машину с Microsoft Windows и «пробрасывать» в неё устройства, подключенные по USB.[источник не указан 556 дней]

Примечания

[править | править код]
  1. https://groups.google.com/group/comp.os.linux.misc/msg/daa52d28ff44919f
  2. Wine 10.0 Released — 2025.
  3. https://www.winehq.org/news/2025071101 — 2025.
  4. The wine Open Source Project on Open Hub: Languages Page — 2006.
  5. The Wine Open Source Project on Open Hub: Languages Page — 2006.
  6. 1 2 https://web.archive.org/web/20201103180839/https://www.winehq.org/
  7. https://web.archive.org/web/20201102165801/https://wiki.winehq.org/Download
  8. https://dl.winehq.org/wine-builds/android/
  9. https://gitlab.winehq.org/wine/wine/-/blob/d1f6b3771376cc8909be712b127125e1b9e4f5d1/LICENSE
  10. Licensing · Wiki · wine / wine · GitLab
  11. Amstadt, Bob (29 сентября 1993). Wine project status. Newsgroupcomp.windows.x.i386unix. Архивировано 5 января 2011. Дата обращения: 4 февраля 2024.
  12. Wine 1.0 Released (англ.). WineHQ (17 июня 2008). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  13. Wine-Staging. WineHQ Wiki. Дата обращения: 22 апреля 2019. Архивировано 22 апреля 2019 года.
  14. BenchMark-0.9.5 (англ.). The Official Wine Wiki. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  15. 1 2 Verbeet, Henri (25 января 2019). wined3d/Vulkan. wine-devel (Mailing list) (англ.). Архивировано 4 февраля 2024. Дата обращения: 5 января 2024.
  16. Picasa for Linux, Frequently Asked Questions (англ.). Google. Дата обращения: 14 марта 2009. Архивировано из оригинала 3 января 2011 года.
  17. Open Source Patches: Wine (англ.). Google. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  18. WINE@Etersoft: поддерживаемые операционные системы. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  19. Trustverse WINE-LXP Архивировано 23 июня 2010 года.
  20. IEs 4 Linux News " Supporting IE9 on Linux. Дата обращения: 12 февраля 2011. Архивировано 24 февраля 2011 года.
  21. Репозиторий DXVK на GitHub. Дата обращения: 10 апреля 2019. Архивировано 26 мая 2020 года.
  22. Репозиторий vkd3d. Дата обращения: 20 апреля 2019. Архивировано 2 апреля 2019 года.
  23. Компания Valve представила проект Proton для запуска Windows-игр в Linux. Дата обращения: 10 апреля 2019. Архивировано 17 февраля 2020 года.
  24. Источник. Дата обращения: 16 января 2024. Архивировано 3 декабря 2023 года.
  25. Puoti, Ivan Leo (16 февраля 2005). Microsoft genuine downloads looking for wine (Mailing list) (англ.). Архивировано 7 апреля 2009. Дата обращения: 14 марта 2009.
  26. Genuine Windows FAQ (англ.). Microsoft Corporation. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  27. Ubuntu Linux Validates as Genuine Windows (англ.). Slashdot (17 июня 2007). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  28. Linux is a Genuine Windows? turns out it is (англ.). bit-tech.net (6 августа 2005). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.

Англоязычные

[править | править код]

Русскоязычные

[править | править код]

Licensed under CC BY-SA 3.0 | Source: https://ru.wikipedia.org/wiki/Wine
252 views | Status: cached on August 13 2025 11:13:27
↧ Download this article as ZWI file
Encyclosphere.org EncycloReader is supported by the EncyclosphereKSF