Как установить directx на linux

Обновлено: 07.07.2024

Статья рассказывает об установке DirectX9.0c в wine. Возможно кому-нибудь будет интересно.
Замечания и предложения приветствуются.

ЗЫ Простите за мой английский. и за русский тоже :)

Microsoft DirectX это коллекция API для выполнения задач, связанных с мультимедиа, особенно программирования игр и видео на платформе Microsoft. Названия этих API начинается со слова Direct. Например: Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound и так далее. DirectX это общий термин, обозначающий все эти Directчтонибудь API. И этот термин дал название коллекции. За прошедшие годы многие API были изменены и перемещены, так что это соглашение о наименовании больше не действительно. К примеру X заменил Direct в первых частях названий некоторых новых DirectX технологий, таких как XAct, Xinput и т. д.

Direct3D (графический API в составе DirectX) широко используется в разработке компьютерных игр для Microsoft Windows, Microsoft Xbox и Microsoft Xbox 360. Direct3D так-же используется другими приложениями для визуализации и обработки графики, что особенно заметно в инженерных приложениях CAD/CAM, потому что они способны быстро обрабатывать высококачественную 3D графику, используя DirectX-совместимое аппаратное обеспечение. Так как Direct3D это широкоизвестный API в составе DirectX, нередко название DirectX используется вместо Direct3D.

Настройка Wine.

Действия производились с чистой конфигурационной директорией Wine на виртуальном рабочем столе 1024x768

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

Следующий шаг это установка родной mscoree.dll и streamci.dll в директорию /system32
из установленной Windows.
Перейдите в

/.wine/drive_c/windows/system32 и переименуйте d3d8, d3d9, ddraw, dsound, dsound.vxd, quartz dlls в *.bak.

Вам будет необходимо поставить большое количество dll, для корректной работы инсталлятора. Ниже приведен полный список dll, которые должны быть установлены.

Установка Directx

Скачайте DirectX 9.0c November release.

directx_nov2007_redist.exe Извлечет файлы инсталлятора в выбранную Вами директорию.

Теперь перейдите в директорию, в которую Вы распаковали DirectX и запустите DXSETUP.EXE.

Запустите winecfg снова и установите d3d8, d3d9, ddrawex, dinut, dinput8 как встроенные wine.

Теперь запустите dxdiag.exe

Теперь мы можем протестировать ddraw, ddraw 3D, D3D8 и D3D9

После удачного тестирования необходимо установить gm.dls для теста Direct Music, этот драйвер поместите в

Вы получите уведомление в system32 d3dx9_24.dll до d3dx9_36.dll установлены, это поможет Вам при запуске игр, которые требуют дополнительных библиотек DirectX.

Теперь Вы имеете возможность запускать многие библиотеки DirectX в режиме native или builtin. К примеру, если игра падает со встроенной библиотекой Wine quartz.dll, Вы можете попробовать запустить ее с оригинальной Windows dll и посмотреть как это улучшит ситуацию.

Не забывайте, что d3d8, d3d9, ddraw будут работать толька как builtin, и во многих случаях Вы должны будете попробовать использовать встроенные dsound и dinput. Кстати, у меня были некоторые успешные попытки запуска (dsound and dinput) в оригинальном режиме Windows. Причина для использования встроенных библиотек это необходимость прямого доступа к Вашему железу. direct music и direct play могут быть использованы в native windows mode в большинстве случаев.

Войти

Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal

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

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

Установка Wine

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

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

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

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

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. Первый запуск (к примеру, открытие настроек) создаст системный реестр и дерево каталогов в каталоге

Скрипт 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 (все шрифты помещаются в каталог

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

Изображение пользователя Soi-Fong.

Вот и все. У меня прошло все без задоринки на свежеустановленном вайне.

Кроме директХа, думаю, необходимо установить corefonts. Список пакетов с описаниями по ссылке выше. Для программ, которые требуют IE (например, dotnet*), ставим fakeie6.

п.с. могут возникать ошибки, например, fakeie6 у меня встал только с ручным созданием директории

/%ProgramFiles% и копированием shdocvw.dll из оригинальной винды в system32 вайна, dotnet11 и dotnet20 крашит при установке. Возможно, в новых версиях пофиксят. О путях решения давйте писать сюда.

Комментарии (80)

Изображение пользователя Soi-Fong.

Еще костыль: при установке comctl32, в пути распаковки надо указать c:\windows\temp

Изображение пользователя extaaazzzy.

Изображение пользователя Soi-Fong.

Я где-то писал на форуме название мейлагент клиента под линукс. Вроде в статье про вайн 1 рц 1 в каментах.

Изображение пользователя extaaazzzy.

В том то и дело, что мне подобие не нужно, только Мэйл@гент.ру :)

Изображение пользователя Soi-Fong.

тогда юзай виртуалку в режиме интеграции
кстати, у вмваре тоже реализован интересный режим интергации рабочих столов

sudo mv winetricks /usr/bin
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
а подскажите пожалуйста в чем здесь удобство собственно?

Изображение пользователя Soi-Fong.

чтобы запускалось без ввода всего пути

))) а через ./winetricks у вас не запускается? :)))
иль я чтот не понимаю. простите за кучу вопросов я всего пол года осваиваю систему )

Изображение пользователя Soi-Fong.

запускается, если находишься в директории с вайнтриксом, но ведь не всегда так, а /usr/bin для этого и сделано

Изображение пользователя picaro.

А winetricks это ещё один клон вайна, или он устанавливает директикс к текущему вайну?
Подцепляет ли он уже установленный вайн?

Изображение пользователя Soi-Fong.

это просто скрипт, который устанавливает популярный софт и библиотеки на установленный вайн, можно использовать для разных префиксов, например так:
WINEPREFIX=/home/soifong/.wine2 winetricks
я использую несколько префиксов

У меня все без глюков ставится, нормально. Шикарная вещь, спасибо.

Как только в вайн появится поддержка игр для Висты, то можно будет объявить о свое абсолютном переходе на пингвина

А установка директХ просто эксешником как в винде дает точно такой же результат? У меня после такой установки вайн жрал 50% процессорного времени без запущенных программ (сервер вайн).
Через вайнтрикс поставил поверх. Было несколько ошибок в консоли, но сам процесс завершился успешно.

Просто екзешником он не устанавливается, хотя говорит, что процесс завершен.

с этим врятли что то можно сделать.После того как установили directX с помощью winetricks можно проверить работоспособность directx командой "wine dxdiag"

спасибо а то чтото с мелкософта не мог качнуть директХ(прерывалось на 17мб любая версия) а тут еще и писать нечего не надО)

а что такое и тут тоже самое.Кто нибудь знает почуму у меня на 16% останавливает загрузку?

спасибо а то чтото с мелкософта не мог качнуть директХ(прерывалось на 17мб любая версия) а тут еще и писать нечего не надО)

спасибо а то чтото с мелкософта не мог качнуть директХ(прерывалось на 17мб любая версия) а тут еще и писать нечего не надО)

спасибо а то чтото с мелкософта не мог качнуть директХ(прерывалось на 17мб любая версия) а тут еще и писать нечего не надО)

Изображение пользователя Linus.

Я ставил ДиректХ и на Кубунту 9.10 и на 10.04 и под разными вайнами просто запуская ".exe". Также и игры ставлю. Пока всё нормально работает.

Изображение пользователя Firemies.

Изображение пользователя Flameflower.

$
wine: 1.2-rc2
Относительно настройки оставил всё так же, как стало после установки прямогоХ с использованием winetricks


Установить Wine Staging

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

Если вы не понимаете WineHQ и вам нужно руководство, мы рекомендуем вам прочитать наш пост об установке Wine Staging в Linux. В нем мы рассмотрим, как заставить его работать в Ubuntu, Debian, Arch Linux, Fedora и даже OpenSUSE!

Проверь это - Как смотреть Netflix в 4K на ПК с Windows

Получить DXVK

К сожалению, DXVK не поставляется с набором пакетов Wine в большинстве дистрибутивов Linux. Вместо этого, если вы хотите воспользоваться этой технологией, вам нужно сесть и вручную загрузить все. К счастью, получить последнюю версию DXVK в большинстве дистрибутивов Linux не так уж и сложно.

Чтобы DXVK работал с выбранным вами дистрибутивом Linux, запустите терминал, нажав Ctrl + Alt + T или Ctrl + Shift + T на клавиатуре. Оттуда прокрутите вниз, найдите операционную систему Linux, которую вы используете на своем ПК, и следуйте инструкциям, изложенным для нее.

Ubuntu

Нет пакетов DXVK, о которых можно было бы говорить ни в одном из источников программного обеспечения Ubuntu Linux. К счастью, поскольку Ubuntu похож на Debian, вместо него можно установить пакеты DXVK Debian.

Чтобы получить пакеты Debian DXVK, запустите терминал и используйте команды загрузки wget, указанные ниже.

После загрузки пакетов используйте команду dpkg, чтобы загрузить их в свою систему Ubuntu.

Debian

Пользователи Debian имеют доступ к DXVK через «Главный» репозиторий программного обеспечения. Чтобы установить его, введите следующую команду пакета Apt-get ниже.

Arch Linux

В Arch Linux, если вы хотите использовать DXVK, вы должны использовать AUR. Чтобы взаимодействовать с AUR, вы должны установить пакеты Git и Base-devel в вашей системе с помощью следующей команды Pacman.

С пакетами Git и Base-devel, настроенными в Arch Linux, пора установить помощник Trizen AUR, так как он поможет быстро настроить DXVK и его важные зависимости.

Теперь, когда у вас установлен помощник Trizen AUR, используйте его для настройки DXVK на вашем компьютере с Arch Linux.

Fedora

Версия 0.94 DXVK доступна в службе сборки OpenSUSE для Fedora 29 и 28. Чтобы установить ее, убедитесь, что у вас установлена ​​последняя версия Wine Staging. Затем используйте следующую команду установки пакета Dnf, чтобы получить DXVK в вашей системе.

Проверь это - Как играть в игры Sega DreamCast в Linux

OpenSUSE

Чтобы установить DXVK на OpenSUSE, перейдите по ссылке эта страница на OBS. Оказавшись там, нажмите кнопку «Установить в 1 клик» рядом с выпуском, чтобы настроить его.

Исходный код

Исходный код DXVK размещен на Github, поэтому, если вы хотите использовать его в менее известном дистрибутиве Linux, нажмите эту ссылку здесь .

Настроить DXVK

Пакеты DXVK настроены в вашей системе, но они еще не готовы к работе, и их необходимо настроить. Чтобы начать процесс настройки, запустите терминал и следуйте инструкциям по запуску инструмента автоматической настройки DXVK.

Ubuntu / Debian

В Ubuntu и Debian вы сможете начать настройку DXVK, запустив простой сценарий Shell. Чтобы запустить сценарий оболочки, вам необходимо сделать следующее. Сначала используйте команду CD, чтобы переместить сеанс терминала из домашней папки (

/) в / usr / lib / dxvk / wine64-development /.

Попав в каталог wine64-development, вы можете запустить скрипт с помощью:

Fedora / OpenSUSE

Те, кто использует DXVK в Fedora или OpenSUSE, должны использовать Winetricks для выполнения файла setup_dxvk.verb в / usr / share / dxvk /. Установите последнюю версию Winetricks. Затем используйте команду CD, чтобы перейти в папку DXVK.

Проверь это - Как управлять аудиоустройствами в Linux с помощью Pavucontrol

Оказавшись в каталоге, выполните следующую команду Winetricks. Убедитесь, что вы не используете sudo, иначе это не сработает!

Arch Linux

Пакет Arch Linux DXVK в AUR должен автоматически настроить DXVK, поэтому здесь нет необходимости в настройке.

Общий Linux

Если вы скомпилировали DXVK из исходного кода, вам необходимо настроить DXVK с Wine вручную. Инструкции, как это сделать, находятся на странице DXVK Github. .

Запуск игр с DXVK


Не хотите иметь дело с WineHQ? Ознакомьтесь со списком совместимости GamingOnLinux с DXVK вместо. Это поможет вам выяснить, какие игры хорошо работают с DXVK, а какие нет.

Читайте также: