- Как начать использовать Wine для запуска Windows-приложений на Android
- Авторизуйтесь
- Как начать использовать Wine для запуска Windows-приложений на Android
- Что там с Android
- Как начать использовать
- Как пользоваться wine 3.0 Android
- Версии Wine 3.0 для Android
- Установка Wine Android
- Как пользоваться Wine на Android
- 1. Запуск wine
- 2. Настройка окружения wine
- 3. Запуск нативных приложений wine
- 4. Запуск сторонних приложений
- Выводы
- Android
- Contents
- Wine On Android
- Installing
- Building
- Keyboard Issue
- Debugging
- ARM support
- Motivation
- Status
- How to help
- Compiling
- Running Windows RT Applications
- Running Windows CE Applications
- Running Windows/x86 Applications
- Analyzed/Known Test Failures
- Wine and Valgrind
- See also
Как начать использовать Wine для запуска Windows-приложений на Android
Авторизуйтесь
Как начать использовать Wine для запуска Windows-приложений на Android
Если вы ещё не в курсе, Wine — это бесплатный open source слой совместимости с Windows API, позволяющий запускать программы этой платформы на Unix-подобных системах. Wine находится в разработке с 1993 года и позволяет запускать множество Windows-программ на Linux и macOS, хотя иногда требуются танцы с бубном.
Что там с Android
CodeWeavers работает над портированием Wine на Android на протяжении последних нескольких лет, и первый альфа-релиз вышел в августе 2016. Несмотря на то, что компания выпускает коммерческий продукт, она вносит большой вклад в развитие Wine. Недавно вышел Wine 3.0, который вы можете установить как приложение на Android. Вам будет доступно полноэкранное окно Windows, почти как в первых сборках CrossOver для Android, с меню «Пуск» в нижнем левом углу. Имеется поддержка аудио и простой графики.
Вот небольшой видео обзор:
Так как Wine для Android только вышел, у него есть ряд ограничений. Автору англоязычной статьи, которая использована в качестве источника для этого перевода, удалось полноценно запустить приложение на OnePlus 5T; на Galaxy Tab S и Pixel 2016 наблюдались фризы и краши. Масштабирование DPI (dots per inch, точек на дюйм) тоже корявое, так что пользоваться Wine на тачскрине довольно проблематично. Графический драйвер на данный момент не поддерживает Direct 3D, поэтому много программ (особенно игр) не будут работать до тех пор, пока вы с помощью настроек не заставите их использовать OpenGL.
Как начать использовать
Wine — слой совместимости, а не полноценный эмулятор, поэтому вам понадобится x86 Android-устройство, чтобы выжать из него максимум. Wine поддерживает ARM устройства, но вы сможете использовать только те программы, которые были портированы на Windows RT. На форуме XDA можно найти несколько примеров. Также ведётся работа над использованием QEMU для эмуляции инструкций x86-процессора на ARM.
Если вы хотите попробовать Wine на своём Android-устройстве (или Chromebook, если у вас разрешён режим разработчика), вы можете скачать последние сборки на сайте Wine. Убедитесь, что скачиваете стабильные версии («wine-3.0-arm» или «wine-3.0-x86»), а не релиз-кандидатов (*rc*.apk).
Источник
Как пользоваться wine 3.0 Android
Wine — это программная прослойка, которая позволяет запускать Windows приложения в Linux. Программа реализует набор библиотек, которые транслируют вызовы Windows API в системные вызовы ядра Linux и других программ. Таким образом, вы получаете возможность запуска программ без эмуляции. Как вы знаете, недавно вышла версия Wine 3.0 для Android, целью которой было позволить запускать Windows программы в Android, также как и это делается в Linux.
Я протестировал это приложение на своем ARM планшете и в этой статье поделюсь опытом его использования. Мы рассмотрим как пользоваться wine 3.0 android, как установить это приложение и на что вообще оно способно.
Версии Wine 3.0 для Android
Раньше уже существовало несколько проектов, которые позволяли запускать Windows программы в Android, это, например, Crossover для x86 устройств и Exagear для ARM. Первая позволяла запускать WIndows программы в x86 на Android без эмуляции, а вторая — эмулировать х86 на ARM. Новая версия wine собирается занять новую нишу. Сейчас она существует в версиях для двух архитектур:
- wine 3.0 x86 — версия для архитектуры x86, в основном, для процессоров Intel, позволяет запускать почти все привычные х86 приложения, которые работали в обычном Wine в Linux, не поддерживается только 3D графика. Возможно, разработчики исправят это в скором времени.
- wine 3.0 arm — версия для архитектур ARM. Здесь все намного сложнее. Во-первых, стабильность программы оставляет желать лучшего, на многих устройствах она попросту не запускается, например, на OnePlus 3T мы можем видеть только серый экран. Второе. Wine — это не эмулятор, а поэтому вы можете запускать в нем только приложения, собранные для ARM. То есть Windows RT, обычные приложения win32 тут не заработают.
Еще одно замечание, которое нужно отметить — для запуска любой из версий нужна версия Android 5.0 или выше, права рут необязательны.
Установка Wine Android
Для того чтобы установить программу, вам необходимо скачать установщик из официального сайта winehq. Выберите версию для вашей архитектуры. На данный момент самая новая версия программы wine 3.1:
Чтобы установить программу, нужно включить «Недостоверные источники» в настройках системы:
Далее, откройте загруженный APK и дождитесь завершения установки. Думаете это все? Нет. Стандартная клавиатура в wine работать не будет, поэтому нужно установить Hackers Keyboard. Найдите ее в PlayMarket и установите:
Вы можете сразу открыть клавиатуру из плеймаркета, в приложении нажмите «Enalbe Keyboard»:
Затем выберите «Input languages» и отметьте русский, английский и другие языки, которые вам нужны:
Далее зайдите в настройки клавиатуры — «Общие настройки» — «Язык и ввод» — «Экранная клавиатура», выберите «Hackers keyboard».
Затем найдите «Use permanent notification» и установите галочку. Это нужно чтобы вы могли открыть клавиатуру из шторки. Также лучше запустить какое-либо приложение где нужно вводить текст и активировать эту клавиатуру. Теперь вы знаете как установить wine 3.0 на андроид.
Как пользоваться Wine на Android
1. Запуск wine
Теперь мы готовы к запуску приложения. Найдите его ярлык в главном меню и запустите. Сначала будут распакованы файлы и создано рабочее окружение:
Затем появится рабочий стол:
2. Настройка окружения wine
Программа Wine 3.0 запущена. Мне здесь не нравиться очень мелкий шрифт, давайте его увеличим до более удобного. Опустите шторку Android и откройте клавиатуру, тапнув по уведомлению «Show Hackers Keyboard»:
Затем наберите в терминале winecfg и нажмите Enter:
Чтобы убрать клавиатуру, нажмите кнопку «Назад», затем откройте вкладку «Графика»:
Здесь с помощью пункта «Расширение экрана» выберите удобный шрифт:
Затем опять вызовите клавиатуру и нажмите «Enter». Размер шрифта в терминале можно изменить кликнув по значку окна и открыв «Свойства»:
Тут на вкладке «Шрифт» можно выбрать тот шрифт, который вы хотите:
Осталось сохранить изменения. Чтобы изменить размер окна кликните по его значку и выберите «Размер»:
Затем можно перетягивать окно за его угол или сторону увеличивая или уменьшая размер:
Теперь пользоваться wine 3.0 android вполне возможно. Перейдем к запуску приложений.
3. Запуск нативных приложений wine
С нативными приложениями здесь все очень даже хорошо. Вы можете запустить такие приложения, взятые из Windows и поставляемые вместе с окружением:
И несколько других. Все приложения находятся на диске С:, доступном из программы. Откройте меню «Пуск»:
Выберите «Запустить», а затем «Обзор»:
Здесь выберите диск С: и программу, которую хотите запустить, например, из папки Program FIles или windows/system32. Например, мне удалось запустить IE и wordpad:
А вот при попытке запуска диспетчера задач на ARM возникает ошибка.
4. Запуск сторонних приложений
Здесь все очень плохо. По отзывам пользователей могу судить, что x86 версия программы работает хорошо, и запускает большинство программ, не требующих больших DirectX. Но ARM версия, которую тестировал я ведет себя ужасно.
Приложения WIndows RT можно найти в этой теме XDA Developers. Вы можете положить приложение во внутреннюю память устройства или на внешнюю флешку, а затем открыть через диск Z или / в программе:
Вот только на моем устройстве ни одна протетсированная программа не запустилась. Я пытался запустить FIleZilla, Paint, WinMerge, FDM, Vim, Keepass, TightVNC. Некоторые выдают непонятную ошибку:
Другие такую ошибку:
А иные, например, FileZilla, вообще ничего не выдают и не запускаются. Но рассчитывать на большее вряд-ли было нужно, поскольку версия программы для ARM существует несколько месяцев и ничего нет удивительно в том, что она еще не работает как нужно. В будущем разработчики исправят ошибки и добавят больше приложений.
Выводы
В этой статье мы рассмотрели как пользоваться Wine 3.0 android. Как видите, программа выглядит очень интересно, особенно на архитектуре x86. Если вы уже тестировали wine 3.0 для андроид на архитектуре ARM и у вас получилось что-либо запустить, поделитесь в комментариях, также, думаю, многим будет интересно как работает версия для x86.
Этот парень таки смог запустить одно стороннее приложение на ARM — vcreditx86:
Источник
Android
Contents
Wine On Android
Wine on Android was first presented at FOSDEM2014.
Installing
Download the apk from our Download site and search the Internet for «install apk android» for instructions how to sideload the apk on your Android version.
Building
In case you want to build it yourself, the raw steps are:
- Download the current Android NDK and SDK
- Use build/tools/make_standalone_toolchain.py in the NDK to create a toolchain
- Add the toolchain to your PATH and correctly set ANDROID_HOME and NDK_SYSROOT
- Crosscompile libpng and freetype for Android using the toolchain
- Run Wines configure with correct parameters for —host= and —with-wine-tools= as well as information how to find libpng and freetype built before
- After a successful «make» the apk can be found in dlls/wineandroid.drv/
Keyboard Issue
Currently the Keyboard won’t pop up by itself as you would expect it. A workaround is to install the App «Hacker’s Keyboard» from F-Droid or the Play Store. Then open its settings and check «Use permanent notification». Now, when running Wine you can swipe down the notification area to enable the keyboard when you need it.
Debugging
Search the Internet how to get adb shell access for your Android device. In that shell you can then run «run-as org.winehq.wine» to get into the correct folder and become the same user as the App files expect. Under files/ you can then set debug channels (e.g. ddraw) by writing them into a file called winedebug: «echo ddraw > files/winedebug».
There are some bugs on newer Android Versions, which might not be fixed soon.
Источник
ARM support
Motivation
Windows apps are mostly compiled for x86 and they won’t run on ARM with bare Wine, likewise ARM applications won’t run on x86(_64) with bare Wine, so this is not our motivation.
The original Motivation was to be able to run winelib-apps on ARM, that even was before it got public that win8 will run on ARM devices. Meanwhile we support these new ARM PEs for win8!
Status
- Yes, It works! (TM)
- Running win8 ARM PEs also works.
- Already ported Putty to ARM as winelib application.
- First patch was September 18. 2009, final patchset sent September 18. 2010 and they got in Wine-1.3.4
- Wine on ARM already gets packaged by Debian (since 1.7.35), Fedora, Maemo and openSUSE.
- Good debugger/disassembler support.
- Relay tracing.
- Relocation.
- Linux Kernel patched upstream for running Windows RT applications see
Bug 31322
- libs/port/interlocked.c: maybe native operations.
- wine-gecko/wine-mono ARM port (waiting for mingw-w64-arm).
- DCOM
How to help
- Fix compiler warnings.
- Run winetest and report your results.
- Fix test failures or analyse them, see below.
- Report bugs with winelib or Windows RT applications.
- Write tests for missing functions.
Compiling
Toolchains: Every toolchain with Thumb support should work as we are independent from the crti.o mode since wine-1.5.8
Compiling on the ARM Device is recommended:
Anyway here is a crosscompiling example:
Maybe you also should append something like:
Fixme/Todo: Compiling inside a chroot
Running Windows RT Applications
You can find a list of such ported applications at forum.xda-developers.com. To run them you’ll need a recent Wine and a Linux Kernel with the tpidrurw patch, it’s included since Kernel 3.11-rc1. When you’re unsure if the Kernel you are using supports it, you can clone, make and run tpidrurw-test, it’ll tell you if your Kernel is suitable.
Running Windows CE Applications
That’s still pre-alpha/proof-of-concept and not part of official Wine, don’t expect any success. WineCE can be found at github.
Running Windows/x86 Applications
Analyzed/Known Test Failures
- d3dx9_36:mesh
- Crashes, https://bugs.winehq.org/show_bug.cgi?id=43945
- mscoree:mscoree
- no wine-mono for arm, https://bugs.winehq.org/show_bug.cgi?id=43937
- mshtml:* (FIXME: also applies to several others)
- no wine-gecko for arm, https://bugs.winehq.org/show_bug.cgi?id=43938
- msi:action
- https://bugs.winehq.org/show_bug.cgi?id=43944
- msvcr100:msvcr100
- softfloat vs. hardfloat
- rpcrt4:cstub
- https://bugs.winehq.org/show_bug.cgi?id=43960
- user32:class
- per dissonant compile time checks the testsuite expects the x86 value for cbWndExtra, whereas the code uses the pointer size
Wine and Valgrind
Currently a work in progress — Austin English
See also
ARM commits in Wine (and the Thumb ones)
My and Vincents slides can be found here: FOSDEM2013
For Windows RT recompiled applications check: at xda-developers
There was some experience using Qemu to run the WINE x86 binary under Zaurus’s ARM Debian: http://www.oesf.org/forum/index.php?showtopic=14829
Android running x86 wine and solitaire (by using ubuntu hack and binfmt) : http://forum.xda-developers.com/showthread.php?t=1258506
Winulator (Android APP) claims it is not wine-based, but does somewhat the same a Wine x86_2_ARM would do: http://docs.winulator.com/faq
win86emu is Bochs and DOSBox based and run x86 Applications on Windows RT
Limbo is an Intel x86 PC Emulator for Android based on QEMU,also uses code from android-vnc-viewer and glib among others: https://code.google.com/p/limbo-android/
Eltechs’ ExaGear RPG ([1]) allows x86 applications to run on Android using wine.
Источник