Вопрос или проблема
Я пытался установить Wine на свой Chromebook, но продолжал получать сообщение об ошибке. Я немного покопался и понял, что процессоры ARM не могут этого сделать. Я провел дополнительные исследования и, похоже, зашел в тупик. Мне сказали, что использование Box64 может быть решением. Я в замешательстве, может кто-то прояснить ситуацию?
Существует ли способ установить Wine на Chromebook с процессором ARM (Debian 10 Buster)
Нет, такого способа нет. Wine требует аппаратного обеспечения X86 / X86_64.
Мне сказали, что использование Box64 может быть решением.
Box64 – это “Эмулятор x86 для Linux User Space с изюминкой”. Может ли это быть решением, во многом зависит от той проблемы, которую вы пытаетесь решить.
Вы можете попробовать следовать этому руководству и проверить сами. Как это обычно бывает с любым эмулятором, некоторые эмулированные программы будут работать, а многие нет. Все зависит от конкретного программного обеспечения, которое вы пытаетесь запустить. Имейте в виду, что этот эмулятор предназначен для работы с программным обеспечением Linux x86/x86_64, а не Windows. Тем не менее, уровень совместимости WINE (“WINE не является эмулятором”) может быть установлен в Box64, и тогда еще меньший набор программного обеспечения для Windows также может работать… Может быть. Это сложность наслоения на сложность, и проблемы, вероятно, будут расти экспоненциально. Даже (родные Linux) игры каким-то образом ограничены, и поддержка GPU все еще экспериментальна.
ARM-процессоры не могут интерпретировать инструкции x86 или x86_64 (также известный как amd64), поэтому вы не можете запускать x86 бинарники на них. Их нужно переводить или интерпретировать перед выполнением.
Вот ваши варианты:
- QEMU: Эмулируйте x86 CPU: наиболее совместимый, но самый медленный вариант.
- Проект Hangover, недавний проект (поэтому не очень развит, но довольно многообещающий) для запуска x86_64/x86_32 приложений Windows на aarch64 или x86_64. Основное отличие в том, что он использует Windows-on-Windows64, поэтому вам не нужны 32-битные библиотеки на хосте.
- FEX-Emu похож на Rosetta для Mac, он позволяет запускать x86 и x86-64 бинарники на хосте AArch64, включая Wine. Он делает это, динамически переводя машинный код перед его выполнением на CPU, что обеспечивает хорошую совместимость, но иногда медленную скорость.
- Box86 и Box64 (для 64-бит) используют гибридный подход, где они перенаправляют вызовы к родным библиотекам (thunking), когда это возможно. Это достаточно ручной процесс, поэтому прогресс в разработке новых совместимых приложений может быть медленным.
Box86 провел сравнительный анализ производительности, включая бенчмарки Wine в последнее время: https://box86.org/2022/03/box86-box64-vs-qemu-vs-fex-vs-rosetta2/
Все эти решения можно зарегистрировать с помощью binfmt, чтобы они автоматически выполнялись при попытке запуска x86 (или даже PE — исполняемого файла Windows) бинарника. Они также все перенаправляют или перенаправляют вызовы графических библиотек к родным библиотекам для достижения разумной производительности.
Ответ или решение
Установка Wine на Chromebook с ARM-архитектурой, работающий под управлением Debian 10 Buster, представляет собой непростую задачу. Причиной тому является тот факт, что Wine призван эмулировать Windows-окружение, которое основано на архитектуре x86/x86_64, что делает его несовместимым с ARM-процессорами без использования дополнительных методов. Ниже приведены доступные решения и шаги, которые могут помочь вам в этой ситуации.
1. Понимание ограничений архитектуры ARM
ARM-процессоры не могут напрямую выполнять x86 или x86_64 инструкции, поэтому для запуска программ, написанных для этих архитектур, требуется их интерпретация или перевод. Здесь мы сталкиваемся с необходимостью выбора соответствующего инструмента, чтобы преодолеть эти ограничения.
2. Использование эмуляторов и трансляторов
Существуют различные решения, которые могут помочь вам запустить Wine или его альтернативы на ARM-устройствах:
-
QEMU: Это мощный эмулятор, который может эмулировать x86 архитектуру. Хотя это наиболее совместимое решение, оно работает медленно, так как выполняет полный эмулятор. QEMU будет хорошим вариантом для тех, кто хочет запустить x86 приложения без особых требований по производительности.
-
Project Hangover: Этот проект позволяет запускать x86/x86_64 приложения Windows на ARM (aarch64) платформах. Он использует Windows-on-Windows 64 и не требует 32-битных библиотек, что упрощает установку и работу, хотя он еще не настолько зрелый, как другие решения.
-
FEX-Emu: Подобно Rosetta на macOS, этот эмулятор поддерживает запуск x86 и x86-64 бинарных файлов на ARM-устройствах. Его основное преимущество заключается в динамическом переводе кода, что обеспечивает хорошую совместимость и иногда более высокую скорость по сравнению с другими способами.
-
Box86 и Box64: Эти инструменты комбинируют подходы, позволяя вам запускать 32-битные и 64-битные приложения. Они используют промежуточный слой, который преобразует вызовы к библиотекам, что может обеспечить лучшую производительность, чем полное эмулирование.
3. Инструкция по установке Box64 и Wine
Если вы решили попробовать Box64 в сочетании с Wine, следуйте этим шагам:
-
Установите необходимые зависимости:
sudo apt update sudo apt install build-essential git
-
Клонируйте репозиторий Box64:
git clone https://github.com/imhp/box64.git cd box64
-
Соберите и установите Box64:
make && sudo make install
-
Установите Wine:
Wine можно установить через пакетный менеджер. Важно выбрать версию, совместимую с вашим окружением:sudo dpkg --add-architecture i386 sudo apt install wine
-
Запустите приложения:
Теперь вы можете попробовать запускать x86 приложения через Wine с использованием Box64. Учтите, что не все программы могут работать, и вам, возможно, придется потестировать разные приложения на совместимость.
Заключение
Хотя запуск Wine на Chromebook с ARM-процессором может показаться сложной задачей, использование инструментов, таких как Box64 и другие эмуляторы, может помочь вам реализовать эту возможность. Однако имейте в виду, что результаты могут существенно различаться, и производительность может не соответствовать ожиданиям из-за необходимой эмуляции.
Надеюсь, данная информация оказалась полезной для вас! Удачи в ваших усилиях по установке Wine на ваш Chromebook!