BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Запуск игр в FreeBSD AMD64
СообщениеДобавлено: Пт 19 окт, 2012 3:08 am 
Не в сети

Зарегистрирован: Ср 22 фев, 2012 2:20 pm
Сообщения: 2
Всем привет. Хочу поделиться моим способом поиграть в современные игры под FreeBSD AMD64. Для того чтоб поиграть, а не просто запустить современные игры понадобится хороший компьютер, чем лучше компьютер тем меньше тормозов. Поскольку DirectX под фряхой нет, то вайн транслирует вызовы DX в вызовы OpenGL и поэтому очень сильно нагружается процессор. Так же данный гайд не гарантирует 100% запуска игр. Но если игра написана изначально с поддержкой OpenGL, к примеру игры от Кармак&ID, то потери производительности будут и не такими уж большими. Так же следует принять во внимание, что поиграть в современные игры на фряхе получится только на nVidia картах, начиная от 8800 и выше. К примеру все это я тестировал на E2140 1.6Ghz, 5 Gb озу, видео nvGT640 2gb, FreeBSD 9.0 AMD64, Wine 1.5.9.(на такой конфигурации игры 2012 года тормозили из-за очень слабого процессора Так как я не игроман, то я не покупал лицензии, а качал так называемые репаки и запускал их. Хоть это и не по нашему, но новичкам советую поначалу тоже пользоваться репаками (в целях ознакомления),так как вайн не поддерживает всех защит используемых в лицензиях. Хотя как мне известно стим тоже неплохо работает под вайном, поэтому можете попробовать его, но я не проверял. В частности я запустил и смог поиграть в такие игры как DOOM 3, CIV 5, Ведьмак 2, Rage, DOOM 3 BFG Edition (eng), Mass Effect 3,NFS Carbon, Stalker SOC хотя в последнем пришлось править экзешник хекс редактором, это поделие из самостийной не хотело запускаться, ругалось что у меня подкачка менее 2 gb.Для установки и настройки вайна неоходимо подключение к интернету(поначалу, потом если вы разберетесь, то сможете собрать все необходимые файлы на локальном диске как это сделал я)
Переходим к установке вайна. В случае с 32х битной фряхой это несложно, но вот вайна для FreeBSD AMD64 не существует в природе. Но, один хакер написал патчик позволяющий всетаки установить вайн на 64 битке. Это достаточно долгий процесс поэтому мы не будем его рассматривать (гугл в помощь для пытливых), а поступим проще, воспользуемся готовым решением. Вначале делаем все под рутом. Качаем свежие драйвера с сайта www.nvidia.com. На момент написания это были 304.60, и устанавливаем их командой

tar xzf NVIDIA-FreeBSD-x86_64-304.60.tar.gz && cd NVIDIA-FreeBSD-x86_64-304.60 && make install.

Перезагружаем комп

Далее идем на http://www.mediafire.com/wine_fbsd64 забираем нужную вам сборку, для меня это была 1.5.9 и устанавливаем ее командой

pkg_add wine-fbsd64-1.5.9,1.txz или tbz зависит от расширения пакета.

далее нужно скачать патчик http://people.freebsd.org/~ivoras/wine/ ... -nvidia.sh который нужно поправить под версию ваших драйверов. Для того чтоб было более понятно что нужно сделать, выкладываю исправленный патч под 304.60 драйвера тут:

set -e

PORTSDIR=${PORTSDIR:-/usr/ports}
PREFIX=${PREFIX:-/usr/local}

if [ -d $PORTSDIR/distfiles ]
then
cd $PORTSDIR/distfiles
NO_REMOVE_NVIDIA="yes"
else
cd /tmp/
fi

terminate() {

echo "!!! $2 !!!"
echo "Terminating..."
exit $1

}

[ `whoami` = root ] \
|| terminate 254 "This script should be run as root"

echo "===> Patching wine-fbsd64 to work with x11/nvidia-driver:"

WINE=`pkg_info -E wine-fbsd64'*' | cut -f 3 -d -` \
|| terminate 255 "Unable to detect wine-fbsd64, please install first"
echo "=> Detected wine-fbsd64: ${WINE}"

NV=`pkg_info -E nvidia-driver-'*' | cut -f 3 -d -` \
|| terminate 1 "Unable to detect nvidia-driver, please install first"
echo "=> Detected nvidia-driver: ${NV}"

NVIDIA=${NV}
NV=`echo ${NV} | cut -f 1 -d _ | cut -f 1 -d ,`

if [ ! -f NVIDIA-FreeBSD-x86-304.60.tar.gz ]
then
echo "=> Downloading NVIDIA-FreeBSD-x86-304.60.tar.gz from ftp://download.nvidia.com...
fetch -pRr ftp://download.nvidia.com/XFree86/FreeB ... .60.tar.gz \
|| terminate 2 "Failed to download NVIDIA-FreeBSD-x86-304.60.tar.gz"
fi

echo "=> Extracting NVIDIA-FreeBSD-x86-304.60.tar.gz to $PREFIX/lib32..."
EXTRACT_LIST="libGL.so.1"
case $NV in
195*|173*|96*|71*)
EXTRACT_LIST="$EXTRACT_LIST libGLcore.so.1 libnvidia-tls.so.1"
;;
*)
EXTRACT_LIST="$EXTRACT_LIST libnvidia-glcore.so.1 libnvidia-tls.so.1"
;;
esac

EXTRACT_ARGS="--strip-components 2 -C $PREFIX/lib32"
for i in $EXTRACT_LIST
do
EXTRACT_ARGS="$EXTRACT_ARGS --include NVIDIA-FreeBSD-x86-304.60/obj/$i"
done
tar $EXTRACT_ARGS -xvf NVIDIA-FreeBSD-x86-304.60.tar.gz \
|| terminate 3 "Failed to extract NVIDIA-FreeBSD-x86-304.60.tar.gz"

echo "=> Cleaning up..."
[ -n "$NO_REMOVE_NVIDIA" ] || rm -vf NVIDIA-FreeBSD-x86-304.60.tar.gz \
|| terminate 6 "Failed to remove files"

echo "===> wine-fbsd64-${WINE} successfully patched for nvidia-driver-${NVIDIA}"

Вы можете взять этот патч, сохранить его под именем patch-wine-nvidia.sh, выставить ему права исполняемого файла или поправить оригинальный патч для своей версии драйверов. Вообщем зависит от вас. Итак патч поправили, сделали его исполняемым, теперь отдаем команду на его установку

Если все сделано правильно, то ошибок быть не должно.
так же нам потребуется поставить zenity для winetricks, который мы установим позже

pkg_add -r zenity

Перезагружаем компьютер, заходим под обычным пользователем(не рутом), загружаемся в иксы и запускаем winecfg, начнется настройка wine и скачка gecko. Далее необходимо скачать в свою домашнюю папку скрипт winetricks из http://winetricks.org/winetricks . Когда скрипт скачается, присваиваем ему право выполнения и в консоли начинаем по порядку написанному ниже ставить все компоненты.

./winetricks vcrun2005
./winetricks vcrun2008
vcrun2010
vcrun6
vcrun6sp6
d3dx9
dotnet20
перезагрузка компа
Из папки Windows/Microsoft.NET/Framework удалите папку v3.0 (если она там есть)
./winetricks vb5run
vb6run
vcrun2003
dotnet30
перезагрузка компа
./winetricks d3dxof
devenum
dinрut8
directmusic
directplay
directx9
dxdiagn
dxdiag
d3dx11_43
mfs40
wsh56vb
wsh57
gdiplus
physx
gfw

для некоторых игр (rage, DOOM 3 BFG Edition) нужны xaudio2 компоненты

скачиваем с интернета с баз dll-ок и добавляем библиотеку XAudio2_7.dll в папку system32

и в консоли прописываем
wine- regsvr32 XAudio2_0.dll
...
XAudio2_7.dll

Запускаем ./winetricks далее Select the default wineprefix затем Change settings перед нами откроется окно для правки реестра. Ставим галочки напротив:

ddr=opengll
multisampling= enabled
orm=fbo
psm=enabled
rtlm=auto
glsl=enabled
vsm=hardware
videomemorysize=2048 (выбирете значение ОЗУ вашей видеокарты)
mwo=enabled

перезагружаем комп.
Все вайн готов к работе (если конечно у вас не было ошибок). Можно приступить к настройке и установке torrent-edition игр ;).Более подробно о настройке той или иной игры вы можете прочитать в интернете, по мере тестирования я буду дополнять этот гайд и обновлять его если будет выясняться что-то новенькое по настройкам вайна. Небольшой апдейт. Если ваша мышь в игре дергается на одном месте или вообще ведет себя странно, то попробуйте в winecfg в закладке библиотеки, поиграться с значением библиотеки dinput8 внешняя или встроенная или поменяйте там же порядок загрузки.Как правило это помогает.
P.S Мы поставили dxdiag и поэтому вы можете в консоли попробовать его запустить командой wine dxdiag в консоли, и посмотреть на вращающийся кубик DX
P.P.S Данная статья распространяется как есть, бесплатно и во имя распространения BSD систем. Вы можете копировать полностью и частями все что тут расписано даже без моего авторства или за авторством других лиц.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт 19 окт, 2012 7:11 am 
Не в сети

Зарегистрирован: Чт 14 май, 2009 6:56 pm
Сообщения: 793
Круто, спасибо.
Только вот с недавних пор этот патчик для драйверов в сам пакет вставлен.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Google [Bot], Majestic-12 [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика