PCSX2 это эмулятор игровой консоли PlayStation 2 для PC с открытым исходным кодом, распространяемый под лицензией GPL v2. Сайт проекта - http://www.pcsx2.net/.
История PCSX2
Не секрет, что исходный код большей части эмуляторов различных платформ открытый. Это позволяет их дорабатывать любым желающим, и тем самым доводить до совершенства. В итоге, свободные операционные системы, в частности GNU/Linux, имеют богатый набор эмуляторов для очень большого количества платформ и игровых консолей! Краткий обзор различных эмуляторов можно прочитать в журнале Linux Format за Июль 2007 года в статье "Сияй, безумный бриллиант!" (загрузить номер можно по этой ссылке: http://www.linuxformat.ru/download/94.pdf; "Сияй, безумный бриллиант!" написана российским автором и, по мнению автора вот этой статьи, с излишним фанатизмом), также эмуляторы можно обсудить на форуме Эмуляторы для Linux.
Первоначально разработка шла медленно, так как аппаратная часть персональных компьютеров 2000 года не могла осуществить эмуляцию мощной аппаратной части игровой консоли PlayStation 2 (техническая спецификация PlayStation 2 подробно описана здесь: http://en.wikipedia.org/wiki/Playstation_2..._specifications) - эмуляция всегда использует много ресурсов компьютера. Например, чтобы комфортно запускать игры существующими эмуляторами восьмимегагерцового Sega Mega Drive на персональном компьютере, нужен процессор с частотой 60 MHz минимум. Рекомендуется 100 MHz. Тем не менее, эмулятор первой версии PlayStation, был создан довольно быстро.
Прогресс в создании PCSX2 был ступенчатым. Два года тишины и небольших продвижений, затем неожиданно следовал прорыв новых достижений. Не отвлекайтесь на рифму... В 2004 году, например, некоторые игры стали хоть частично и медленно, 2-4 FPS, только меню с половиной картинок, но стали запускаться - было дано начало комфортной эмуляции PlayStation 2 на PC.
В 2006 году очередной прорыв и скачок версии программы эмулятора аж до 0.9.x дал миру возможность запускать много игр на мощных компьютерах (рекомендовался двухъядерный процессор и производительная игровая видеокарта). В 2008 году появился форк эмулятора, 1.0.0395 Playground, основанный на версии 0.9.5 SVN (стабильной версией к тому времени уже больше года являлся 0.9.4), который работает ещё медленнее 0.9.4 и 0.9.5 засчёт улучшения совместимости с 64-битным процессором PowerPC. До этого проект PCSX2 присоединился к программе Google Code.
И вот, наконец, 3 января 2009 года появился новый, стабильный релиз 0.9.6, в котором было переписано много кода (большое спасибо команде Playground!). Код был очень хорошо оптимизирован, системные требования снизились по сравнению с 0.9.4 и 0.9.5 SVN (вполне достаточно и одного ядра на центрально процессоре), и теперь эмулятор способен запускать большинство самых популярных игр.
Автор этой статьи тестировал новую версию на 32-битном Gentoo с видеокартами nVidia GeForce 7600GT, и на nVidia GeForce 8500GT. Если с первой FPS редко, но опускался ниже 20, держась на отметке 28-29, то с последней он стабильно держался на 33-40 в процессе игры, лишь иногда, в динамике, опускаясь чуть ниже 24. Для 60 FPS стоит поискать видеокарту, которая в 2 раза производительнее GeForce 8500GT (которую сегодня можно купить по цене 2000 рублей)... или поставить две такие видеокарты в режиме SLI! Было испробовано и долгое время протестировано около 20-ти игр, большая часть которых не запускалась с PCSX2 0.9.4. Запустились все, и лишь одна игра, Guitar Hero III, не заработала, показав только вступительные видеоролики!
Пара слов о 64-битной сборке
К сожалению, разработчики эмулятора отказались поддерживать 64-битную версию PCSX2, решив сосредоточиться на 32-битных версиях для Windows и GNU/Linux (http://forums.pcsx2.net/thread-2621-page-1.html), и в одном из декабрьских релизов в 64-битных дистрибутивах GNU/Linux перестал компилироваться ключевой компонент программы PCSX2, который так и называется. Автору статьи это кажется странным, ведь ранее именно 64-битная сборка давала большую производительность, чем 32-битная! Поэтому данное руководство ориентировано на пользователей 32-битных дистрибутивов GNU/Linux, пользователям 64-битных дистрибутивов GNU/Linux стоит попробовать компиляцию с ключом -m32, предварительно установив необходимые 32-битные библиотеки, или загрузить ноябрьский PCSX2 0.9.5 SVN...
Скачиваем исходный код, или бинарную сборку
Итак, что нам потребуется? Нам потребуется загрузить из Интернета последнюю, или стабильную, версию эмулятора PCSX2. Стабильная 32-битная прекомпилированная версия расположена по ссылке: http://www.pcsx2.net/files/12309. Если есть желание попробовать последнюю редакцию программы, загрузить её исходный код поможет команда
Код: Выделить всё
svn checkout http://pcsx2.googlecode.com/svn/trunk/ pcsx2-read-only(svn должен быть установлен; выполнять в новой директории необязательно - директория pcsx2-read-only создастся сама). Загрузить исходный код стабильной версии эмулятора также можно через SVN, указав в команде дополнительно, что нужно загрузить редакцию номер 1 (-co 1). Затем его можно заархивировать, чтобы распаковывать и обновлять той же командой (в распакованном виде исходный код всегда занимает слишком много места), чтобы всегда иметь новую версию эмулятора. Бинарный вариант можно запускать сразу (об этом вы прочитаете в главе сразу после следующей). А исходный код нужно скомпилировать!
Удовлетворение зависимостей
Без них программа работать откажется! На главной странице проекта написано, что нам нужен [bi]OpenGL[b] (поставляемый либо с Mesa3D, либо с драйвером видеокарты - не забудьте установить devel-версию пакета в случае разделения в дистрибутиве пакетов программ на основной пакет и его devel-версию)
nVidia Cg (вас никто не обязывает использовать видеокарту nVidia, nVidia Cg заработает с любой видеокартой, будь то nVidia, ATi, S3 или Intel - хотя, в случае использования последней сегодня, сомнительно, что эмулятор PCSX2 заработает; если в репозитарии вы не найдёте nVidia Cg, загрузить эту программу можно на этой странице, http://developer.nvidia.com/object/cg_toolkit.html, версии для 32- и 64-битных версий Windows и GNU/Linux, а также для 32-битного Solaris; как установить программу правильным образом автор этой статьи не знает: он распаковывает архив и по-очереди копирует содержимое каждой директории в их аналоги в /usr, чтобы не нарушить права доступа к директориям - поправьте его, если знаете правильный способ, пожалуйста!)
gtk2 libbz2 libjpeg glew-dev libxxf86vm-dev x11proto-xf86vidmode automake и autoconf (версия больше или равна 1.9) libasound-dev joystick. Для компиляции из исходного кода также необходимы devel-версии пакетов этих программ. А кроме зависимостей, указанных на главной странице проекты, проверьте наличие установленных libsdl1.2, gtk+ glib, gio-2.0, и devel-версий этих пакетов этих программ для компиляции из исходного кода.
Зависимости удовлетворены! Но если при компиляции будет ошибка, не описанная в этом руководстве, предлагаю воспользоваться поиском в Интернете для решения проблемы - скорее всего, вам необходимо удовлетворить зависимости, доустановив недостающий devel-компонент какой-нибудь программы. Автор этой статью пробовал описанный набор зависимостей на Ubuntu 8.10 i386 и Gentoo с новейшими проприетарными драйверами nVidia, и nVidia Cg 2.1 - компиляция завершилась успешно и эмулятор работает.
Компиляция из исходного кода
Открываем директорию pcsx2-read-only командой "cd pcsx2-read-only", запускаем компиляцию командой "sh build.sh". Ждём несколько минут, пока компиляция не завершится успешно!
Автор этой статьи столкнулся с проблемой. Компонент ZeroGS, который отвечает за графику, просто отказался компилироваться! Дистрибутивы Ubuntu 8.10, Gentoo. Решение этой проблемы описано по ссылке http://www.gentoo-wiki.info/PCSX2. В статье сказано, что нужно найти в директории plugins/zerogs и открыть в любимом текстовом редакторе файл build.sh, затем закомментировать строки (поставить в началах этих строк символ #):
Код: Выделить всё
if [ $# -gt 0 ] && [ $1 = "all" ]
thenПосле этого нужно заменить ./configure на bash configure, и закомментировать ещё эти строки:
Код: Выделить всё
else
make $@
fiПродолжить компиляцию, повторить с каждым засбоившим компонентом. Перед компиляцией последнего, и главного, компонента "PCSX2", нас предупредят, что на 64-битных дистрибутивах GNU/Linux он не соберётся. В чём автор этой статьи, собственно, сражу же и убедился! Если использовать 32-битный дистрибутив GNU/Linux'а, компиляция программы завершается успешно.
После завершения компиляции исходного код можно удалить, оставив бинарные файлы. Чтобы он не занимал ценное место на накопителе.
Запуск эмулятора
Мы получили собранный PCSX2, что надо сделать дальше? Запускать игру ещё рано, так как не хватает одного компонента - BIOS от PlayStation 2. Свободная реализация его пока не написана (а вот образы карт памяти, наоборот, написали в PCSX 0.9.6, и они работают), поэтому нужно использовать нативный. Где его взять? Единственный легальный способ получить BIOS игровой консоли PlayStation 2 - это переписать его с игровой консоли PlayStation 2, принадлежащей лицу, которое собирается совершить данное действие. Для этого есть специальный софт и оборудование. Мы не ищем лёгких путей, не правда ли? Однако это делать незачем - BIOS можно скачать из Интернета. Но этот способ незаконный. Я не буду говорить вам ссылку - ищите сами!
Полученный каким-либо путём BIOS нужно положить в директорию bios.
Запуск игр
Готово! Вот теперь можно спокойно запускать игры! Так, для начала запустим эмулятор! Заходим в директорию с собранной программой и выполняем sh pcsx2, или ./pcsx2. Если ./pcsx2 не работает, нужно присвоить файлу значение исполняемого, например, так:
Код: Выделить всё
chmod a+x pcsx2Рекомендую запускать эмулятор именно так, из директории, где он расположен. Если просто запускать кликами мыши из оболочки, то наблюдаются сбои. Не показывается картинка приветствия, и ещё что-то малоприятное... Настраиваем джойстик, указываем директорию CD-привода или образа диска, пробуем поэкспериментировать - поменять настройки графического плагина ZeroGS. Нажимаем первый пункт меню, и выбираем Run CD... Удачной игры!
P.S. Надеюсь, вскоре открытый вариант BIOS будет дописан, и PCSX2 наконец-то войдёт в репозитарии дистрибутивов! И что Guitar Hero III всё же запустится под Wine или PCSX2.
Если вы хотите компилировать PCSX2 в Windows, вам поможет вот это Wiki-руководство (на английском): http://code.google.com/p/pcsx2/wiki/CompileGuideForWindows. Правда, необходимо будет скачать массу программ. Компилятор размером почти с DVD-диск, доступный для работы ровно 60 дней, DirectX SDK... Для того, чтобы скомпилировать 12-мегабайтную программу с плагинами! Нам это не надо. Разрабатываемая версия PCSX2 иногда выкладывается на официальном сайте проекта - в архиве только exe-файл приложения, без плагинов.