Меню
Главная
Случайная статья
Настройки
|
Wine (МФА: [wan] — «уайн»; с англ. 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.[источник не указан 594 дня]
Со временем 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].
Технические особенности
Проект сталкивается с большими трудностями вследствие неполноты или отсутствия документации по многим элементам Win32 API. В то время как функции Win32 в основном документированы, существует масса областей (таких как файловые форматы или протоколы Microsoft), спецификации на которые никогда не публиковались. Таким образом, команде разработчиков Wine приходится заниматься обратной разработкой этих компонентов.
Wine воспринимает системные вызовы приложений Windows к библиотекам операционной системы и подменяет их своими. Таким образом, эмуляции процессора, аналогично другим эмуляторам типа VMware и QEMU, не происходит, и приложения могут выполняться в Wine почти так же быстро, как и в «родной» операционной системе (а в некоторых случаях и быстрее[14]). Для своей работы Wine не требует наличия установленной ОС Windows, хотя и может использовать её библиотеки.
Также Wine предоставляет инструментарий разработки программ Winelib для переноса унаследованных исходных кодов из среды Windows в среду UNIX путём простой перекомпиляции.
Wine, безусловно, не стабильный продукт, и нельзя сказать, что с его помощью удастся запустить любую программу для Windows. Некоторые подсистемы Windows вообще практически не реализованы. Тем не менее уже сейчас многие из повсеместно используемых приложений Windows полноценно запускаются и работают в UNIX-подобных ОС при помощи Wine. Особенно это касается приложений, которые не используют недокументированные возможности Windows. Также под Wine полноценно запускаются приложения, разработанные для Windows 95/98/ME/2000/XP, которые не работают на Windows 8/10 даже в режиме «совместимости».
Поддержка Direct3D
Для обработки вызовов API Direct3D в Wine используется специальный трансляционный слой, в качестве которого могут быть использованы несколько вариантов:
- wined3d — способен транслировать в вызовы OpenGL вызовы различных версий Direct3D до версии 11 включительно; wined3d не поддерживает Direct3D версии 12;
- 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 и некоторых других.
- Компанией Borland была выпущена среда разработки Kylix, использующая код Wine (в настоящий момент разработка и поддержка прекращена).[источник не указан 594 дня]
- ReactOS — проект свободной операционной системы, ставящий целью полную совместимость с Windows на уровне программ и драйверов. Не будучи основанным на Wine, проект ReactOS активно сотрудничает с ним, берёт из него многие наработки и делится своим кодом.[источник не указан 594 дня]
- 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 официально не делали никаких публичных заявлений по поводу 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 для установки.[источник не указан 594 дня]
Недостатки Wine
Несмотря на то что Wine представляет собой довольно мощный программный продукт, у него есть определённые недостатки. К примеру, разработчики намеренно не заявляют поддержку USB из-за крайне высокой сложности её реализации. Таким образом, например, если вы запустите Apple iTunes в Wine, то он запустится, но не сможет взаимодействовать с устройствами, подключенными по USB, например Apple iPhone, Apple iPad, Apple iPod. Для обеспечения их работы придётся устанавливать виртуальную машину с Microsoft Windows и «пробрасывать» в неё устройства, подключенные по USB.[источник не указан 594 дня]
См. также
Примечания
- https://groups.google.com/group/comp.os.linux.misc/msg/daa52d28ff44919f
- Wine 10.0 Released — 2025.
- Wine 10.15 Released (англ.) — 2025.
- The wine Open Source Project on Open Hub: Languages Page — 2006.
- 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/
- https://gitlab.winehq.org/wine/wine/-/blob/d1f6b3771376cc8909be712b127125e1b9e4f5d1/LICENSE
- Licensing · Wiki · wine / wine · GitLab
- Amstadt, Bob (29 сентября 1993). Wine project status. Newsgroup: comp.windows.x.i386unix. Архивировано 5 января 2011. Дата обращения: 4 февраля 2024.
- Wine 1.0 Released (англ.). WineHQ (17 июня 2008). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
- Wine-Staging (неопр.). WineHQ Wiki. Дата обращения: 22 апреля 2019. Архивировано 22 апреля 2019 года.
- BenchMark-0.9.5 (англ.). The Official Wine Wiki. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
- 1 2 Verbeet, Henri (25 января 2019). 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 (16 февраля 2005). 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 года.
Ссылки
Англоязычные
Русскоязычные
|
|