Wine (программное обеспечение) - Wine (software)
winecfg (Конфигурация Wine) в 32-битный режим, официальная программа настройки WINE (версия 5.5) | |
Оригинальный автор (ы) | Боб Амштадт, Эрик Янгдейл |
---|---|
Разработчики) | Авторы вин[1] (1,755) |
изначальный выпуск | 4 июля 1993 г. |
Стабильный выпуск | 5.0.3[2] (10 ноября 2020 г. ) [±] |
Предварительный выпуск | 5.22[3] (20 ноября 2020 г. ) [±] |
Репозиторий | источник |
Написано в | C |
Операционная система | |
Платформа | x86-32, x86-64, РУКА |
Доступно в | Многоязычный |
Тип | Уровень совместимости |
Лицензия | LGPLv2.1 +[6][7] |
Интернет сайт | Winehq |
Вино (рекурсивный backronym за Вино - это не Эмулятор ) это бесплатно и с открытым исходным кодом уровень совместимости которая направлена на то, чтобы позволить программное обеспечение и компьютерные игры разработан для Майкрософт Виндоус бежать на Unix-подобный операционные системы. Вино также обеспечивает библиотека программного обеспечения, известный как "Винелиб", против которого разработчики могут компилировать Приложения Windows в помощь порт их в Unix-подобные системы.[8]
Вино дает свое уровень совместимости для Windows система времени выполнения (также называемая средой выполнения), которая переводит Windows системные вызовы в POSIX -соответствующий системные вызовы,[9] воссоздание структура каталогов Windows и предоставление альтернативных реализаций Windows системные библиотеки,[10] системные услуги через винный погреб
[11] и различные другие компоненты (такие как Internet Explorer, то Редактор реестра Windows,[12] и msiexec[13]). Вино преимущественно пишется с использованием черный ящик обратная инженерия, чтобы избежать Авторские права вопросы.[14]
Выбор "Wine is Not an Emulator" в качестве названия Wine Project стал результатом обсуждения названия в августе 1993 года.[15] и приписывается Дэвиду Ниеми. Есть некоторая путаница, вызванная ранним FAQ с использованием Эмулятор Windows[16] и другие недопустимые источники, которые появляются после заданного имени Wine Project. Нет эмуляция кода или же виртуализация возникает при запуске Windows заявление в разделе Вино.[17] "Эмуляция" обычно будет относиться к исполнение из составлен код, предназначенный для одного процессор (Такие как x86 ) к интерпретация / перекомпиляция программное обеспечение, работающее на другом процессоре (например, PowerPC ). Хотя имя иногда появляется в формах ВИНО и вино, разработчики проекта договорились стандартизировать форму Вино.[18]
Wine в первую очередь разработан для Linux и macOS,[19] и по состоянию на июль 2020 г.[Обновить], хорошо поддерживаемые пакеты доступны для обеих платформ.[20] Однако он не может работать на macOS версии новее, чем macOS Mojave из-за удаление поддержки 32-битных приложений.[нужна цитата ]
В опросе, проведенном в 2007 году Desktoplinux.com среди 38 500 пользователей настольных компьютеров Linux, 31,5% респондентов сообщили, что используют Wine для запуска приложений Windows.[21] Это множество было больше, чем все виртуализация x86 программ вместе взятых, а также больше, чем 27,9%, которые сообщили, что не запускают приложения Windows.[22]
История
Боб Амштадт, начальный руководитель проекта, и Эрик Янгдейл начали проект Wine в 1993 году как способ запуска приложений Windows на Linux. Он был вдохновлен двумя Sun Microsystems 'продукты, Ваби для Солярис операционная система и Инициатива Public Windows,[23] что было попыткой получить Windows API полностью реализовано в открытом доступе как ISO стандарт, но отклонен из-за давления со стороны Microsoft в 1996 г.[24] Вино изначально нацелено 16-битные приложения за Windows 3.x, но по состоянию на 2010 г.[Обновить] фокусируется на 32-битный и 64-битный версии, которые стали стандартом для новых операционных систем. Проект зародился в обсуждениях на Usenet в comp.os.linux в июне 1993 г.[25] Александр Джуллиард руководит проектом с 1994 года.
Проект оказался трудоемким и сложным для разработчиков, в основном из-за неполных и некорректных документация API Windows. Хотя Microsoft подробно документирует большинство Win32 функции, некоторые области, такие как форматы файлов и протоколы не имеют общедоступных спецификаций от Microsoft, и Windows также включает недокументированные низкоуровневые функции, недокументированное поведение и неясные ошибки что Wine должен точно дублироваться, чтобы некоторые приложения могли работать должным образом.[26] Следовательно, команда Wine имеет реконструированный множество вызовов функций и форматов файлов в таких областях, как громкий.[нужна цитата ]
Первоначально проект Wine выпустил Wine под тем же Лицензия MIT как X Window System, но из-за беспокойства по поводу проприетарный версии Wine, не вносящие свои изменения обратно в основной проект,[27] работа по состоянию на март 2002 г. использовала LGPL для лицензирования.[28]
Wine официально вошел в бета-версию с версией 0.9 25 октября 2005 года.[29] Версия 1.0 была выпущена 17 июня 2008 г.,[30] после 15 лет разработки. Версия 1.2 была выпущена 16 июля 2010 г.,[31] версия 1.4 от 7 марта 2012 г.,[32] версия 1.6 от 18 июля 2013 г.[33] и версия 1.8 от 19 декабря 2015 года.[34] Версии для разработки выпускаются примерно каждые две недели.
Винная постановка - это независимо поддерживаемый набор агрессивных патчи Разработчики WineHQ не сочли готовым к слиянию с репозиторием Wine, но по-прежнему считают полезным форк wine-compholio. В основном это касается экспериментальных функций и исправлений ошибок. С января 2017 года патчи в Wine-staging начинают активно объединяться с апстримом WineHQ, поскольку wine-compholio передала проект Алистеру Лесли-Хьюзу, ключевому разработчику WineHQ.[35]
Корпоративное спонсорство
Главный корпоративный спонсор Wine - CodeWeavers, который нанимает Джульярда и многих других разработчиков Wine для работы над Wine и над CrossOver, Версия Wine, поддерживаемая CodeWeavers. CrossOver включает некоторые настройки для конкретных приложений, которые не считаются подходящими для вверх по течению версия, а также некоторые дополнительные проприетарные компоненты.[36]
Участие Corel какое-то время помогал проекту, в основном нанимая Джульярда и других для работы над ним. Corel интересовалась портированием WordPerfect Office, это офисная одежда, в Linux (особенно Corel Linux ). Позже Corel отменила все проекты, связанные с Linux, после того как Microsoft сделала крупные инвестиции в Corel, остановив их усилия по Wine.[37]
Среди других корпоративных спонсоров Google, который нанял CodeWeavers для исправления Wine, чтобы Picasa работал достаточно хорошо, чтобы напрямую переносить его в Linux с использованием того же двоичного файла, что и в Windows; Позже Google заплатил за улучшения в поддержке Wine для Adobe Photoshop CS2. Wine также является постоянным бенефициаром Google Лето кода программа.[38][39]
Дизайн
Цель Wine - реализовать Windows API полностью или частично, которые требуются программам, которые пользователи Wine хотят запускать поверх Unix-подобной системы.
Базовая архитектура
Программный интерфейс Microsoft Windows состоит в основном из библиотеки с динамической компоновкой (DLL). Они содержат огромное количество подпрограмм-оболочек для системных вызовов ядра, программы режима ядра NTOS (ntoskrnl.exe). Типичная программа Windows вызывает некоторые библиотеки DLL Windows, которые, в свою очередь, вызывают библиотеки gdi / user32 пользовательского режима, которые, в свою очередь, используют kernel32.dll (подсистему win32), отвечающую за работу с ядром через системные вызовы. Уровень системных вызовов считается частным для программистов Microsoft, поскольку документация не является общедоступной, а все опубликованные интерфейсы полагаются на подсистемы, работающие поверх ядра. Помимо этого, существует ряд программных интерфейсов, реализованных как службы, которые выполняются как отдельные процессы. Приложения взаимодействуют со службами пользовательского режима через RPC.[40]
Wine реализует Windows двоичный интерфейс приложения (ABI) полностью в пространство пользователя, а не как модуль ядра. Wine в основном отражает иерархию, при этом службы обычно предоставляются ядром в Windows.[41] вместо этого предоставлено демон известный как винный сервер, задачей которого является реализация основных функций Windows, а также интеграция с X Window System, и перевод сигналы в собственные исключения Windows. Хотя Wineserver реализует некоторые аспекты Ядро Windows, с ним невозможно использовать собственные драйверы Windows из-за базовой архитектуры Wine.[40] Это предотвращает работу определенных приложений и игр, например, тех, которые используют защиту от копирования StarForce, которая требует драйверы виртуальных устройств быть установленным.[нужна цитата ]
Библиотеки и приложения
Wine позволяет загружать как Windows DLL, так и Unix общие объекты для своих программ Windows. Его встроенная реализация самых основных DLL Windows, а именно NTDLL, ЯДРО32, GDI32, USER32, использует метод общих объектов, поскольку они также должны использовать функции в операционной системе хоста. Библиотеки более высокого уровня, такие как WineD3D, могут свободно использовать формат DLL. Во многих случаях пользователи могут выбрать загрузку DLL из Windows вместо той, которая реализована с помощью Wine. Это может предоставить функции, которые еще не реализованы в Wine, но также может вызвать сбои, если он полагается на что-то еще, чего нет в Wine.[40]
Wine отслеживает состояние своей реализации с помощью автоматизированных модульное тестирование выполняется при каждой фиксации git.[42]
Графика и игры
Хотя в большинстве офисных программ не используются сложные графические API с ускорением на GPU, в компьютерных играх они используются. Для правильного запуска этих игр Wine пришлось бы пересылать инструкции по рисованию в ОС хоста и даже переводить их во что-то, что хост может понять.
DirectX представляет собой набор Microsoft API для рендеринга, звука и ввода. По состоянию на 2019 год Wine 4.0 содержит реализацию DirectX 12 для Vulkan API и DirectX 11.2 для OpenGL.[43] Wine 4.0 также позволяет Wine запускать приложения Vulkan, передавая команды рисования в ОС хоста или, в случае macOS, переводя их в Металл API к MoltenVK.[43]
- XAudio
- По состоянию на февраль 2019 г.[Обновить], Wine 4.3 использует FAudio библиотека (и Wine 4.13 включил исправление для нее) для реализации XAudio2 аудио API (и многое другое).[44][45]
- XInput и необработанный ввод
- Wine, начиная с 4.0 (2019), поддерживает игровые контроллеры через встроенные реализации этих библиотек. Они построены как общие объекты Unix, поскольку им необходимо получить доступ к интерфейсам контроллера базовой ОС, в частности, через SDL.[43]
- Direct2D
- Wine 4.0 поддерживает Direct2D 1.2.[43]
Direct3D
Большая часть усилий Wine в области DirectX направлена на создание WineD3D, слоя перевода из Direct3D и DirectDraw Вызовы API в OpenGL. По состоянию на 2019 год этот компонент поддерживает до DirectX 11.[43] По состоянию на 12 декабря 2016 г., Вино достаточно хорошо, чтобы работать Overwatch с D3D11.[46] Помимо использования в Wine, библиотеки DLL WineD3D также полезны в самой операционной системе Windows, позволяя старым графическим картам запускать игры с использованием более новых версий DirectX, а старые игры на основе DDraw - правильно отображать.[47]
В настоящее время ведется некоторая работа по перемещению серверной части Direct3D на Vulkan API. Поддержка Direct3D 12 в версии 4.0 обеспечивается подпроектом vkd3d,[43] а WineD3D в 2019 году был экспериментально перенесен на использование Vulkan API.[48]
После исправления Wine может также запускать Direct3D 9 без перевода через бесплатно и с открытым исходным кодом Галлий3D State Tracker для DX9. Слой Gallium3D позволяет напрямую передавать команды рисования.[49]
Пользовательский интерфейс
Wine обычно вызывается из интерпретатора командной строки: винная программа.exe
.[50]
winecfg
Есть утилита winecfg
который запускает графический пользовательский интерфейс с элементами управления для настройки основных параметров.[51] Это утилита конфигурации с графическим интерфейсом, включенная в Wine. Winecfg упрощает настройку Wine, избавляя от необходимости напрямую редактировать реестр, хотя, при необходимости, это можно сделать с помощью прилагаемого редактора реестра (аналогично Windows regedit ).
Сторонние приложения
Для правильной работы некоторых приложений требуется больше настроек, чем просто установка приложения, например, ручная настройка Wine для использования определенных DLL Windows. Проект Wine не интегрирует такие обходные пути в кодовую базу Wine, вместо этого предпочитая сосредоточиться исключительно на улучшении реализации Wine Windows API. Хотя этот подход направлен на разработку Wine на долгосрочную совместимость, он затрудняет пользователям запуск приложений, требующих обходных путей. Следовательно, было создано множество сторонних приложений, чтобы упростить использование тех приложений, которые не работают. из коробки внутри самого вина. Вики Wine поддерживает страницу с текущими и устаревшими сторонними приложениями.[52]
- Винетрикс это сценарий для установки некоторых базовых компонентов (обычно Microsoft DLL и шрифтов) и настройки параметров, необходимых для правильной работы некоторых приложений под Wine.[53] Он может полностью автоматизировать установку ряда приложений и игр, включая применение любых необходимых обходных путей. Winetricks имеет GUI.[54] В отличие от большинства сторонних приложений, проект Wine будет принимать отчеты об ошибках для пользователей Winetricks. Он поддерживается разработчиком Wine Остином Инглишем.[55]
- Q4Wine - это открытый графический интерфейс для расширенной настройки Wine.
- Винные двери это инструмент управления приложениями для ГНОМ рабочий стол, который добавляет функциональности Wine. Wine-Doors - это альтернатива WineTools, целью которой является улучшение функций WineTools и расширение исходной идеи с помощью более современного подхода к дизайну.[56]
- IEs4Linux это утилита для установки всех версий Internet Explorer, включая версии с 4 по 6 и версию 7 (в бета-версии).[57]
- Мехи это утилита для управления версиями движка Wine и создания оболочек для macOS.[58]
- PlayOnLinux это приложение для упрощения установки приложений Windows (в первую очередь игр). Существует также соответствующая версия для Macintosh под названием PlayOnMac.
- Lutris - это приложение с открытым исходным кодом для простой установки игр для Windows в Linux.[59]
- Бордо - это проприетарный менеджер конфигурации Wine GUI, который запускает приложения winelib. Он также поддерживает установку сторонних утилит, установку приложений и игр, а также возможность использования пользовательских конфигураций. Бордо в настоящее время работает на Linux, FreeBSD, PC-BSD, Solaris, OpenSolaris, OpenIndiana,[60][61] и компьютеры с macOS.
Функциональность
Разработчики Direct3D части Wine продолжают реализовывать новые функции, такие как пиксельные шейдеры для увеличения поддержки игры.[62] Wine также может напрямую использовать собственные библиотеки DLL, тем самым увеличивая функциональность, но тогда требуется лицензия для Windows, если библиотеки DLL не распространялись вместе с самим приложением.
Wine также включает собственные реализации с открытым исходным кодом для нескольких программ Windows, таких как блокнот, Word Pad, контроль, iexplore, и исследователь.[63]
База данных приложений Wine (AppDB) - это поддерживаемая сообществом онлайновая база данных о том, какие программы Windows работают с Wine и насколько хорошо они работают.
Обратная совместимость
Вино гарантирует хорошее Обратная совместимость с устаревшими приложениями Windows, в том числе написанными для Windows 3.1x.[64] Wine может имитировать различные версии Windows, необходимые для некоторых программ, начиная с версии Windows 2.0.[65] Однако поддержка Windows 1.x и Windows 2.x была удалена из Wine версии 1.3.12 для разработки. Если в системе установлен DOSBox[нужна цитата ] (см. ниже на MS-DOS ), Wine версии 1.3.12 и выше, тем не менее, показывает вариант «Windows 2.0» для имитации версии Windows, но Wine по-прежнему не запускает большинство программ Windows 2.0, поскольку функции MS-DOS и Windows в настоящее время не интегрированы.
Обратная совместимость в Wine обычно лучше, чем в Windows, поскольку новые версии Windows могут вынудить пользователей обновить устаревшие приложения Windows и могут сломаться. брошенное программное обеспечение навсегда, так как некому подправить программу под изменения в операционной системе. Во многих случаях Wine может предложить лучшую поддержку старых версий, чем более новые версии Windows с «Режимом совместимости». Вино может бежать 16 бит Программы Windows (Win16 ) в 64-битной операционной системе, которая использует x86-64 (64-битный) CPU,[66] функциональность, отсутствующая в 64-битных версиях Microsoft Windows.[67][68] WineVDM позволяет 16-битным приложениям Windows работать в 64-битных версиях Windows.[69]
Wine частично поддерживает Windows консольные приложения, и пользователь может выбрать, какой бэкэнд использовать для управления консолью (варианты включают необработанные потоки, проклятия, и user32 ).[70] При использовании исходных потоков или бэкэндов curses приложения Windows будут запускаться в терминале Unix.
64-битные приложения
Предварительная поддержка 64-битный Приложения Windows были добавлены в Wine 1.1.10 в декабре 2008 года.[71] По состоянию на апрель 2019 г.[Обновить], опора считается стабильной. Две версии Wine создаются отдельно, и в результате только сборка wine64 создает среду, способную запускать только приложения x86-64.[72]
По состоянию на апрель 2019 г.[Обновить], Wine имеет стабильную поддержку WoW64 build, которая позволяет запускать как 32-битные, так и 64-битные приложения Windows в одном экземпляре Wine. Чтобы выполнить такую сборку, необходимо сначала собрать 64-разрядную версию, а затем построить 32-разрядную версию со ссылкой на 64-разрядную версию. Как и в случае с WoW64 от Microsoft, в процессе 32-битной сборки в 64-битную сборку будут добавлены части, необходимые для обработки 32-битных программ.[72] Эта функциональность видна как минимум с 2010 года.[73]
MS-DOS
Ранние версии Microsoft Windows работают поверх MS-DOS, а программы Windows могут зависеть от программ MS-DOS. Wine не имеет хорошей поддержки MS-DOS, но, начиная с разрабатываемой версии 1.3.12, Wine пытается запускать программы MS-DOS в DOSBox если в системе доступен DOSBox.[74] Однако из-за ошибки текущие версии Wine неправильно идентифицируют программы Windows 1.x и Windows 2.x как программы MS-DOS, пытаясь запустить их в DOSBox (что не работает).[75]
Винелиб
Wine предоставляет Winelib, который позволяет использовать его реализации Windows API с разделяемыми объектами в качестве реальных библиотек для программы Unix. Это позволяет встроить код Windows в собственные исполняемые файлы Unix. С октября 2010 года Винелиб также работает над РУКА Платформа.[76]
Архитектуры, отличные от x86
Поддержка Solaris SPARC был сброшен в версии 1.5.26.
ARM, Windows CE и Windows RT
Wine обеспечивает некоторую поддержку РУКА (а также ARM64 / AArch64) процессоры и версии Windows, которые на них работают. По состоянию на апрель 2019 г.[Обновить], Wine может запускать приложения ARM / Win32, предназначенные для разблокированных Windows RT устройства (но не программы Windows RT). Windows CE поддержка (x86 или ARM) отсутствует,[77] но неофициальный, пре-альфа Пробная версия под названием WineCE допускает некоторую поддержку.[78]
Wine для Android
3 февраля 2013 г. на конференции FOSDEM в Брюсселе Александр Джуллиард продемонстрировал раннюю демонстрацию Wine, работающую на Google Android Операционная система.[79]
Экспериментальные сборки WINE для Android (x86 и ARM) были выпущены в конце 2017 года. С тех пор он регулярно обновляется официальными разработчиками.[5] Сборки по умолчанию не реализуют кросс-архитектурную эмуляцию через QEMU, и в результате версии ARM будут запускать только приложения ARM, которые используют Win32 API.[80]
Приложения Microsoft
Wine по умолчанию использует специализированные сборки Windows Геккон и Мононуклеоз заменить Microsoft Internet Explorer и .NET Framework. Wine имеет встроенные реализации JScript и VBScript. Можно загрузить и запустить установщики Microsoft для этих программ с помощью Winetricks или вручную.
Неизвестно, что Wine хорошо поддерживает большинство версий Internet Explorer (IE). Из всех относительно недавних версий Internet Explorer 8 для Windows XP - единственная версия, которая сообщает о полезном рейтинге Wine's AppDB "из коробки".[81] тем не мение Гугл Хром получает золотой рейтинг (по версии Wine 5.5),[82] и заменяющий Microsoft IE веб-браузер Edge, как известно, основан на этом браузере (после перехода с собственного механизма рендеринга Microsoft[83]). Winetricks предлагает автоматическую установку для Internet Explorer 6–8, поэтому можно разумно ожидать, что эти версии будут работать со встроенными обходными путями.
Альтернативой прямой установки Internet Explorer является использование ныне несуществующего IEs4Linux. Он не совместим с последними версиями Wine,[84] а разработка IEs4Linux неактивна.
Другие версии Wine
Основная разработка Wine направлена на правильную реализацию Windows API в целом и иногда отстает в некоторых областях совместимости с определенными приложениями. Direct3D, например, оставался нереализованным до 1998 года.[85] хотя в более новых выпусках была все более полная реализация.[86]
CrossOver
CodeWeavers продает CrossOver специально для бега Microsoft Office и другие основные приложения Windows, включая некоторые игры. CodeWeavers использует Александр Джуллиард для работы над Wine и вносит большую часть своего кода в проект Wine в рамках LGPL. CodeWeavers также выпустила новую версию под названием CrossOver Mac для процессоров Intel. Apple Macintosh компьютеры 10 января 2007 г.[87]
По состоянию на 2012 год CrossOver включает в себя функции как линейки CrossOver Games, так и CrossOver Pro, поэтому CrossOver Games и CrossOver Pro больше не доступны как отдельные продукты.[88]
CrossOver Games оптимизирован для работы под Windows видеоигры. В отличие от CrossOver, он не фокусировался на предоставлении самой стабильной версии Wine. Вместо этого предоставляются экспериментальные функции для поддержки новых игр.[89]
Cedega / WineX
TransGaming Inc. (сейчас Findev Inc. после продажи своего программного обеспечения) производила проприетарное программное обеспечение Cedega. Ранее известная как WineX, Cedega представляла вилка из последней лицензированной MIT версии Wine в 2002 году. Как и CrossOver Games, Cedega от TransGaming была ориентирована на запуск видеоигр для Windows. 7 января 2011 года TransGaming Inc. объявила о продолжении развития Cedega Technology в рамках программы GameTree Developer Program. TransGaming Inc. разрешила участникам продолжать использовать свои Cedega ID и пароль до 28 февраля 2011 года.[90]
Сидр
TransGaming также выпустила Cider, библиотеку для Архитектура Apple – Intel Макинтоши. Вместо того, чтобы быть продуктом для конечного пользователя, сидр (как и Winelib) является обертка позволяя разработчикам адаптировать свои игры для работы на Intel Mac без каких-либо изменений в исходном коде.
ВИНО @ Etersoft
В русский Компания Etersoft разрабатывает проприетарную версию Wine с 2006 года. WINE @ Etersoft поддерживает популярные российские приложения (например, 1С: Предприятие by Компания 1С ).[91]
Дарвин
Дарвин - это устаревший порт библиотек Wine для Дарвин и macOS для архитектур PowerPC и Intel x86. Все исправления для версии x86 были снова объединены в основную ветку Wine в 2009 году. Разработка версии PPC была прекращена (а в 2020 году Wine 5.11 прекратил поддержку PowerPC). Майк Кроненберг ранее создал WineHelper для Darwine, чтобы добавить приложение в стиле GUI и macOS для взаимодействия с Wine, которое позже было заменено WineBottler.[92] Darwine теперь предоставляет совместимые с macOS пакеты, скомпилированные из репозитория Wine.[93]
Пайплайт
Команда Pipelight разработала специальную версию Wine (wine-compholio), которая действует как обертка для Windows NPAPI плагины в браузерах Linux.[94] Этот инструмент позволяет пользователям Linux запускать Microsoft Silverlight, эквивалент Microsoft Adobe Flash, а Веб-плагин Unity, наряду с множеством других плагинов NPAPI. Проект предоставляет обширный набор исправлений для восходящего проекта Wine,[95] некоторые из них были одобрены и добавлены в апстрим Wine. Pipelight в значительной степени устарел, поскольку современные браузеры больше не поддерживают плагины NPAPI, а Silverlight устарел Microsoft.[96]
Протон
21 августа 2018 г. Клапан анонсировала новую вариацию Wine под названием Proton, предназначенную для интеграции с версией Linux компании Пар программное обеспечение (включая установки Steam, встроенные в их SteamOS операционная система и Паровая машина компьютеры).[97] Цель Valve для Proton - дать возможность пользователям Steam на Linux играть в игры, в которых отсутствует собственный порт Linux (особенно игры из бэк-каталога), и, в конечном итоге, за счет интеграции со Steam, а также улучшений поддержки игр по сравнению с основной линией Wine, чтобы дать пользователям «такой же простой plug-and-play опыт», который они получили бы, если бы играли в игру изначально на Linux.[97] Proton вошел в публичную бета-версию сразу после объявления.[97]
Valve уже сотрудничает с CodeWeavers с 2016 года для разработки улучшений игровой производительности Wine, некоторые из которых уже были объединены в восходящий проект Wine.[97] Некоторые из конкретных улучшений, включенных в Proton, включают: Вулкан реализация Direct3D 9, 10, 11 и 12 на основе vkd3d,[98] DXVK,[99] и D9VK[100] многопоточные улучшения производительности через esync,[101] улучшенная обработка полноэкранных игр и улучшенная аппаратная поддержка автоматического игрового контроллера.[97]
Proton является полностью открытым исходным кодом и доступен через GitHub.[102]
Другие проекты с использованием исходного кода Wine
Другие проекты, использующие исходный код Wine, включают:
- ReactOS, проект по написанию операционной системы, совместимой с Windows NT версии 5.x и выше (включая Windows 2000 и его преемники) вплоть до драйвер устройства уровень. ReactOS значительно использует исходный код Wine, но из-за архитектурных различий код ReactOS (например, библиотеки DLL, написанные специально для него, такие как ntdll, user32, kernel32, gdi32 и advapi) обычно не используется повторно в Wine.[103] В июле 2009 года начал работу руководитель проекта ReactOS Алексей Брагин.[104] новая ветка ReactOS под названием Арвинсс,[105] и об этом было официально объявлено в январе 2010 года.[106] Arwinss - это альтернативная реализация основных компонентов Win32, использующая в основном неизмененные версии Wine32.dll и gdi32.dll.
- WineBottler,[92] оболочка вокруг Wine в виде обычного Mac-приложения. Управляет множеством конфигураций вина для разных программ в виде «бутылок».
- Мехи, менеджер конфигурации Wine GUI с открытым исходным кодом для macOS. Wineskin создает оболочку вокруг Wine в виде обычного приложения Mac. Оболочку также можно использовать для создания распространяемого «порта» программного обеспечения.[107]
- Один, проект для запуска двоичных файлов Win32 на OS / 2 или преобразовать их в собственный формат OS / 2. Проект также предоставляет Odin32 API для компиляции программ Win32 для OS / 2.
- E / OS - проект, позволяющий запускать любую программу, разработанную для любой операционной системы, без необходимости фактической установки любой другой операционной системы.
- Продукты виртуализации, такие как Parallels Desktop для Mac и VirtualBox используйте WineD3D, чтобы использовать графический процессор.
- WinOnX, коммерческий пакет Wine для macOS, который включает графический интерфейс для добавления приложений и виртуальных машин и управления ими.
- WineD3D для Windows, оболочка совместимости, которая эмулирует старые версии Direct3D и функции, которые были удалены Microsoft в последних выпусках Windows, с использованием OpenGL. Иногда это заставляет старые игры снова работать.[108]
Прием
За прошедшие годы проект Wine получил ряд технических и философских жалоб и проблем.
Безопасность
Из-за способности Wine запускать двоичный код Windows были высказаны опасения по поводу собственных вирусов Windows и вредоносных программ, влияющих на Unix-подобные операционные системы.[109] поскольку Wine может запускать большинство вредоносных программ. Анализ безопасности 2018 года показал, что 5 из 30 образцов вредоносного ПО смогли успешно пройти через Wine, что является относительно низким показателем, который, тем не менее, представляет угрозу безопасности.[110] По этой причине разработчики Wine рекомендуют никогда не запускать его как суперпользователь.[111] Программное обеспечение для исследования вредоносного ПО, такое как ZeroWine[112] запускает Wine в Linux в виртуальная машина, чтобы вредоносная программа была полностью изолирована от хост-системы. Альтернативой для повышения безопасности без потери производительности при использовании виртуальной машины является запуск Wine в LXC контейнер, как Anbox программное обеспечение по умолчанию работает с Android.
Другая проблема безопасности возникает, когда реализованные спецификации плохо спроектированы и допускают нарушение безопасности. Поскольку Wine реализует эти спецификации, он, вероятно, также реализует любые уязвимости безопасности, которые они содержат. Одним из примеров этой проблемы был 2006 г. Уязвимость метафайла Windows, в котором Wine реализовал уязвимое экранирование SETABORTPROC.[113][114]
Wine против нативных приложений Unix
Общую озабоченность по поводу Wine вызывает то, что его существование означает, что производители с меньшей вероятностью будут писать собственные приложения для Linux, macOS и BSD. В качестве примера стоит рассмотреть операционную систему IBM 1994 года, OS / 2 Деформация.[оригинальное исследование? ] В статье описываются убившие ее слабости OS / 2, первая из которых:
OS / 2 предлагает отличную совместимость с приложениями DOS и Windows 3.1. Нет, это не ошибка. Многие поставщики приложений утверждали, что, разработав приложение для DOS или Windows, они выйдут на рынок OS / 2 в дополнение к рынкам DOS / Windows, и они не разрабатывали собственные приложения для OS / 2.[115]
Однако у OS / 2 было много проблем с принятием решения конечным пользователем. Возможно, самым серьезным было то, что большинство проданных компьютеров уже поставлялись с DOS и Windows, и многие люди не удосужились оценить OS / 2 по существу из-за того, что у них уже есть операционная система. «Объединение» DOS и Windows и сдерживающий эффект, который это оказало на рынок операционных систем, часто возникали в США против Microsoft Corporation.
Сам проект Wine отвечает на конкретную жалобу о «поощрении» продолжения разработки Windows API на одном из своих вики страницы:
Для большинства людей остается несколько программ, блокирующих их в Windows. Очевидно, что Microsoft Office никогда не будет перенесен на Linux, однако старые версии программ, таких как TurboTax, также не будут перенесены. Точно так же существуют десятки тысяч игр и внутренних корпоративных приложений, которые никогда не будут перенесены. Если вы хотите использовать Linux и полагаться на какое-либо устаревшее приложение Windows, вам необходимо что-то вроде Wine ... Wine делает Linux более полезным и позволяет миллионам пользователей переключиться, которые не смогли бы иначе. Это значительно увеличивает рыночную долю Linux, привлекая к Linux больше коммерческих и общественных разработчиков.[116]
Кроме того, на странице Wine Wiki утверждается, что Wine может помочь сломать проблема курицы и яйца за Linux на рабочем столе:[117]
Это подводит нас к проблеме «курицы и яйца» Linux на рабочем столе. Пока Linux не сможет предоставить эквиваленты для вышеперечисленных приложений, его доля на рынке настольных компьютеров будет стагнирующей. Но пока доля Linux на рынке настольных компьютеров не вырастет, ни один поставщик не будет разрабатывать приложения для Linux. Как разорвать этот порочный круг?
Опять же, Wine может дать ответ. Позволяя пользователям повторно использовать приложения Windows, в которые они вложили время и деньги, Wine значительно снижает барьер, мешающий пользователям перейти на Linux. Таким образом, Linux становится популярным на настольных ПК, что увеличивает его долю на рынке в этом сегменте. В свою очередь, это дает возможность компаниям выпускать версии своих приложений для Linux и выпускать новые продукты только для рынка Linux. Это рассуждение можно было бы легко отклонить, если бы Wine мог запускать только Solitaire. Однако теперь он может запускать Microsoft Office, мультимедийные приложения, такие как QuickTime и Windows Media Player, и даже игры, такие как Max Payne или Unreal Tournament 3. Практически любое другое сложное приложение можно заставить работать хорошо, если учесть немного времени. И каждый раз, когда выполняется работа по добавлению одного приложения в этот список, многие другие приложения извлекают выгоду из этой работы и также становятся пригодными для использования.
Взгляните на нашу базу данных приложений, чтобы понять, что можно запустить под Wine.
Использование Wine для игр оказалось особенно спорным в сообществе Linux, поскольку некоторые считают, что это предотвращает или, по крайней мере, препятствует дальнейшему развитию собственных Linux игры на платформе.[118][119]
Microsoft
Microsoft не делал публичных заявлений о Wine. Тем не менее Центр обновления Windows программное обеспечение будет блокировать обновления приложений Microsoft, работающих в Wine. 16 февраля 2005 г. Иван Лео Пуоти обнаружил, что Microsoft начала проверку Реестр Windows для ключа конфигурации Wine и заблокирует Центр обновления Windows для любого компонента.[120] Как заметил Пуоти: «Microsoft впервые признает существование Wine».
В январе 2020 года Microsoft сослалась на Wine как на положительное следствие возможности повторно реализовать API в своем amicus curiae краткое описание Google LLC против Oracle America, Inc.[121]
Смотрите также
- Anbox
- Columbia Cycada
- Дарлинг (программное обеспечение)
- Исполнитель (программное обеспечение)
- Список пакетов бесплатного и открытого программного обеспечения
- API ядра Linux
- Моно (программное обеспечение)
- PlayOnLinux
- ReactOS
- Исходная среда интерфейса Windows
- Подсистема Windows для Linux
Рекомендации
- ^ "/wine-5.20/AUTHORS". source.winehq.org. Получено 1 ноября 2020.
- ^ "Выпущено Wine 5.0.3". 10 ноября 2020 г.. Получено 11 ноября 2020.
- ^ "Выпущено Wine 5.22". 20 ноября 2020 г.. Получено 21 ноября 2020.
- ^ а б "Скачать - WineHQ Wiki". Получено 31 октября 2018.
- ^ а б https://dl.winehq.org/wine-builds/android/
- ^ «Лицензирование - WineHQ Wiki». WineHQ. В архиве с оригинала 10 января 2017 г.. Получено 10 января 2017.
- ^ "ЛИЦЕНЗИЯ". WineHQ. Получено 10 января 2017.
- ^ «Винелиб». Вино HQ. Получено 29 июн 2008.
- ^ "WineHQ - О вине". WineHQ. Получено 15 апреля 2017.
- ^ «Винная архитектура». Вино HQ. Получено 16 июн 2012.
- ^ "Винный сервер - WineHQ Wiki". wiki.winehq.org. Получено 15 апреля 2017.
- ^ "Regedit - WineHQ Wiki". wiki.winehq.org. Получено 15 апреля 2017.
- ^ "Msiexec - WineHQ Wiki". wiki.winehq.org. Получено 15 апреля 2017.
- ^ Маккензи, Джеймс (26 декабря 2009 г.). "Проблемы с законом". Форумы WineHQ.
- ^ «WineConf 2018» (PDF). wiki.winehq.org. Получено 15 января 2019.
- ^ ВИНА FAQ Старое значение имени использовалось до 1997 года.
- ^ [1]
- ^ «Почему некоторые люди пишут ВИНО, а не Вино?». Винный вики FAQ. Официальная Wine Wiki. 7 июля 2008 г. Архивировано с оригинал 21 июня 2011 г.. Получено 13 июля 2008.
- ^ "macOS - WineHQ Wiki". Получено 31 октября 2018.
- ^ "Скачать - WineHQ Wiki". Получено 31 октября 2018.
- ^ "Обзор рынка Linux для настольных ПК 2007 г.". 21 августа 2007 г. Архивировано с оригинал 24 мая 2012 г.. Получено 8 октября 2007.
- ^ Воан-Николс, Стивен Дж. (22 августа 2007 г.). «Запуск приложений Windows в Linux». Результаты опроса Desktop Linux 2007 г.. DesktopLinux. Архивировано из оригинал 11 февраля 2010 г.
- ^ Амштадт, Боб (29 сентября 1993 г.). «Статус винного проекта». Группа новостей: comp.windows.x.i386unix. Получено 13 июля 2008.
- ^ «Sun использует ECMA как путь к стандартизации ISO Java». Computergram International. 7 мая 1999 г. Архивировано с оригинал 8 июля 2012 г.. Получено 13 июля 2008.
- ^ Байрон Джефф (25 августа 1993 г.). «WABI доступен в Linux или нет». Группа новостей: comp.os.linux.misc. Получено 21 сентября 2007.
- ^ Лоли-Куэру, Евгения (29 октября 2001 г.). "Интервью с Александром Джульяром из WINE". OSnews (Опрос). Получено 30 июн 2008.
Обычно мы начинаем с любой доступной документации, реализуем первую версию функции, а затем, когда мы находим проблемы с приложениями, которые вызывают эту функцию, мы исправляем поведение до тех пор, пока оно не станет тем, что ожидает приложение, что обычно довольно далеко от того, что в документации состояния.
- ^ Уайт, Джереми (6 февраля 2002 г.). «Смена лицензии на вино». Получено 27 апреля 2010.
- ^ Александр Жульяр (18 февраля 2002 г.). «Результаты голосования по изменению лицензии». Получено 27 апреля 2010.
- ^ "Бета!". 25 октября 2005 г.. Получено 9 декабря 2010.
- ^ «Анонс версии 1.0». Винный штаб. 17 июня 2008 г.. Получено 1 сентября 2008.
- ^ Джульярд, Александр (16 июля 2010 г.). "Выпуск новостей".
- ^ "Анонс вина". Получено 7 марта 2012.
- ^ "Выпущено Wine 1.6". WineHQ. 18 июля 2013 г.. Получено 18 июля 2013.
- ^ "Выпущено вино 1.8". WineHQ. 19 декабря 2015 г.. Получено 19 декабря 2015.
- ^ "Винный погреб". WineHQ вики. Получено 22 апреля 2019.
- ^ Уайт, Джереми (27 января 2011 г.). «Представляем CrossOver 10.0 и CrossOver Games 10.0, The Impersonator». CodeWeavers. Получено 28 января 2011.
- ^ Воан-Николс, Стивен Дж. (25 февраля 2002 г.). «Вот и все: Corel оставляет позади открытый исходный код». Linux.com. Получено 3 января 2009.
- ^ Кегель, Дэн (14 февраля 2008 г.). «Поддержка Google Wine в 2007 году». виноделие (Список рассылки). Получено 3 января 2009.
- ^ «Патчи с открытым исходным кодом: Wine». Google. Получено 7 сентября 2008.
- ^ а б c "Руководство разработчика Wine / Обзор архитектуры". WineHQ. Получено 22 апреля 2019.
- ^ Смотрите "Служба Windows " статья
- ^ "Статус вина". WineHQ. Получено 22 апреля 2019.
- ^ а б c d е ж «Вино 4.0». WineHQ.
- ^ "FAudio приземляется в вине для новой ре-реализации XAudio2". Фороникс. 25 февраля 2019.
- ^ «WineHQ - Объявление о Wine - теперь доступна разрабатываемая версия Wine 4.3».
- ^ «С Wine Git вы можете запустить игру D3D11 Blizzard Overwatch в Linux». Фороникс. 12 декабря 2016.
- ^ Доссена, Федерико. «WineD3D для Windows». Федерико Доссена.
- ^ «Вино 4.6». WineHQ. Получено 22 апреля 2019.
- ^ Кристоф Бумиллер. "Отслеживание состояния Direct3D 9 Gallium3D".
есть несколько отличий от d3d1x: [...] он написан на C вместо C ++ и не полагается на ужасающее множественное наследование с [...] До сих пор я пробовал Skyrim, Civilization 5, Anno 1404 и StarCraft 2 на драйверах nvc0 и r600g, которые работают довольно хорошо, со скоростью до x2 fps, которую я получаю с wined3d (ПРИМЕЧАНИЕ: тщательного тестирования пока не проводилось).
- ^ "ВИНО". WineHQ. Получено 29 апреля 2017.
- ^ Ник Конглтон (26 октября 2016 г.). «Настройка WINE с помощью Winecfg». LinuxConfig. Получено 29 апреля 2017.
- ^ «Сторонние приложения». Официальная Wine Wiki. Получено 3 января 2009.
- ^ «Игры в Linux: руководство для здравомыслящих людей с ограниченным терпением». PCWorld. Получено 11 января 2015.
- ^ Виталий Липатов (30 марта 2011 г.). "winetricks - Официальная винная вики". Получено 2 августа 2011.
- ^ "винетрикс". Официальная Wine Wiki. Получено 3 января 2009.
- ^ "Винные двери". Винные двери. Получено 27 апреля 2010.
- ^ "IEs4Linux". Tatanka.com.br. Архивировано из оригинал 20 августа 2008 г.. Получено 27 апреля 2010.
- ^ "Бурдюк".
- ^ "Лютрис".
- ^ "Объявление OpenIndiana Bordeaux". Список рассылки OpenIndiana-announce. Получено 1 октября 2010.
- ^ "Пресс-релиз группы Бордо". Сайт группы Бордо. Архивировано из оригинал 7 октября 2010 г.. Получено 1 октября 2010.
- ^ «DirectX-шейдеры». Официальная Wine Wiki. Архивировано из оригинал 1 января 2009 г.. Получено 3 января 2009.
- ^ «Список команд». WineHQ. 12 апреля 2016 г.. Получено 29 апреля 2017.
- ^ «Поддержка устаревших приложений Windows под вином» (PDF). Получено 9 декабря 2010.
- ^ Стромейер, Роберт (6 апреля 2007 г.). «Все еще нужно запускать приложения для Windows? Выпейте бокал вина». Получено 9 декабря 2010.
- ^ Андре да Коста (20 апреля 2016 г.). «Как включить поддержку 16-битных приложений в Windows 10». GroovyPost. Получено 9 апреля 2019.
- ^ «64-битные версии Windows не поддерживают 16-битные компоненты, 16-битные процессы или 16-битные приложения». Получено 22 августа 2015.
- ^ Сэвилл, Джон (11 февраля 2002 г.). «Почему я не могу установить 16-битные программы на компьютер с 64-битной версией Windows XP?». Получено 9 декабря 2010.
- ^ «16-битная Windows (Windows 1.x, 2.x, 3.0, 3.1 и т. Д.) В 64-битной Windows». На GitHub.
- ^ «Программы в текстовом режиме (CUI: пользовательский интерфейс консоли)». Руководство пользователя Wine. Получено 22 мая 2010.
- ^ Ланкхорст, Маартен (5 декабря 2008 г.). "Приложение Wine64 hello world запускается!". виноделие (Список рассылки). Получено 15 декабря 2008.
- ^ а б "Строительное вино". WineHQ. Получено 23 апреля 2019.
- ^ "Wine64 для упаковщиков". Официальная Wine Wiki. Архивировано из оригинал 25 апреля 2010 г.. Получено 20 апреля 2010.
- ^ "[Wine] Re: Иногда вино меня действительно удивляет". Получено 15 февраля 2013.
- ^ "WineHQ Bugzilla - Ошибка 26715 - исполняемый файл Win1.0 запускает Dosbox". Получено 15 февраля 2013.
- ^ "Объявление о выпуске разработки Wine 1.3.4". Winehq.org. Получено 15 октября 2010.
- ^ «Поддержка ARM». Официальная винная вики. Получено 22 апреля 2019.
- ^ http://dawncrow.de/wine/winece.html
- ^ «Wine на Android подходит для запуска приложений Windows». Фороникс. 3 февраля 2013 г.
- ^ «Android». WineHQ. Получено 23 апреля 2019.
- ^ «Internet Explorer». WineHQ AppDB. Получено 23 апреля 2019.
- ^ "Гугл Хром". WineHQ AppDB. Получено 9 сентября 2020.
- ^ «Браузеры Chromium черные - Форумы WineHQ». forum.winehq.org. Получено 9 сентября 2020.
- ^ «Пока не удается установить IES4Linux». 22 июня 2012 г.
- ^ Винсент, Брайан (3 февраля 2004 г.). "Резюме WineConf 2004". Еженедельные новости вина (208). WineHQ.org. Архивировано из оригинал 31 декабря 2006 г.. Получено 3 января 2009.
- ^ «Статус Wine - DirectX DLL». WineHQ.org. Архивировано из оригинал 26 декабря 2008 г.. Получено 3 января 2009.
- ^ «CodeWeavers выпускает CrossOver 6 для Mac и Linux». Slashdot. Получено 3 января 2009.
- ^ «CrossOver - Журнал изменений - CodeWeavers». Архивировано из оригинал 19 августа 2012 г.. Получено 9 марта 2012.
- ^ «Сайт CrossOver Games». CodeWeavers. 6 января 1990 г.. Получено 27 апреля 2010.
- ^ «Программа для разработчиков GameTree». gametreelinux.com. Архивировано из оригинал 10 января 2011 г.. Получено 2 января 2011.
- ^ "WINE @ Etersoft - российская проприетарная вилка Wine" (на русском). Pcweek.ru. 21 апреля 2010 г.. Получено 27 апреля 2010.
- ^ а б Домашняя страница WineBottler
- ^ «Mac OS X в WineHQ». WineHQ. Получено 20 марта 2013.
- ^ «Pipelight: использование Silverlight в браузерах Linux». FDS-Team. Архивировано из оригинал 22 августа 2013 г.. Получено 4 апреля 2014.
- ^ "вино-compholio-daily README". github. Получено 4 апреля 2014.
- ^ Смит, Джерри (2 июля 2015 г.). «Переход на HTML5 Premium Media». Блог Microsoft Edge. Получено 10 февраля 2019.
- ^ а б c d е «Steam для Linux :: Представляем новую версию Steam Play». Клапан. Получено 22 августа 2018.
- ^ "Краткое описание проекта vkd3d.git". WineHQ Git. Получено 22 августа 2018.
- ^ "Репозиторий DXVK GitHub". GitHub. Получено 22 августа 2018.
- ^ "Репозиторий D9VK GitHub". GitHub. Получено 6 октября 2019.
- ^ "GitHub: README для esync". GitHub. Получено 22 августа 2018.
- ^ "Репозиторий Proton GitHub". GitHub. Получено 22 августа 2018.
- ^ «FAQ для разработчиков». ReactOS. Архивировано из оригинал 13 ноября 2008 г.. Получено 25 мая 2009.
- ^ «Создание филиала Arwinss». Mail-archive.com. 17 июля 2009 г.. Получено 27 апреля 2010.
- ^ "Arwinss в ReactOS wiki". Reactos.org. 20 февраля 2010 г.. Получено 27 апреля 2010.
- ^ "Презентация Арвинса". Reactos.org. Получено 27 апреля 2010.
- ^ "Винные мехи FAQ". doh123. Получено 7 ноября 2012.
- ^ Доссена, Федерико. «WineD3D для Windows». Федерико Доссена. Получено 19 июля 2020.
- ^ Мэтт Моэн (26 января 2005 г.). «Запуск вирусов Windows с помощью Wine». Получено 23 октября 2009.
- ^ Дункан, Рори; Шрейдерс, З. Клифф (1 марта 2019 г.). «Последствия для безопасности запуска программного обеспечения Windows в системе Linux с использованием Wine: исследование анализа вредоносных программ». Журнал компьютерной вирусологии и методов взлома. 15 (1): 39–60. Дои:10.1007 / s11416-018-0319-9. ISSN 2263-8733.
- ^ "Должен ли я запускать Wine как root?". Винный вики FAQ. Официальная Wine Wiki. 7 августа 2009 г. Архивировано с оригинал 21 июня 2011 г.. Получено 24 августа 2009.
- ^ «Домашняя страница проекта ZeroWine».
- ^ «Linux / BSD по-прежнему подвержен эксплойту WMF через WINE!». 5 января 2006 г.
- ^ "CVE-2006-0106 - gdi / driver.c и gdi / printdrv.c в Wine 20050930 и других версиях, реализуют SETABORTPROC GDI - CVE-Search". Получено 9 июля 2019.
- ^ Михал Некасек. "История деформации OS / 2". Архивировано из оригинал 12 апреля 2010 г.
- ^ Бернхард Розенкранцер. «Развенчание винных мифов». Архивировано из оригинал 11 января 2016 г.. Получено 21 октября 2016.
- ^ «Почему вино так важно». Получено 11 декабря 2011.
- ^ Порты против вина Gamespot (Статья Джеймса Хиллса)
- ^ Интервью с портером игр для Linux Фороникс, 3 июля 2009 г. (Статья автора Майкл Ларабель )
- ^ Пуоти, Иван Лео (18 февраля 2005 г.). "Подлинные загрузки Microsoft ищут Wine". виноделие (Список рассылки). Получено 23 января 2006.
- ^ Тунг, Лиам. «Wine для запуска приложений Windows 10 в Linux получает большое обновление». ZDNet. Получено 26 ноября 2020.
дальнейшее чтение
- Вино Джереми Уайта Answers – Slashdot интервью с Джереми Уайтом из CodeWeavers
- Джереми Уайт, интервью на сайте "Mad Penguin", 25 мая 2004 г.
- Назначение Правовой центр свободы программного обеспечения в качестве юрисконсульта для представления проекта Wine
- Вино: откуда оно взялось, как его использовать, куда оно собирается - работа Дэна Кегеля