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.