Interested Article - Wine

Gallium3D State Tracker for Direct3D 9 improves performance when playing D3D games on Wine

Wine ( МФА : [ w a ɪ 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 ( WI ndows N ative E nvironment).

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

История

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

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

Летом 2007 года произошёл небольшой скандал, поскольку выяснилось, что несколько свободных библиотек Wine были использованы компанией Parallels, Inc. в проприетарном продукте Parallels Desktop for Mac без предоставления исходных кодов, что является нарушением лицензии LGPL . Установить факт нарушения смогли из-за скриншотов, опубликованных Parallels, на которых у персонажей игры Half-Life 2 были видны квадратные тени, что на тот момент было одной из известных ошибок Wine . В компании Parallels подтвердили, что используют модифицированные исходные коды Wine, и обещали предоставить их по запросу в течение трёх дней . Тем не менее, разработчики Wine получили модифицированные исходные коды только через месяц. Кроме того, на сайте Parallels появились информация о Wine как компоненте и его лицензии , на чём конфликт фактически исчерпал себя .

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

16 июля 2010 года вышла следующая стабильная версия Wine под номером 1.2 .

7 марта 2012 года вышел стабильный релиз — версия Wine под номером 1.4 .

16 марта 2012 года вышел тестовый релиз — версия Wine под номером 1.5.0, который обновляется раз в 15–20 дней. [ источник не указан 21 день ]

3 февраля 2013 года Александр Джуллиард на конференции FOSDEM сообщил, что Wine портировали под ОС Android. Но конкретные сроки выхода названы не были. [ источник не указан 21 день ]

18 июля 2013 года вышел тестовый релиз — версия Wine под номером 1.6.0. [ источник не указан 21 день ]

20 апреля 2017 года вышел стабильный релиз — версия Wine под номером 2.0.1. [ источник не указан 21 день ]

18 января 2018 года — Wine 3.0. [ источник не указан 21 день ]

22 января 2019 года вышел релиз — версия Wine под номером 4.0. [ источник не указан 21 день ]

21 января 2020 года новой версии — Wine под номером 5.0 [ источник не указан 21 день ]

вышел релиз Wine 6.19 [ источник не указан 21 день ]

вышел релиз Wine 7.0. [ источник не указан 21 день ]

вышел релиз Wine 8.0. [ источник не указан 21 день ]

вышел релиз Wine 9.0. [ источник не указан 21 день ]

Текущая версия (на момент 22.01.2024) Wine 9.0 [ источник не указан 21 день ]

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

Настройка Wine

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

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

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

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

Wine (до версии 1.6.2) не мог переводить экран в 256-цветный режим (8 бит/цвет) без установки дополнительного ПО и сильных ухищрений, если такой уже не установлен в запущенном X-сервере. Это могло вызвать проблемы с некоторыми старыми играми и другими программами для Windows 3.1/9x, требующими именно 256-цветный режим. [ источник не указан 21 день ]

Поддержка Direct3D

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

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

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

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

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

  • Cedega , ранее WineX, — продукт, основанный на старом коде Wine (до смены лицензии на LGPL), созданный компанией для поддержки игр для 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 .
  • WINE-LXP — ещё одна коммерческая реализация Wine, часть Trustverse Desktop (ранее выпускавшегося как Linux XP ). Об этой реализации известно, что отдельно она не продаётся, поддерживает запуск 1С:Предприятие и ещё несколько приложений .
  • PlayOnLinux — графический интерфейс GTK для настройки Wine. Поддерживает скрипты установки, параллельные разные версии wine для отдельных приложений и позволяет использовать для каждого приложения Wine свой профиль.
  • — ещё один интерфейс GTK для настройки Wine.
  • — графический интерфейс Qt для настройки Wine. Также позволяет использовать для каждого приложения Wine свой профиль.
  • — скрипт для установки некоторых основных компонентов (как правило, библиотек DLL и шрифтов), необходимых для правильной работы некоторых приложений под Wine. Проект Wine принимает сообщения об ошибках для пользователей Winetricks, в отличие от большинства сторонних приложений.
  • — приложение для GNOME , которое вносит дополнительную функциональность и стало альтернативой WineTools.
  • — утилита для установки всех версий Internet Explorer , включая версии от 4-й до 6-й и бета-версии 7. После двух лет молчания, в январе 2011, появилось сообщение о скором начале поддержки 9-й версии .
  • WineWizard — графический интерфейс для настройки и упрощения установки программ в Wine. Очень похож на PlayOnLinux, но в отличие от этого инструмента позволяет пользователю самому создавать решения для установки программ, а также выбирать нужные компоненты.
  • Odin — проект для запуска программ Windows в OS/2 или их конвертирования в «родной» OS/2 формат.
  • DXVK — проект по ретрансляции вызовов Direct3D 9-11 , использующий в качестве выхода не стандартный OpenGL, а Vulkan API .
  • vkd3d — проект по ретрансляции вызовов Direct3D 12 в вызовы Vulkan API. В отличие от DXVK, выступает частью проекта Wine.
  • Steam Play (Valve Proton) — проект для запуска игр Windows, поставляющийся с платформой цифровой дистрибуции Steam . Для работы использует Wine в связке с DXVK (реализация DirectX 11) и vkd3d (реализация DirectX 12) и массой собственных доработок.
  • PortProton — проект, использующий форк wine в варианте Valve Proton для автоматизации скачивания и запуска игр через российские сервисы дистрибуции игр.

Microsoft и Wine

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

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

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

Недостатки Wine

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

См. также

Примечания

  1. (англ.) — 2024.
  2. — 2024.
  3. — 2006.
  4. Amstadt, Bob (1993-09-29). . Newsgroup : . из оригинала 5 января 2011 . Дата обращения: 4 февраля 2024 .
  5. . (1 июня 2007). Дата обращения: 14 марта 2009. 1 июня 2012 года.
  6. : [ англ. ] : [ 17 июля 2012 ] // The Official Wine Wiki.
  7. : Discussion in 'Parallels Desktop for Mac' started by unused_user_name, Jun 8, 2007 : [ англ. ] : [ 1 июня 2012 ] // Parallels Phorums.
  8. : [ англ. ] : [ 1 июня 2012 ] // Parallels.
  9. (англ.) . WineHQ (17 июня 2008). Дата обращения: 14 марта 2009. 1 июня 2012 года.
  10. (англ.) . WineHQ (16 июля 2010). Дата обращения: 18 июля 2010. 1 июня 2012 года.
  11. (англ.) . WineHQ (7 марта 2012). Дата обращения: 12 апреля 2012. 1 июня 2012 года.
  12. (англ.) . The Official Wine Wiki. Дата обращения: 14 марта 2009. 1 июня 2012 года.
  13. Verbeet, Henri (2019-01-25). . wine-devel (Mailing list) (англ.) . из оригинала 4 февраля 2024 . Дата обращения: 5 января 2024 .
  14. (англ.) . Google . Дата обращения: 14 марта 2009. Архивировано из 3 января 2011 года.
  15. (англ.) . Google . Дата обращения: 14 марта 2009. 1 июня 2012 года.
  16. . Дата обращения: 14 марта 2009. 1 июня 2012 года.
  17. 23 июня 2010 года.
  18. . Дата обращения: 12 февраля 2011. 24 февраля 2011 года.
  19. . Дата обращения: 10 апреля 2019. 26 мая 2020 года.
  20. . Дата обращения: 20 апреля 2019. 2 апреля 2019 года.
  21. . Дата обращения: 10 апреля 2019. 17 февраля 2020 года.
  22. . Дата обращения: 16 января 2024. 3 декабря 2023 года.
  23. Puoti, Ivan Leo (16 февраля 2005). (Mailing list) (англ.) . из оригинала 7 апреля 2009 . Дата обращения: 14 марта 2009 .
  24. (англ.) . Microsoft Corporation . Дата обращения: 14 марта 2009. 1 июня 2012 года.
  25. (англ.) . Slashdot (17 июня 2007). Дата обращения: 14 марта 2009. 1 июня 2012 года.
  26. (англ.) . bit-tech.net (6 августа 2005). Дата обращения: 14 марта 2009. 1 июня 2012 года.

Ссылки

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

  • (англ.) — официальный сайт Wine
  • на SourceForge.net .
  • (англ.)
  • (англ.) вики -страница проекта.

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

  • (рус.) — проект «Русский Wine»
  • (рус.) — база приложений, совместимых с Wine в той или иной степени.
  • (рус.)
  • (рус.) — Русский перевод.
  • (рус.)
  • (рус.) — Подробная инструкция
Источник —

Same as Wine