Заполнение Wine. Установка Wine, winetricks, DirectX и программ, необходимых для игр Заполнение wine

Прошлое руководство устарело и в нем не сказано многих особенностей wine. Здесь я опишу начальную настройку wine, что-бы было понятно каждому. Ему необходимы библиотеки для корректной работы, в этом нам поможет winetricks. Но для начала установим самую свежую версию wine:

sudo apt-get install wine

Есть так-же репозиторий, с более частыми обновлениями, но зачастую нестабильными:

sudo apt-add-repository ppa:ubuntu-wine/ ppa

Winetricks

Winetricks – скрипт позволяющий несколькими простыми действиями установить дополнительные компоненты Windows в Wine.

Версия Winetricks, устанавливаемая из репозиториев зачастую бывает устаревшей. Для обновления выполните:

wget http:// www.kegel.com/ wine/ winetricks && chmod a+rwx winetricks && sudo mv winetricks / usr/ local/ bin

Если Winetricks выдает ошибку хэш-сумм попробуйте выполнить эту команду повторно, либо запустите программу вручную, используя wine ~/.wine/.chache/winetricks/папка_с_программой/программа

Использовать Winetricks можно как в GUI режиме, так и в консольном. Для GUI надо нажать Alt + F2 и ввести winetricks. Для консольного режима используйте winetricks название_программы, например:

Winetricks directx9 dotnet11

Но не спешите с настройкой! Для этого надо создать префикс. Префикс – каталог, содержащий эмуляцию диска C: со всеми программами и библиотеками windows. Теоретически вы можете устанавливать программы хоть в /mnt, но на практике это чаще всего приводит к сбоям. Если у вас 32-х битная система, просто введите winecfg. Если у вас 64-х битная система то настоятельно рекомендую создать 32-х битный префикс, для этого введите:

WINEARCH =win32 WINEPREFIX =~/ .wine winecfg

Например, .NET Framework предназначен (в winetricks) только для 32-х битных систем.

Если при выполнении winecfg вы увидели окно, предлагающее установить mono и gekko, согласитесь и подождите. Покопайтесь в настройках Wine и приступайте к заполнению.

Заполнение wine

На просторах интернета вы найдете множество руководств по заполнению wine программами, для каждой из них могут понадобиться сочетания библиотек, несовместимые с другой. Но можно создавать различные префиксы длдя различных программ, для этого:

WINEARCH =win32 WINEPREFIX =~/ название_префикса winecfg

Запуск программы: WINEPREFIX=~/название_префикса C:/путь/до/программы

В указанном выше примере C:/ считается как корень папки, то есть wine C:/notepad.exe равносильно ~/.wine/notepad.exe

После того как вы установили последнюю версию среды для запуска Windows программ WINE (о том как это сделать написано ) его необходимо ещё и немного поднастроить, чтобы программы и игры запускались нормально. Иногда приходится производить для каждой программы собственные настройки, но есть и общие для всех программ действия. Однако первоначальная настройка WINE дело вовсе не сложное.

Использование Winetricks.

Winetricks — это скрипт созданный для того, чтобы вы могли быстро скачать и установить различные библиотеки необходимые для работы некоторых windows-программ в среде wine.

Установить его просто. Запустите эмулятор терминала и создайте в домашней директории папку например winetricks:

Mkdir winetricks

затем перейдите в эту папку и скачайте из интернета скрипт winetricks:

Cd winetricks wget http://winetricks.org/winetricks

После того как скрипт скачался сделайте его испоняемым:

Chmod a+rwx winetricks

И наконец запускаем winetricks:

По пунктам:

  • Install an App — установка различных windows приложений.
  • Install a benchmark — установка на выбор нескольких популярных программ для оценки производительности.
  • Install a game — позволяет скачать и установить демоверсии некоторых игр.
  • Select the Default prefix — позволяет установить различные библиотеки и шрифты.
  • Enable Silent Install — включает\выключает «тихую» установку. В режиме тихой установки не отображаются окна установки.
  • Show brolen Apps — включает\выключает отображение «плохих» приложений (защищённых DRM и т.п.)

Установка шрифтов и DLL в Wine

Первым делом необходимо установить стандартные шрифты необходимые для большинства windows программ и игр. Для этого выбираем пункт Select Default prefix

При первом запуске этого пункта меню задаст вопрос о вашем согласии на сбор отладочной информации в целях улучшения программы:


Можете смело ответить нет, если не хотите помогать в развитии программы winetricks.



Не мудрствуя лукаво выбираем первый пункт allfonts — это установит все имеющиеся шрифты, но потребуется скачать 132 мегабайта данных из интернет. Поэтому запаситесь терпением и безлимитным интернетом.


Если вы не включили Silent Install то процесс загрузки и установки будет отображаться в окне:


Установка библиотек происходит аналогичным образом. Только на предыдущем шаге необходимо выбрать Install a Windows DLL o component.

Затем отметить необходимые компоненты и нажать кнопку ОК, как и в случае со шрифтами.


Например таким образом можно установить «родной» dircetx от Microsoft в среде Wine, что бывает необходимо для многих игр. Так же здесь можно найти другие библиотеки необходимые для игр и приложений. Необходимость определяется в каждом отдельно взятом случае.

Настройка звука в Wine

Для большинства игр и лучше производительности я переключаю звук на использование ALSA. делается это в настройках Wine (Приложения\Wine\Настройка Wine или выполнить winecfg в терминале). На вкладке Audio установить флажок в пункте ALSA.

Кроме того я наблюдал значительные проблемы со звуком в приложениях запущенных под wine при установленном звуковом сервере PulseAudio. По умолчанию Ubuntu воспроизводит звук именно с его помощью, поэтому я его удаляю.

UPD 2016. В последних дистрибутивах необходимость в удалении Pulseaudio практически отпала. Все программы и игры работают корректно.

На этом первоначальная настройка WINE в Ubuntu завершена. Это всего-лишь базовый набор настроек которые я применяю для запуска Windows игр в ОС Linux под Wine. Если вам есть что дополнить добро пожаловать в комментарии.

Оказалось, что там далеко не все тонкости. Поэтому написал этот пост как дополнение тому.

В данном посте в основном вольный перевод оф. документации, а так же несколько своих и чужих хитростей при работе с вайн.
Скорее всего данный пост будет интересен новичкам и обычным пользователям GNU\Linux. Тем не менее добротные советы от специалистов не будут лишними.

Что такое вайн думаю объяснять нет смысла. Хочу лишь показать несколько трюков при работе с ним.

Префиксы
С их помощью вы можете устанавливать приложения именно туда куда вы их хотите установить, а не в дефолтный.wine. Даже если что то пойдет не так, достаточно удалить тот префикс, в котором произошла ошибка, при этом все другие приложения\префиксы (предположим, что они настроенные) не пострадают.

То есть каждый созданный вами префикс можно рассматривать как отдельный wine – он независим от других префиксов. Или, для еще большей простоты, воспринимайте каждый созданный префикс, как отдельно установленную винду.

Теперь немного практики:
Сейчас мы создадим папку Gamez, в ней мы создадим префикс lib в который установим несколько библиотек. Эти библиотеки все равно пригодятся потом, поэтому пусть кешируются.

Mkdir ./Gamez

env WINEPREFIX=$HOME/Gamez/lib winetricks directx9 vcrun2005 vcrun2008 vcrun6
env WINEPREFIX=$HOME/Gamez/lib wine winecfg

Последней командой мы опять вызвали окно конфигуратора wine. Просто перейдите на вкладку «Библиотеки» и убедитесь, что все установилось. После этого выполните:

Wine winecfg - откроется конфигуратор wine (не из префикса), проверьте ту же вкладку. Видите! Здесь никаких библиотек. Значит он цел и невредим.

Как установить несколько разных версий wine?
Для решения этой задачи придется собирать wine из исходников. При сборке просто используем префикс для дефолтной установке. Примерно как здесь:

./configure prefix=/path/to/install/directory && make
sudo make install

AppDB
Обязательно используйте appdb для поиска информации по установке приложения, возможно стаф, который вы устанавливаете, уже установили и расписали все подводные камни.
Наводим порядок в домашнем каталоге
Если вы любите поиграть, то вероятно ваш /home раздел забит сейвами и прочими файлами игр. Избавиться от этого всего дела, не в ущерб можно так:

Замените стандартный путь к моим документам, на желаемое место для хранения сейвов. У меня, к примеру, этот путь ведет в папку с игрой.

Использование последних версий wine
Wine такая штука, чем новее тем лучше! С помощью следующей команды вы всегда будете иметь последнею версию wine (для Ubuntu-подобных дистрибутивов):

Sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update

После выполнения этих команд ищите последнею версию wine в synaptic.

Установка winetricks
Если по каким-либо причинам у вас до сих пор нет winetricks, то завести его в хозяйстве можно так:

Wget winetricks.org/winetricks
sudo cp winetricks /usr/bin
sudo chmod +x /usr/bin/winetricks

Как установить MSI файл?
Это можно сделать двумя способами: wine msiexec /i whatever.msi

Альтернативный способ: wine start whatever.msi

The file foo.exe is not marked as executable… - Что это значит?
Эта ошибка происходит потому что на exe файле стоит запрет на выполнение. Для файла на вашей ФС эта команда должна исправить положение:

Chmod a+x ./patch/you/exe.file

Если же файл находится на диске, то должна помочь вот эта команда:

Mount -o remount,mode=0777,exec /media/cdrom

Как вывести содержимое отладки в отдельный файл?
cd ~/.wine/drive_c/Games/Tron
wine tron.exe &> log.txt
Как отключить «crash» диалог?
Если вы используете префиксы, не забудьте в команде указать путь к префиксу - winetricks nocrashdialog
После запуска приложения\игры, wine ругается и ничего не запускает. Что делать?
Для начала изучите логи, обычно в них все написано. Ниже я приведу самые популярные ошибки:

MFC40.DLL: через winetricks установи mfc40 (Microsoft Foundation Classes from Visual C++ 4).
MFC42.DLL, MSVCP60.DLL: через winetricks установи vcrun6 (MS Visual C++ 6 sp4 libraries: mfc42, msvcp60, msvcrt).
MFC71.DLL, MSVCP71.DLL: через winetricks установи vcrun2003 (MS Visual C++ 2003 libraries: mfc71,msvcp71,msvcr71).
MFC80.DLL, MSVCP80.DLL: через winetricks установи vcrun2005 (MS Visual C++ 2005 libraries: mfc80,msvcp80,msvcr80).
MFC90.DLL, MSVCP90.DLL: через winetricks установи vcrun2008 (MS Visual C++ 2008 libraries: mfc90,msvcp90,msvcr90).
MDAC: через winetricks установи mdac27 (MS MDAC 2.7).

Мое приложение работает, но текстовые поля ведут себя странно
Проанализируйте дебаг wine после запуска приложения, если видите что ругается на RICHED20.DLL , то доустановите через winetricks следующею библиотеку: riched20
После запуска в консоль выводятся fixme сообщения. Что это?
Вы можете просто их игнорировать, это информация для разработчиков.
Что делать если приложению необходим.NET фреймворк?
Через вайнтрикс можно установить 1 или 2 фреймворк. Как альтернатива использовать mono. Если же приложение требует 3 или 4 фреймворк, то скорее всего оно работать не будет (хотя 3 и даже 3.5 доступен в меню winetricks). Ждем пока решат эту проблему.
Игра которую я пытаюсь установить защищена от распространения возможно ли её установить?
Смотри список copy protection , которые работают.
Что делать если приложение требует IE?
Wine использует по умолчанию ядро\движок Gecko – это то же, что и на Firefox. Поэтому можно через winetrikcs доустановить gecko(если его нет) и\или fakeie6.

Если же это не помогло, попробуйте поменять версию windows на win2k и установить через winetricks ie6, ie7 или ie8.

Как включить сглаживание шрифтов в wine?
Если ваша версия выше чем 1.1.12 вы можете использовать winetricks и выбрать один из трех вариантов сглаживания: fontsmooth-gray , fontsmooth-rgb или fontsmooth-bgr
После выхода из игры не восстанавливается разрешение экрана
Должно помочь: xrandr -s 0
Как попасть в реестр wine?
wine regedit - Если используются префиксы укажите путь в команде.
Нуждается ли wine в отдельной установке драйверов?
Нет. Wine – это не эмулятор компьютера, он лишь переводит вызовы Windows API в понятные линуксу команды.
Безопасно ли запускать wine от root?
Никогда не запускайте wine от root пользователя!!!

Если это уже случилось измените владельца ~./wine директории.

Cd ~
sudo chown -R $USER:$USER .wine

Техника безопасности при использовании wine
Вот несколько советов, которые помогут вам повысить безопасность:
  • Никогда не запускайте программы с подозрительных сайтов
  • Никогда не используйте root пользователя для запуска приложений!
  • Используйте антивирусный сканер для запускаемых приложений, например ClamAV. Или хотя бы проверяете экзешники на virustotal
  • Попробуйте удалить wine диск Z:, который указывает по умолчанию на корневой каталог. В качестве обходного пути запускать программы из ~/.wine/drive_c директории.
  • Используйте виртуальную машину для запуска и проверки подозрительных приложений.
Файл.xsession-errors забивает мусором все дисковое пространство!!! Что делать? (рецепт от --=XliN=--)
Сохраните следующий скрипт:
% cat .scripts/xsessionerrorscleaner.sh
#! /bin/bash
while true ; do
inotifywait -e modify ~/.xsession-errors &> /dev/null
[[ "$(stat -c %s ~/.xsession-errors)" -ge "52428800" ]] && echo > ~/.xsession-errors
done

Добавьте его в автозагрузку, и установите следующий пакет (он необходим для работы скрипта).
apt-get install inotify-tools

Делаем «песочницу» для wine (рецепт от drBatty)
*1) создаём юзера
2) меняем права на домашние каталоги на 700
*3) прописываем команду в sudoers (visudo)
первый_юзер имя_компа=(второй_юзер) NOPASSWD: /программа_с_полным_путём
4) у первого юзера прописываем в автозагрузку DE команду xhost +local: второй_юзер
5) в ярлык для запуска программы пишем
sudo -u второй_юзер /программа_с_полным_путём
тогда первый юзер сможет более-менее безопасно запускать программы от имени второго юзера.
звёздочкой отмечены пункты, для которых нужны права рута.

Wine - свободная открытая реализация программного интерфейса Windows. Wine - не эмулятор операционной системы или компьютера , как можно охарактеризовать, например, программы для виртуализации (VirtualBox, VmWare и т.п.), что подчеркивает и расшифровка его названия "Wine Is Not Emulator ". Wine был создан для снижения степени зависимости от деятельности и положения корпорации Microsoft , расширения сферы применения свободных операционных систем за счет возможности запуска программ для Windows .

Wine - не эмулятор

По сути, Wine - это набор библиотек и программных инструментов, позволяющий запускать программы для Windows и схожий с тем, что использует сама операционная система от Microsoft . В состав программного дистрибутива Wine так же входят программы для его настройки (), редактор реестра, пакет скриптов , файловый менеджер, "Блокнот" и т.п. Количество программ для Windows , которые сегодня уже запускаются с помощью Wine достаточно велико и постоянно растёт. По адресу http://appdb.winehq.org находится специализированная база данных с отметками о совместимости тех или иных программ с Wine . Среди полностью совместимых с Wine программ множество офисных и мультимедийных программ, программы для предприятий и организаций, "1C" в т.ч., программы для обработки графики (включая некоторые версии Adobe Photoshop и т.п.). Растёт количество поддерживаемых и изначально совместимых с Wine игр .

Поскольку эмуляции каких-либо устройств и при работе Wine не происходит, скорость работы совместимых с Wine программ при его использовании обычно не ниже, чем при работе непосредственно в Windows (а часто - выше) .

На основе, или с применением компонентов, Wine в разное время были созданы такие проекты как Cedega (ориентированный на запуск игр , в первую очередь), CrossOver (ориентированный на запуск прикладных программ ) и т.п.

Установка Wine

Пакет программного обеспечения Wine чаще всего входит в состав современных дистрибутивов Linux (Ubuntu, Mint, Debian, openSUSE и т.п.) , и для его поиска и установки Вам, скорее всего, необходимо обратиться к управлению программным обеспечением своего дистрибутива .

Apt-get install wine Для того, чтобы установить WINE , выполните в консоли от имени администратора, для Debian, Ubuntu, Mint и т.п. zypper install wine wine-gecko Для SUSE и openSUSE Linux .

Настройка Wine

Для запуска программы настройки Wine , вызовите в консоли, или диалоге быстрого вызова команд , winecfg (при необходимости используйте "WINEPREFIX "). Winecfg настраивает внешний вид Windows-программ например, даёт возможность сменить версию набора библиотек Windows (2000, XP, 2003, Vista , ...) и т.п.

Winetricks - дополнительные настройки, компоненты и программы

Winetricks - это набор скриптов, написанный разработчиками Wine и сообществом, для облегчения внесения изменений в некоторые скрытые настройки Wine, установки некоторых дополнительных системных библиотек (DirecX и т.п.) и популярных программ для Windows, включая Internet Explorer (IE ), несколько демо-игр и т.п. . Winetricks обычно входит в состав дистрибутива Wine. Для запуска основного диалогового окна Winetricks выполните в консоли , или диалоге быстрого вызова команд (комбинация клавиш "Alt+F2 "), команду "winetricks ". Вы так же можете пользоваться командами вида winetricks directx9 в консоли, где "directx9" - имя устанавливаемого компонента. Для просмотра списка категорий компонентов, предлагаемых Winetricks к установке , можно вызвать команду winetricks list , а для обзора списков содержимого самих категорий - winetricks apps list , где "apps" - имя нужной категории.

Запуск программ Windows в Wine

Способ запуска программ в Wine типичен для работы с любыми файлами, будь то изображение, текстовый файл или исполняемый exe-файл в нашем случае: Вы можете просто запустить исполняемый файл Windows (*.exe) из своего файлового менеджера (двойным щелчком, например), или выполнить в консоли команду вида wine ~/Загрузки/программа.exe . Вы так же можете запускать программы Windows через внутренние пути Wine , если они находятся в директориях, монтируемых как системные диски при запуске необходимого профиля ("префикса") Wine (будь то стандартные "~/.wine/drive_c", или любые другие папки, настроенные Вами). В этом случае используется DOS-формат адреса программы wine C:\\Program\ Files\\programm.exe .

Обратный слэш "\" добавляется перед специальными символами, такими как тот же обратный слеш или пробел.

Установка программ Windows в Wine

Для установки программы Windows , Вам, соответственно, понадобится запустить её установщик : wine setup.exe Далее Вам будет необходимо пройти стандартную процедуру установки программ для Windows , которая чаще всего заключается в многократном нажатии кнопки "Далее". Одна из интереснейших функциональных особенностей Wine заключается в возможности использования профилей, или так называемых "префиксов ", для установки программ - независимых копий наборов системных библиотек, программ и настроек Windows . Стандартным префиксом Wine , т.е. папкой в которую записывается профиль по-умолчанию, является ".wine" - скрытая папка внутри домашней директории пользователя. Чтобы использовать отдельный "префикс" , Вам необходимо создать для него новую папку (для сброса профиля - удалите её содержимое ) и использовать экспорт глобальной переменной WINEPREFIX (можно как часть команды запуска программы Windows, для установщиков в т.ч.) . Например WINEPREFIX="/home/user/.wine-programm" wine setup.exe . Для установленных программ Wine создаёт ярлыки в локальном пользовательском (~/.local/share/applications/) меню рабочего стола (Gnome, KDE, XFCE и т.п.), используя необходимые префиксы .

Итак, драйвера установлены, видеокарта настроена - пора раскрывать её потенциал с помощью компьютерных игр. Иначе для чего всё это? :-) Начнём.

Установка Wine

Wine представляет собой реализацию библиотеки интерфейса программирования приложений (Application Programming Interface , API ). Wine перехватывает запросы windows-программ и преобразует инструкции в их linux-эквиваленты в форме команд оконному менеджеру, используя стандартный протокол X11 . Если имеется доступ к исходному коду windows-программы , Wine также может быть использован для перекомпиляции программы в формат, который Linux понимает лучше. Но нам он нужен всё-таки не для этого. Он нужен нам для игр.

Существует несколько способов установки Wine . Во-первых, он может уже быть в вашем репозитории дистрибутива. Рассматривать процесс скачки из репозитория каждого отдельно взятого дистрибутива, честно говоря, не хватит ни места, ни познаний, ибо нужно знать все дистрибутивы и их особенности. На примере Ubuntu - нужно зайти в Приложения -> Центр приложений Ubuntu , ввести в строку поиска "Wine " - и он перед вами. Неприятная новость: в репозитории его может и не быть, или он может быть, но не обновляться до новых версий. Поэтому советую второй путь - самостоятельная установка.

Для начала необходимо добавить источник Wine в список источников, которые Линукс просматривает в поисках новых версий пакетов.

Вот по этому адресу - www.winehq.org/download/ - дано подробное описание добавления и установки на всех известных дистрибутивах Линукса. Рассмотрим процесс на примере Ubuntu .

В консоли необходимо набрать следующие строки:

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update

Первой строкой мы добавляем адрес скачки Wine в список адресов обновления нашей системы. Второй строкой - считываем всю последнюю информацию о новых пакетах, чтобы Линукс добавил Wine в список доступных программ. Далее - заходим в Система -> Администрирование -> Менеджер пакетов Synaptic , пишем в строке поиска "Wine" , находим его в выпавшем списке доступных пакетов и ставим галочку. На данный момент это пакет Wine1.3 , при выборе он тянет за собой дополнительные пакеты: wine1.3-gecko , winetricks , ttf-symbol-replacement-wine1.3 и wisotool . Устанавливаем все эти пакеты кнопкой Применить .

Осталось только настроить свежеустановленный Wine . Первый запуск (к примеру, открытие настроек) создаст системный реестр и дерево каталогов в каталоге ~/.wine .

Скрипт winetricks и установка необходимых программ

Winetricks представляет собой запускаемый файл-скрипт. При его запуске появляется окно, содержащее длинный список программ, которые через этот скрипт можно установить. Все нам не нужны - нужны нам только те, без которых большинство игр не запустятся. Итак, запускаем winetricks и устанавливаем:

7zip, d3dx9, d3dx9_28, d3dx9_36, d3dx10, d3dxof, dinput8, directmusic, directplay, directx9, dotnet11, dotnet20, dotnet20sp2, dotnet30.

Шрифты Windows уже были установлены вместе с Wine1.3 , если есть желание расширить ассортимент - winetricks предлагает большое количество шрифтов на выбор. Хотя я вместо того, чтобы ставить скриптом по одному шрифту из инета, просто скопировал из установленной в соседнем разделе Windows все шрифты в Wine (все шрифты помещаются в каталог ~/.wine/drive_c/Windows/Fonts ).

Если вы читали в каких-либо статьях в инете о том, что после установки DirectX нужно заходить в Вайновские настройки библиотек DLL и менять им настройки - забудьте. Эта информация устарела и более не актуальна. Winetricks делает всё это за вас.

Ну вот, собственно, и всё, что нам нужно. Остался последний штрих - проверка DirectX на работоспособность. В Вайновском каталоге Windows/system32 запускаем dxdiag.exe и прогоняем все тесты на всех вкладках, особенно - тесты DirectDraw и Direct3D . Все тесты пройдены, всё работает? Я поздравляю вас! Ваш компьютер готов к установке игр!

Андрей "F1reTu][ " Фролов

Интернет