Денис Колисниченко - Linux-сервер своими руками
Section "Screen"
Identifier "Screen0"
Device "RIVA TNT2"
Monitor "Monitor0"
DefaultDepth 16
Subsection "Display"
Depth 16
Modes "1024x768"
EndSubsection
EndSection
Section "DRI"
Mode 0666
EndSection
Теперь нажмите комбинацию Ctrl+Alt+ Backspace для перезагрузки сервера X. Если вы все сделали правильно, при загрузке вы должны увидеть логотип nVidia. Если компьютер при перезагрузке сервера X зависает, попробуйте отключить поддержку AGP 2х. Если и это не помогло, проверьте, установлена ли библиотека libGlwrapper:
# rpm –qa | grep –i libglwrapper
В случае если эта библиотека не установлена, установите ее:
# rpm –ihv libGLwrapper*
Перед выполнением этой команды нужно перейти в каталог, в котором находятся пакеты RPM вашего дистрибутива. Обычно библиотека libGlwrapper находится на первом диске дистрибутива.
После установки библиотеки выполните команду:
libglwrapper
При запуске некоторых игр (Quake II, Heretic II) у вас могут возникнуть проблемы с библиотекой GL. Устранить их можно с помощью следующих команд:
# rm –rf /usr/X11R6/lib/libGL.so
# rm –rf /usr/X11R6/lib/libGL.so.1
# ln –s /usr/X11R6/lib/libGL.so.nvidia /usr/X11R6/lib/libGL.so
# ln –s /usr/X11R6/lib/libGL.so.nvidia /usr/X11R6/lib/libGL.so.1
Перед этим желательно скопировать куда-нибудь файлы libGL.so и libGL.so.1 для того, чтобы у вас была возможность восстановить их в случае необходимости.
Примечание. Устанавливать драйвер для видеокарт nVidia вам нужно лишь в том случае, если вы планируете использовать игры, разработанные для Linux. Если же вы хотите запускать только Windows-игры, используя эмулятор wine, драйвер можно не устанавливать, поскольку и без него все нормально работает. Правда, при установке драйвера производительность Windows-игр все же повысилась.
21.4. Установка Windows-эмулятора wine
После установки драйверов видеокарты вы уже можете наслаждаться Linux-играми, однако, как я уже писал, игры (имеются в виду хорошие игры) для Linux — это большая редкость. Большинство популярных игр распространяются только в Win32-версии. Поэтому сейчас мы займемся настройкой эмулятора wine, который обеспечит запуск Windows-игр в среде Linux.
Стандартный эмулятор wine входит в состав практически любого дистрибутива, но он не обеспечивает должного уровня эмуляции операционной системы Windows. Для нормальной работы игр для Windows вам потребуется эмулятор winex (и его следующие версии — winex2, winex3). He путайте эмулятор wine с эмулятором winex! Эмулятор winex — это отдельная разработка и, к сожалению, этот эмулятор не является бесплатным — за него нужно платить. Купить данный эмулятор можно на сайте http://www.transgaming.com. При покупке winex у вас появится возможность загрузить уже скомпилированную версию эмулятора в виде пакета rpm. На этом же сайте можно бесплатно загрузить исходный текст эмулятора, но вы потратите много времени на то, чтобы привести исходный код к пригодному для компиляции виду.
Устанавливать эмуляторы нужно в такой последовательности: wine, winex, winex2, winex3. Напомню, что эмулятор wine, скорее всего, уже будет установлен у вас.
21.5. Запуск игр с помощью эмулятора wine
Эмулятор wine гарантированно поддерживает следующие игры:
1. Counter Strike
2. StarCraft
3. Fallout
4. Fallout 2
5. Gunman
6. Quake 2
7. Quake 3
8. Soldier of Fortune
9. Unreal Tournament
10. Red Alert (все версии)
11. Diablo 2
12. Caesar
13. Return to Castle Wolfenstain
14. Star track
15. Kingpin
16. Nox
17. Jadded Alliance
18. 4×4 Evolution
19. American McGee Alice
20. Daikatana
21. Heroes of Might and Magic III
22. Delta Force 1,2
Возможно, у вас будут работать и другие игры.
Перед установкой игры удалите все файлы с расширением reg в подкаталоге .wine домашнего каталога пользователя root:
# rm –rf /root/.wine/*.reg
Запустите сервер Х, если он еще не запущен командой:
startx
Если сервер X загружен, но вы работаете в консоли, перейдите в графический режим и запустите графический эмулятор терминала, например, xterm. Для установки новой игры выполните команду:
# wine install_program
Предположим, что программа установки игры называется setup.exe и находится в корневом каталоге компакт-диска. Для установки такой игры нужно ввести команду:
wine /mnt/cdrom/setup.exe
Игра будет установлена в каталог /usr/local/wine-c/games/<название_игры> или же в каталог /usr/share/wine-c/games/<название_игры>. Узнать, в какой из этих двух каталогов была установлена игра, вы можете, просмотрев файл /root/.wine/.config. В секции Drive С определяются настройки для диска С:
[Drive С]
"Path" = "/usr/share/wine-c"
"Type" = "hd"
"Label" = "MS-DOS"
"Filesystem" = "win95"
Пользовательские настройки эмулятора находятся в файле config, который находится в каталоге $НОМЕ/.wine. Глобальные настройки эмулятора вы можете изменить в файле /etc/wine.reg.
После установки игры перейдите в каталог, в который была установлена игра, то есть в каталог /usr/share/wine-c/games/<название_игры>/ Попробуйте запустить ее, поочередно используя команды:
wine game.exe
winex game.exe
winex2 game.exe
winex3 game.exe
Естественно, вместо параметра game.exe нужно подставить реальное имя исполняемого файла игры. Данные команды нужно вводить в терминале X, например, kterm, если вы используете KDE. Если игра не запустилась, ее следует удалить. Для этого просто удалите каталог /usr/share/wine-c/games/<название_игры>. Если игра запустилась, вы должны увидеть окно эмулятора wine (см. рис. 21.1).
Рис. 21.1. Окно эмулятора wine
Желательно сразу же открыть окно настроек программы и поэкспериментировать с настройками видеорежимов. Например, Unreal Tournament у меня намного быстрее работал при использовании программного рендеринга (Software Rendering), чем при использовании драйвера Direct3D.
Теперь приступим к настройке запуска игры. Скопируйте каталог /root/.wine в каталог /root/.wine_<название_игры>. Создайте файл /root/название_игры>_run:
touch /root/<название игры>_run
Содержимое этого файла зависит от эмулятора, с помощью которого запустилась игра (wine, winex, winex2).
Для wine содержимое файла будет таким:
export WINEPREFIX=$HOME/. wine_<название_игры>
cd "/usr/local/wine-c/games/<название_игры>"
wine <исполняемый файл игры> <параметры>
Для winex:
export LD_LIBRARY_PATH=/usr/local/winex/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/winex/bin:$PATH
export WINEPREFIX=$HOME/ .wine_<название игры>
cd "/usr/local/wine-c/games/<название_игры>"
winex <исполняемый файл игры> <параметры>
Для winex2:
export LD_LIBRARY_PATH=/usr/local/winex2/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/winex2/bin:$PATH
export WINEPREFIX=$HOME/.wine_<название игры>
cd "/usr/local/wine-c/games/Пазвание игры>"
winex2 <исполняемый файл игры> <параметры>
Введите команду для изменения прав доступа:
chmod u+x < название игры >_run
Теперь для запуска игры можно использовать команду /root/<название игры>_run.
После установки всех игр удалите библиотеки Microsoft, которые будут установлены в каталог /usr/local/wine-c/system. Иногда эти библиотеки устанавливаются в другие каталоги, поэтому внимательно изучите содержимое каталога /usr/local/wine-c и удалите лишние файлы.
Выполните команду chmod –R o+w /usr/local/wine-c. Эта команда установит права доступа к каталогу /usr/local/wine-c, в котором производятся запись в играх и сохранение конфигураций пользователям.
Для включения полноэкранного режима установите значение переменной файла /root/.wine/config Managed, равное N, а также закомментируйте переменную Desktop:
; Allow the window manager to manage created windows "Managed" = "N"
; Use a desktop window of 640x480 for Wine
; "Desktop" = "800x600"
После того, как все будет настроено, создайте пользователя game. Используя эту учетную запись, посетители игрового зала будут регистрироваться в системе. Скопируйте все файлы настроек в каталог /home/game и установите должным образом права доступа. Для этого можете использовать следующие команды:
ср /root/*_run /home/game
cd /home/game
chmod o+x *_start
cd /root/Desktop/*/home/game/Desktop
chown –R game:game /home/game/Desktop
mkdir /home/game/.kde/apps/share/WINE
cp –R /root/.kde/apps/share/WINE /home/game/.kde/apps/share/WINE
chown –R game:game /home/game/.kde/apps/share/WINE
Теперь пользователь game сможет запускать установленные вами игры. Как всегда существует одна маленькая деталь, о которой постоянно забываешь: попробуйте объяснить посетителю, не знающему даже как правильно завершить работу в Windows 98, что такое терминал xterm и что для запуска игры quake нужно ввести команду quake_run. Вы правы, это будет довольно сложно, поэтому, чтобы не усложнять себе жизнь, каждый день отвечая на вопросы наподобие: «а как запустить этот самый xterm?» и чтобы не шокировать посетителей, создайте на рабочем столе ярлыки для всех файлов *_run.