Wine
Wine | |
---|---|
![]() | |
![]() | |
Тип | слой совместимости |
Разработчики | Александр Джуллиард[вд], Яцек Цабан[вд], Николай Сивов[вд], Пётр Цабан[вд], Реми Бернон[вд], Франсуа Гуже[вд], Хью Дэвис[вд] и Зебедия Фигура[вд] |
Написана на | Си[4] |
Операционные системы | GNU/Linux[5], macOS[5], FreeBSD[6], Android[7] и Unix-подобная операционная система |
Первый выпуск | июнь 1993[1] |
Последняя версия | |
Тестовая версия |
|
Репозиторий | gitlab.winehq.org/wine/w… |
Лицензия | GNU LGPL |
Сайт | winehq.org (англ.) |
![]() |
![](https://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/Gallium3D_example_matrix.svg/220px-Gallium3D_example_matrix.svg.png)
Wine (МФА: [waɪn] — «уа́йн»; с англ. wine — «вино») — свободное программное обеспечение, позволяющее пользователям UNIX-подобных операционных систем, например GNU/Linux, Apple macOS и других UNIX-подобных с поддержкой архитектур CPU x86, AMD64 (и других архитектур CPU при наличии совместимости с ними запускаемых приложений) исполнять 16-, 32- и 64-битные приложения, в том числе игры, созданные исключительно для Microsoft Windows, без наличия при этом установленной Microsoft 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[8]. С 1994 года лидером проекта стал Александр Джуллиард[англ.] (Alexandre Julliard). Первоначально Wine был выпущен под лицензией MIT, но в марте 2002 года она была сменена на GNU LGPL.[источник не указан 194 дня]
Со временем Wine был портирован на другие UNIX-подобные системы, такие как FreeBSD, Solaris и другие, а также на Windows (там WINE обычно используется для запуска старых приложений на новых версиях ОС). Была добавлена поддержка 32-битных приложений Windows, а в 2005 году — и 64-битных. До октября 2005 года проект находился в стадии альфа-версии, хотя с его помощью безупречно работали многие программы. 25 октября 2005 г. была выпущена первая бета-версия Wine 0.9. С этого момента новые версии стали выпускаться обычно раз в две недели.[источник не указан 194 дня]
Летом 2007 года произошёл небольшой скандал, поскольку выяснилось, что несколько свободных библиотек Wine были использованы компанией Parallels, Inc. в проприетарном продукте Parallels Desktop for Mac без предоставления исходных кодов, что является нарушением лицензии LGPL[9]. Установить факт нарушения смогли из-за скриншотов, опубликованных Parallels, на которых у персонажей игры Half-Life 2 были видны квадратные тени, что на тот момент было одной из известных ошибок Wine[10]. В компании Parallels подтвердили, что используют модифицированные исходные коды Wine, и обещали предоставить их по запросу в течение трёх дней[11]. Тем не менее, разработчики Wine получили модифицированные исходные коды только через месяц. Кроме того, на сайте Parallels появились информация о Wine как компоненте и его лицензии[12], на чём конфликт фактически исчерпал себя[10].
17 июня 2008 года, после 15 лет разработки, вышла версия Wine 1.0, первая, которую разработчики называют стабильной[13].
16 июля 2010 года вышла следующая стабильная версия Wine под номером 1.2[14].
7 марта 2012 года вышел стабильный релиз — версия Wine под номером 1.4[15].
16 марта 2012 года вышел тестовый релиз — версия Wine под номером 1.5.0, который обновляется раз в 15–20 дней.[источник не указан 194 дня]
3 февраля 2013 года Александр Джуллиард на конференции FOSDEM сообщил, что Wine портировали под ОС Android. Но конкретные сроки выхода названы не были.[источник не указан 194 дня]
18 июля 2013 года вышел тестовый релиз — версия Wine под номером 1.6.0.[источник не указан 194 дня]
20 апреля 2017 года вышел стабильный релиз — версия Wine под номером 2.0.1.[источник не указан 194 дня]
18 января 2018 года — Wine 3.0.[источник не указан 194 дня]
22 января 2019 года вышел релиз — версия Wine под номером 4.0.[источник не указан 194 дня]
21 января 2020 года новой версии — Wine под номером 5.0[источник не указан 194 дня]
08 октября 2021 года вышел релиз Wine 6.19 [источник не указан 194 дня]
27 марта 2023 года вышел релиз Wine 7.0.[источник не указан 194 дня]
19 июля 2023 года вышел релиз Wine 8.0.[источник не указан 194 дня]
22 декабря 2023 года вышел релиз Wine 9.0.[источник не указан 194 дня]
Текущая версия (на момент 22.01.2024) — Wine 9.3[источник не указан 194 дня]
Технические особенности
[править | править код]![](https://upload.wikimedia.org/wikipedia/commons/thumb/7/7f/Wine_Configuration-ru.png/250px-Wine_Configuration-ru.png)
Проект сталкивается с большими трудностями вследствие неполноты или отсутствия документации по многим элементам Win32 API. В то время как функции Win32 в основном документированы, существует масса областей (таких как файловые форматы или протоколы Microsoft), спецификации на которые никогда не публиковались. Таким образом, команде разработчиков Wine приходится заниматься обратной разработкой этих компонентов.[источник не указан 194 дня]
Wine воспринимает системные вызовы приложений Windows к библиотекам операционной системы и подменяет их своими. Таким образом, эмуляции процессора, аналогично другим эмуляторам типа VMware и QEMU, не происходит, и приложения могут выполняться в Wine почти так же быстро, как и в «родной» операционной системе (а в некоторых случаях и быстрее[16]). Для своей работы Wine не требует наличия установленной ОС Windows, хотя и может использовать её библиотеки.[источник не указан 194 дня]
Также Wine предоставляет инструментарий разработки программ Winelib для переноса унаследованных исходных кодов из среды Windows в среду UNIX путём простой перекомпиляции.[источник не указан 194 дня]
Wine, безусловно, не стабильный продукт, и нельзя сказать, что с его помощью удастся запустить любую программу для Windows. Некоторые подсистемы Windows вообще практически не реализованы. Тем не менее уже сейчас многие из повсеместно используемых приложений Windows полноценно запускаются и работают в UNIX-подобных ОС при помощи Wine. Особенно это касается приложений, которые не используют недокументированные возможности Windows. Также под Wine полноценно запускаются приложения, разработанные для Windows 95/98/ME/2000/XP, которые не работают на Windows 8/10 даже в режиме "совместимости".[источник не указан 194 дня]
Wine (до версии 1.6.2) не мог переводить экран в 256-цветный режим (8 бит/цвет) без установки дополнительного ПО и сильных ухищрений, если такой уже не установлен в запущенном X-сервере. Это могло вызвать проблемы с некоторыми старыми играми и другими программами для Windows 3.1/9x, требующими именно 256-цветный режим.[источник не указан 194 дня]
Поддержка Direct3D
[править | править код]![]() | В разделе не хватает ссылок на источники (см. рекомендации по поиску). |
Для обработки вызовов API Direct3D в Wine используется специальный трансляционный слой, в качестве которого могут быть использованы несколько вариантов:
- wined3d — способен транслировать в вызовы OpenGL вызовы различных версий Direct3D до версии 11 включительно; wined3d не поддерживает Direct3D версии 12;[источник не указан 194 дня]
- DXVK — транслирует вызовы API Direct3D версий 9, 10 и 11 в вызовы API Vulkan; DXVK создан независимым от Wine разработчиком, написан на С++ и не является частью Wine, он может использоваться в нём как (внешняя) подгружаемая библиотека[17];
- vkd3d — транслирует вызовы API Direct3D 12 в вызовы API Vulkan[17].
Использование кода Wine в других проектах
[править | править код]- Часть кода WINE, позволяющая загружать динамические библиотеки (DLL) для Windows, используется в других свободных проектах, таких как MPlayer, Xine и некоторых других.[источник не указан 194 дня]
- Компанией Borland была выпущена среда разработки Kylix, использующая код Wine (в настоящий момент разработка и поддержка прекращена).[источник не указан 194 дня]
- ReactOS — проект свободной операционной системы, ставящий целью полную совместимость с Windows на уровне программ и драйверов. Не будучи основанным на Wine, проект ReactOS активно сотрудничает с ним, берёт из него многие наработки и делится своим кодом.[источник не указан 194 дня]
- Picasa, Google Earth. При портировании под Linux использовались библиотеки Wine[18][19].
Продукты, основанные на 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[20]. - WINE-LXP — ещё одна коммерческая реализация Wine, часть Trustverse Desktop (ранее выпускавшегося как Linux XP). Об этой реализации известно, что отдельно она не продаётся, поддерживает запуск 1С:Предприятие и ещё несколько приложений[21].
- 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-й версии[22].
- WineWizard — графический интерфейс для настройки и упрощения установки программ в Wine. Очень похож на PlayOnLinux, но в отличие от этого инструмента позволяет пользователю самому создавать решения для установки программ, а также выбирать нужные компоненты.
- Odin — проект для запуска программ Windows в OS/2 или их конвертирования в «родной» OS/2 формат.
- DXVK — проект по ретрансляции вызовов Direct3D 9-11[23], использующий в качестве выхода не стандартный OpenGL, а Vulkan API.
- vkd3d — проект по ретрансляции вызовов Direct3D 12[24] в вызовы Vulkan API. В отличие от DXVK, выступает частью проекта Wine.
- Steam Play (Valve Proton) — проект для запуска игр Windows, поставляющийся с платформой цифровой дистрибуции Steam. Для работы использует Wine в связке с DXVK (реализация DirectX 11) и vkd3d (реализация DirectX 12)[25] и массой собственных доработок.
- PortProton — проект, использующий форк wine в варианте Valve Proton для автоматизации скачивания и запуска игр через российские сервисы дистрибуции игр.[26]
Microsoft и Wine
[править | править код]В Microsoft официально не делали никаких публичных заявлений по поводу Wine. Однако Microsoft Update будет блокировать обновления для программного обеспечения от Microsoft, если программы будут запущены в средах, основанных на Wine. 16 февраля 2005 года Айван Лео Пуоти обнаружил, что Microsoft начала проверять системный реестр в поисках конфигурационных ключей, оставленных Wine, и будет блокировать доступ к Windows Update для любого компонента. Пуоти написал[27]:
…даже если это только первоначальная попытка, похоже, что они хотят дискриминировать пользователей Wine. Это может быть приемлемо для компонентов/обновлений операционной системы, но, вероятно, нарушает антимонопольное законодательство в случае остальных загрузок. Кроме того, это первый раз, когда Microsoft дала понять, что знает о существовании Wine
Оригинальный текст (англ.)…even if this is only an initial attempt, they appear to want to discriminate against Wine users. While this may be acceptable for operating system components/updates, this is probably a violation of anti-trust law for all other downloads. It’s also the first time Microsoft has acknowledged the existence of Wine.
Windows Genuine Advantage (WGA) также проверяет на наличие ключей реестра от Wine. В WGA FAQ заявлено, что WGA по своему предназначению не будет работать в Wine, поскольку Wine не «подлинная Windows»[28]. Когда проверка WGA определяет, что в системе запущен Wine, пользователю будет выдано сообщение, гласящее, что он запустил не подлинную Windows и «загрузки ПО для подлинной Windows» не будут разрешены для этой системы. Тем не менее было несколько сообщений о работе WGA в Wine[29][30], однако и эта возможность использования была закрыта в следующем обновлении компонента WGA. В случаях с Internet Explorer 7 и Windows Media Player впоследствии Microsoft удалила требования проверки WGA для установки.[источник не указан 194 дня]
Недостатки Wine
[править | править код]Несмотря на то что Wine представляет собой довольно мощный программный продукт, у него есть определённые недостатки. К примеру, разработчики намеренно не заявляют поддержку USB из-за крайне высокой сложности её реализации. Таким образом, например, если вы запустите Apple iTunes в Wine, то он запустится, но не сможет взаимодействовать с устройствами, подключенными по USB, например Apple iPhone, Apple iPad, Apple iPod. Для обеспечения их работы придётся устанавливать виртуальную машину с Microsoft Windows и «пробрасывать» в неё устройства, подключенные по USB.[источник не указан 194 дня]
См. также
[править | править код]Примечания
[править | править код]- ↑ https://groups.google.com/group/comp.os.linux.misc/msg/daa52d28ff44919f
- ↑ Wine 9.0 Released (англ.) — 2024.
- ↑ Wine 9.15 Released — 2024.
- ↑ The wine Open Source Project on Open Hub: Languages Page — 2006.
- ↑ 1 2 https://web.archive.org/web/20201103180839/https://www.winehq.org/
- ↑ https://web.archive.org/web/20201102165801/https://wiki.winehq.org/Download
- ↑ https://dl.winehq.org/wine-builds/android/
- ↑ Amstadt, Bob (1993-09-29). "Wine project status". Newsgroup: comp.windows.x.i386unix. Архивировано 5 января 2011. Дата обращения: 4 февраля 2024.
- ↑ SWSoft поймали на нарушении LGPL . Linux.org.ru (1 июня 2007). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
- ↑ 1 2 Parallels Desktop Watch : [англ.] : [арх. 17 июля 2012] // The Official Wine Wiki.
- ↑ Parallels using WINE? Possible liscensing issues… : Discussion in 'Parallels Desktop for Mac' started by unused_user_name, Jun 8, 2007 : [англ.] : [арх. 1 июня 2012] // Parallels Phorums.
- ↑ Licensing information : [англ.] : [арх. 1 июня 2012] // Parallels.
- ↑ Wine 1.0 Released (англ.). WineHQ (17 июня 2008). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
- ↑ Wine 1.2 Released (англ.). WineHQ (16 июля 2010). Дата обращения: 18 июля 2010. Архивировано 1 июня 2012 года.
- ↑ Wine 1.4 Released (англ.). WineHQ (7 марта 2012). Дата обращения: 12 апреля 2012. Архивировано 1 июня 2012 года.
- ↑ BenchMark-0.9.5 (англ.). The Official Wine Wiki. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
- ↑ 1 2 Verbeet, Henri (2019-01-25). "wined3d/Vulkan". wine-devel (Mailing list) (англ.). Архивировано 4 февраля 2024. Дата обращения: 5 января 2024.
- ↑ Picasa for Linux, Frequently Asked Questions (англ.). Google. Дата обращения: 14 марта 2009. Архивировано из оригинала 3 января 2011 года.
- ↑ Open Source Patches: Wine (англ.). Google. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
- ↑ WINE@Etersoft: поддерживаемые операционные системы . Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
- ↑ Trustverse WINE-LXP Архивировано 23 июня 2010 года.
- ↑ IEs 4 Linux News " Supporting IE9 on Linux . Дата обращения: 12 февраля 2011. Архивировано 24 февраля 2011 года.
- ↑ Репозиторий DXVK на GitHub . Дата обращения: 10 апреля 2019. Архивировано 26 мая 2020 года.
- ↑ Репозиторий vkd3d . Дата обращения: 20 апреля 2019. Архивировано 2 апреля 2019 года.
- ↑ Компания Valve представила проект Proton для запуска Windows-игр в Linux . Дата обращения: 10 апреля 2019. Архивировано 17 февраля 2020 года.
- ↑ Источник . Дата обращения: 16 января 2024. Архивировано 3 декабря 2023 года.
- ↑ Puoti, Ivan Leo (2005-02-16). "Microsoft genuine downloads looking for wine" (Mailing list) (англ.). Архивировано 7 апреля 2009. Дата обращения: 14 марта 2009.
- ↑ Genuine Windows FAQ (англ.). Microsoft Corporation. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
- ↑ Ubuntu Linux Validates as Genuine Windows (англ.). Slashdot (17 июня 2007). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
- ↑ Linux is a Genuine Windows? turns out it is (англ.). bit-tech.net (6 августа 2005). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
Ссылки
[править | править код]Англоязычные
[править | править код]- winehq.org (англ.) — официальный сайт Wine
- Wine на SourceForge.net.
- База приложений, совместимых с Wine в той или иной степени. (англ.)
- The Official Wine Wiki (англ.) — вики-страница проекта.
Русскоязычные
[править | править код]- Wine (@FreeSource) (рус.) — проект «Русский Wine»
- База приложений Wine (рус.) — база приложений, совместимых с Wine в той или иной степени.
- Wine: Часто задаваемые вопросы (рус.)
- Руководство пользователя Wine (рус.) — Русский перевод.
- Эволюция Wine (рус.)
- Установка программ для Windows на MacOS (рус.) — Подробная инструкция