Эмулятор Linux в Windows и Windows в Linux
Есть класс программ, позволяющих запускать программы других операционных систем (не обязательно Windows) в Linux и других UNIX-системах.
Это эмуляторы — такие программы, которые позволяют, грубо говоря, эмулировать Linux в Windows или наоборот. Среди них следует выделить наиболее часто применяемые.
1. WINE
opensource, GPL.
Wine Is Not a (CPU) Emulator это прослойка, которая транслирует Win32API в POSIX API, то есть свободная реализация Windows API, которая позволяет запускать программы Windows, переводя вызовы программы под Windows в вызовы Linux. Это позволяет выполнять программы почти на полной скорости. Однако из-за того, что продукты Microsoft являются закрытыми, невозможно точно воспроизвести структуру их API, что приводит к разного рода сбоям и странностям при выполнении Windows-программ в WINE. Положительным моментом является то, что вам не нужно ставитьWindows — только WINE и программу.
Плюсы: достаточно быстрая работа на реальных ресурсах машины, работа с реальными каталогами и файлами, нет необходимости в установке Windows.
Минусы: не все приложения поддерживаются и работают не всегда стабильно.
Ссылки:
http://www.winehq.org
http://gazette.linux.ru.net/team/a_kuprin.html
http://linuxshop.ru/linuxbegin/print633.html
1.1 CodeWavers CrossOver Office
closedsource.
Основанный на WINE коммерческий продукт, отличающийся лучшим исполнением особенно важных Windows приложений, таких как Adobe Photoshop, Microsoft Office, Autodesk AutoCAD и некоторых других. В общем, более стабильная, хотя и не самая свежая версия WINE, с графическим установщиком, который предоставит вам удобный и простой интерфейс для настройки.
Ссылки: http://www.codeweavers.com
1.2 TransGaming Technologies WineX / Cedega
proprietary, но есть возможность скачать исходники.
Так же основанный на WINE, но имеющий одно очень существенное, особенно для геймеров, усовершенствование — он содержит в себе улучшенную, вдобавок, полную (в плане совместимости) поддержку интерфейса Direct3D.
Ссылки: http://www.transgaming.com
2. DOSEMU
opensource, GPL.
dosemu — эмулятор DOS для запуска старых приложений, часто используется для бухгалтерских и прочих весьма специфичных нужд. Многие программы под DOS использовали его «особенности» и баги для работы, которых в dosemu может не оказаться.
Плюсы: быстрый запуск и работа устаревших, но нужных программ DOS (бухгалтерских, например), не требователен к ресурсам.
Минусы: нетривиальная установка, не все программы будут работать.
Ссылки: www.dosemu.org
3. Win4Lin
closedsource.
В файл, который для Windows будет диском, ставится полноценная копия Windows и потом туда ставятся нужные приложения. Старая версия Win4Lin позволяла запускать Windows 95 с очень приличной скоростью и работать с приложениями для этих систем в виндовс, однако для этого требуются патчи на ядро. Патчи есть далеко не для всех версий ядер, и для определённых версий Win4Lin патчи были свои — нужно было угадывать.
Win4lin PRO не требует патча, позволяет запускать Windows2000/XP, но работает медленно и при этом подгружает служебные программы для «ускорения». Есть подозрения, что в этом эмуляторе используются наработки автора QEMU и особенно его ускоряющего модуля. Особенностью этого эмулятора является то, что есть возможность работать с реальными каталогами Linux.
Плюсы: возможность запуска Windows.
Минусы: проблемы с накладыванием патчей на ядро (закрытых и возможно небезопасных), либо очень низкая скорость запускаWindows, необходимость устанавливать Windows, невозможность эмуляции других ОС.
Ссылки:
http://www.win4lin.com/
http://www.netraverse.com/
http://sys.net.ru/docs/win4lin/Win4Lin6/
http://sys.net.ru/docs/win4lin/win4lin2debian
4. Виртуальные машины
Имитируют весь компьютер целиком вместе с жёстким диском (в виде файла), CD-ROM и USB (всё это связано с железом настоящего компьютера). Установленная туда ОС будет работать с реальным железом только через эмулированное. Виртуальные машины это как раз то, что обычно называют «эмулятор Linux» или «Эмулятор Windows» — с помощью виртуальных машин вы действительно сможете эмулировать Linux или Windows.
4.1 QEMU
opensource, GPL.
QEMU — виртуальная машина. В QEMU можно поставить почти любую ОС — любой Windows (начиная с Windows95 до WindowsXPвключительно), любой дистрибутив Linux или FreeBSD, BeOS/Haiku, ReactOS, Syllable и проч. Для быстрой работы нужен kqemu — ускоряющий модуль (так же под GPL), который имеется на сайте автора. Для этого потребуются заголовки ядра — в основном, чтобы собрать ускоряющий модуль kqemu, с которым замедление работы гостевой ОС составит до 1.5 раза (вместо 5-10 раз без модуля). Этот эмулятор использует наработки другого проекта, BOCHS. Так же позволяет создавать виртуальные машины собственной утилитой qemu-img. Работа с эмулятором (вызов, задание параметров) происходят в консольном режиме, но есть и графические оболочки.
Плюсы: хорошая скорость работы (с kqemu) гостевой ОС, стабильность, широкие возможности (эмуляция нескольких платформ, одновременный запуск множества систем, точность эмуляции), защищённая среда.
Минусы: несколько меньшая скорость эмуляции, чем VMware, консольный интерфейс (хотя есть графические оболочки типа Qemulator).
Ссылки:
форум о QEMU
www.qemu.org
4.2 BOCHS
opensource, GPL.
BOCHS — виртуальная машина, точный эмулятор x86 платформы. Имеет свой BIOS, VGABIOS и прочее, что и используется QEMU. Очень точный, но очень медленный, применяется в основном разработчиками, где нужна уверенность, что это сбой в программе, а не эмулятора.
Плюсы: полная точная эмуляция x86, возможность установки в него практически любой ОС, лёгкая и простая установка в Debian.
Минусы: очень низкая скорость работы гостевой ОС.
Ссылки:
www.bochs.org
4.3 VMWare
closedsource.
VMWare — как и QEMU, виртуальная машина. Обладает более высокой скоростью эмуляции, поддерживает большее число ОС. Кроме того, установка VMWare на Дебиан нетривиальна, хотя имеются deb-пакеты в неофициальных репозиториях; требуется компиляция закрытых ускоряющих модулей с заголовками ядра. Есть сообщения, что у VMWare имеются проблемы с полноэкранным режимом. По требовательности к ресурсам мало отличается отQEMU, потребляя много оперативной памяти и процессорного времени. Возможности те же: безопасная среда для эмуляции гостевых ОС. Плюс графический интерфейс для создания виртуальных машин.
Плюсы: более быстрая эмуляция гостевых ОС, есть графический интерфейс для создания виртуальных машин.
Минусы: закрытые проприетарные модули потенциально могут вывести хост-ОС из стабильного состояния.
Ссылки:
http://www.vmware.com/
http://www.nixp.ru/news/6914
http://software.newsforge.com/print.pl?sid=05/04/27/186203
4.4 VirtualBox
opensource, GPL.
VirtualBox — так же виртуальная машина x86, основана на наработках QEMU. Отличается простым графическим интерфейсом и весьма высокой скоростью эмуляции (часто быстрее QEMU) и поддержкой периферии (USB, сеть, FireWire). Точность эмуляции ниже, чем у QEMU (невозможно запускать многие ОС, например BeOS/Haiku, MenuetOS, Syllable). Есть guest additions, которые позволяют очень нужные вещи, а именно копи-паст с хост-системы в гостевую (clipboard sharing) и незаметный захват мыши.
Плюсы: простая установка и настройка, возможно расширение функционала плагинами, широкая поддержка периферии, в ряде случаев быстрее QEMU.
Минусы: при интенсивном использовании графический интерфейс мешает, точность эмуляции менее распространённых ОС не высока.
Ссылки:
http://www.virtualbox.org/
4.4 KVM — Kernel-based Virtual Machine
opensource, GPL.
KVM — это решение полной виртуализации, хотя сам по себе это модуль ядра Linux. Для работы требуется модифицированная версияQEMU. Для работы требуется поддержка виртуализации процессором.
Плюсы: модуль ускорителя в ядре, простая установка.
Минусы: требуется поддержка виртуализации процессором.
Ссылки:
http://kvm.qumranet.com/kvmwiki
http://inf.by/linux/211/
5. Гипервизоры
opensource, GPL.
XEN — гипервизор, позволяет запускать гостевую ОС как процесс ядра в хост-системе. Отличается очень низкими накладными расходами (от 2 до 8% потери производительности гостевой ОС), защитой хост-ОС, а так же использованием технологий виртуализации современных процессоров. Однако для того, чтобы использовать его возможности, требуется патч на ядро не только хост-ОС, но и гостевой ОС, что делает запуск проприетарных систем внутри очень непростым делом.
Плюсы: потенциально наибольшая достижимая скорость работы гостевой ОС, ниже требования к ресурсам хост-ОС.
Минусы: весьма нетривиальная установка — требуется патч на ядро гостевой ОС.
Ссылки:
http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
http://wiki.xensource.com/xenwiki/XenFaq
http://www.howtoforge.com/book/print/1169
http://xgu.ru/xen/manual/
6. Виртуализация на уровне операционной системы
opensource, GPL.
Open VZ это технология «лёгкой» виртуализации, позволяющая на одной аппаратной системе держать несколько различных версий Linux с одним ядром (поддерживающим ovz и содержащимся, как правило, на небольшом корне с ограниченным доступом по ssh и без других сервисов). В отличие от «тяжёлых» вариантов вроде Xen, Qemu или VMware, накладные расходы обычно составляют единицы процентов.
Как попробовать Linux без скачивания и установки дистрибутива
Есть тонна дистрибутивов Linux, доступных для всех, чтобы использовать их или просто ознакомиться. Более того, почти во всех дистрибутивах Linux есть что-то уникальное, чего не может предложить ни один другой дистрибутив. Хотя, имея необходимое количество времени и знаний, вы можете полностью настроить любой дистрибутив. Если вы хотите опробовать новый дистрибутив Linux, есть способ сделать это очень просто.
Как это устроено
Вместо того, чтобы загружать ISO образ, затем создавать загрузочный USB-диск, вы можете тестировать дистрибутивы Linux онлайн. Да! Вы можете протестировать почти все признанные дистрибутивы Linux, не загружая их.
Благодаря веб-сайту DistroTest , пользователи могут опробовать более 280 операционных систем с более чем 1000 их версий (на момент написания этого поста). Это много дистрибутивов, будьте аккуратны, так можно убить не одну неделю.
Еще более интересно то, что вы можете делать абсолютно все в дистрибутиве. Все функции и возможности доступны для использования, включая возможность форматирования жесткого диска. Конечно, их быстродействие зависит от вашего интернет-соединения, поэтому, быстрое подключение к интернету желательно иметь.
Как бы это просто не звучало, тем не менее, ознакомьтесь с приведенными ниже инструкциями, чтобы начать тестирование дистрибутивов Linux в Интернете.
Пробуем запустить
Как я уже упоминал выше, DistroTest предлагает множество дистрибутивов для проверки. Для этого руководства, в пример приведу Deepin, так как сам им и пользуюсь. Без лишних слов, давайте приступим.
Прежде всего, вы должны посетить DistroTest . Прокрутите список дистрибутивов, доступных для тестирования и найдите нужный вам. В качкстве невигации, можете использовать буквенное меню. Так как мы будем тестировать Deepin, находим его в списке и кликаем по названию.
Вы увидеть список версий, доступных для выбранного дистрибутива. Если вы ищете лучшее решение, придерживаться последних версий, а остальное, оставте любителям ностальгии.
Нажмите Stаrt рядом с названием версии. Если вы намерены предварительно ознакомиться с сведениями о дистрибутиве, жмём Details .
В зависимости от того, сколько пользователей на сайте, вам может потребоваться подождать своей очереди. Это может занять как несколько секунд, так и минут. Значение Slot , высвечивающееся в то время, пока вы стоите в очереди, даст вам знать, какую именно позицию вы там занимаете.
Если окно с дистрибутивом не появится, нажмите кнопку Open VNC-Viewer . Всё должно заработать.
Дождитесь загрузки ОС, после чего вы автоматически войдете в систему.
Теперь вы можете перемещаться по виртуальной ОС и проверять приложения или настройки по умолчанию. Кроме того, вы можете установить сторонние приложения и попробовать их. Сайт дает вам 30 минут для тестирования дистрибутивов Linux онлайн. Однако, вы можете продлить свое время на 15 минут после того, как пройдёт 15 минут. Это необходимый шаг, чтобы избежать пробок на сайте.
Заключение
Как вы могли заметить из вышеперечисленных шагов, использовать DistroTest довольно просто и каждый может протестировать дистрибутивы Linux онлайн.
Из своего опыта же скажу. Как опция, подобные ресурсы имею право на жизнь, но в данный момент, взаимодействие с запущенными дистрибутивами, оставляет желать лучшего. Как бы подобный опят не отпугнул новичка.
Запускаем Windows игры в Linux
На мой взгляд, именно Steam и Lutris предлагают максимально современные и легкие решения для запуска игр. В качестве примера, поиграем в World of Tanks и World of Warships на Ubuntu 19.04.
Еще недавно, запускать Windows игры в Линукс было тем ещё квестом, затмевающим интерес к игре из-за тяжелого и не всегда удачного процесса установки игры.
С появлением DXVK (библиотеки основанной на Vulkan, позволяющей транслировать 3D приложения (игры) Direct3D 10/11), и как следствие Steam Play (Proton) – установка многих игр в Линукс стала почти такой же легкой как и в Windows.
Содержание
Запуск Windows игр в Linux с помощью Lutris
Lutris – сервис с игровым приложением, предоставляющий автоматизированные, настроенные скрипты для установки игр.
Интеграция с такими игровыми магазинами, как GOG и Steam, позволяет импортировать существующую библиотеку игр, а поддерживаемые сообществом установочные сценарии обеспечивают полностью автоматизированную настройку.
Установка Lutris в дистрибутивы на основе Ubuntu
Для корректной работы Lutris, разработчики рекомендуют предварительно установить Wine (версию Staging). Установить Wine в Ubuntu можно по нашей инструкции: Установка последней версии WineHQ в Ubuntu 18.04 и 19.04
Для Ubuntu подобных дистрибутивов добавляем репозиторий Lutris:
Для лучшей производительности необходимо установить последнюю версию видеодрайвера и библиотеки Vulkan.
Пользователям видеокарты Nvidia нужно добавить репозиторий с новыми драйверами и затем удобным способом установить последнюю версию драйвара:
Выбрать драйвер можно с помощью встроенной утилиты Программы и обновления – Дополнительные драйверы.
Если видеокарта поддерживает Vulkan API, то устанавливаем необходимые библиотеки (скорее всего они уже установились при установке видеодрайвера. Проверить, если видеокарта поддерживает Vulkan можно по ссылке: Vulkan API):
Пользователям видеокарт AMD / Intel:
Если у вас установлена Ubuntu 18.04, то стоит добавить следующий репозиторий:
Затем обновить предложенные пакеты:
Установка игр в Linux с помощью Lutris
Переходим на официальный сайт программы в раздел Games и выбираем нужную нам игру.
Найдя игру, выбираем (если доступно) редакцию скрипта с нужным нам сервером (например для World of Tanks это будет RU DXVK version). Нажимаем на Install. В качестве примера будет показана установка игры World of Tanks в Ubuntu 19.04.
Ссылка откроется в установленном приложении Lutris, нам предложат установить игру. Нажимаем на Install.
Дальше можно выбрать папку, в которую будет установлена игра. Продолжаем установку. Будет установлена нужная для данной игры версия Wine, соглашаемся на все установки. По окончанию установки онлайн установщика будет предложено создать ярлыки и запустить игру.
Затем откроется полноэкранное окно, в котором будет осуществляться установка игры. Не пугаемся, с помощью клавиш ALT+TAB можно вернуться в рабочее окно.
Запустить установленную игру можно как из программы Lutris, так и из списка установленных приложений.
Аналогично установил игру World of Warships в Ubuntu 19.04.
Именно в Ubuntu столкнулся с проблемой, при которой курсор мыши в игре не позволял делать обороты около 180 градусов. Ранее устанавливал игру в окружениях KDE и Cinnamon (Linux Mint), такой проблемы там нет. Если курсор вывести нажатием на CTRL, то можно захватить другие обороты мыши. Решение: переключение отображения игры в оконный режим.
Устанавливаем Windows игры в Linux с помощью Steam (Proton)
Для совместимости игр с операционными системами GNU/Linux, компания Valve разрабатывает проект Proton (Steam Play), который в свою очередь состоит из различных наработок, таких как Wine, DXVK, esync. Подробнее почитать о Steam Proton можно в нашей статье: Steam Play улучшает поддержку Windows-игр для Linux.
Информация о качестве поддержки Windows игр в Steam Proton доступна по ссылке: ProtonDB.
Для включения опции Proton, нам необходимо открыть Steam – затем Настройки – Steam Play – и включить доступные опции.
Версию Steam Proton стоит выбирать самую актуальную, т.е с большим номером.
Дальнейшая установка игр ничем не отличается от установки в системе Windows. Steam Play автоматически произведет нужные настройки для установки игры.
Сравнение производительности видеокарты Nvidia Geforce 1060 в Ubuntu 19.04 и Windows 10
Сравнение проводилось на ноутбуке с видеокартой Nvidia Geforce 1060 (6 ГБ) и процессором Intel® Core™ i7 8750H. Операционные системы Windows 10 1903 (build 18362.10019), версия видеодрайвера NVIDIA GeForce Game Ready 436.15 и система Ubuntu 19.04 с версией видеодрайвера 430.40 (самый актуальный в репозитории ppa:graphics-drivers).
World of Tanks
Танковые сражения в World of Tanks в Windows 10 показывали от 115-130 fps до 150-165 fps, в зависимости от игровой сцены.
В Ubuntu 19.04 от 100 до 120 fps. Настройки Высокие, sd клиент.
World of Warships
В морских сражениях World of Warships в Windows 10 производительность держалась от 65 до 75 fps.
В Ubuntu 19.04 игра World of Warships показала производительность от 60 до 70 fps, но периодически сильно проседала до 25 fps. Настройки высокие, hight клиент.
Обе игры в Ubuntu были установлены с помощью Lutris.
War Thunder
Также, с интересом проверил производительность видеодрайвера в игре War Thunder. В Windows 10 игра была установлена с помощью нативного клиента, а в Ubuntu 19.04 с помощью Steam (нативная версия).
В морских сражениях в War Thunder в Windows 10 отображался fps от 65 до 85, в воздушных боях около 100 fps.
В Ubuntu 19.04 варьировался fps от 35-55 в морских сражениях и 75 fps в воздушных.
Версия из Lutris, использующая DXVK, в Ubuntu 19.04 показала fps от 50 до 75 в морских сражениях и 60 fps в воздушных.
Знаю, что разработчики War Thunder тестируют версию с использованием библиотек Vulkan. Не тестировал её, но уверен, что производительность будет значительно выше, чем у нативной версии, использующей OpenGL.
Euro Truck Simulator 2
В симуляторе Euro Truck Simulator 2 производительность в Windows 10 отображалась от 85 до 120 fps.
В Ubuntu 19.04 производительность игры ETS 2 варьировалась от 55 fps (в редких случаях) до 110 fps. В обоих случаях были использованы настройки Ультра.
Как видим, производительность игр в Linux уступает Windows 10, но при использовании библиотек DXVK и Vulkan разница гораздо меньше, чем при использовании OpenGL. В любом случае это прорыв для пользователей Linux: доступных игр стало гораздо больше, а их установка стала максимально простой.
На мой взгляд, осталось решить проблему работы античитов. Именно из-за проблемы с работой некоторых античитов, в Linux не доступна еще масса игр.