LINUX.ORG.RU
ФорумGames

Установка PCSX2


0

2

Как известно, у проекта PCSX2 есть бета-версии, но лучше всего выполнять установку из текущего SVN, не забывая правда о том, что иногда разработчики ломают совместимость с Linux, а archum42 её возвращает.

Меня вот тоже не устраивает бета-версия, я читаю новости о zzogl и я весь взбудоражен тем, что есть в бете!

Проблема в том, что в декабре 2008 года авторы программы «бросили» 64-битную сборку: они иногда ломали её поддержку, им надоело, и они переписали кое-какой кусок кода на 32-битном ассемблере. При этом все плагины спокойно работали со старой 64-битной сборкой PCSX2, собираясь без ошибок! Изменения коснулись только ядра программы, компонента pcsx2. Но весной 2010 года разработчики спохватились и поломали 64-битную сборку и в плагинах.

У меня вопрос. Раньше собрать 32-битный pcsx2 в 64-битной системе было нельзя. Плагины собирались, программа - нет. В 1300-каком-то коммите сообразили включить -m32 в скрипты сборки и всё стало собираться! А сразу после первой беты для Linux (а может и второй), в общем после коммита 1736 скипты сборки были удалены, вместо них теперь среда сборки codeblocks (состоялся переезд программы с GTK на wxWidgets) и на всякий случай cmake.

Как теперь компилировать в 64-битной системе? На сайте советуется chroot в 32-битное окружение. А как ещё? Просто сейчас последние коммиты уже 42xx, а у меня всё ещё 1736.

P.S. Из-за перезда на wxWidgets проявились проблемы с запуском официального бета-бинарника для Linux. Раньше он везде работал (и стабильный 0.9.6 работает). Теперь там нет GTK и у предпоследнего бета-бинарника был 1). Новейший glibc из генты 2). нестандартные имена библиотек для wxWidgets, которые непонятно где надо брать. К счастью, последний бинарник исправлен, но тоже проблемный.

P.P.S. Для тех кто хочет пособирать http://code.google.com/p/pcsx2/wiki/CompilationGuideForLinux

Кажется у меня начало кое-что получаться. Потребовался nvidia-cg-toolkit 32-битный. emerge --search nvidia-cg-toolkit выдаёт то что пакет занимает 28 мегабайтов, а emerge -av nvidia-cg-toolkit устанавливает только 14, только 64-битный. Странно, на десктопе устанавливались обе версии, а на ноутбуке проблема

Zenitar
() автор топика
Ответ на: комментарий от Zenitar

Если запустится — отпишись, а то новые версии со старым вайном как-то не очень дружат (особенно после того, как они специально для pcsx2 в какой-то версии починили…). А новый поставить тоже неоткуда, ибо дебиан :}

Deleted
()
Ответ на: комментарий от Deleted

Выполни:

svn checkout http://pcsx2.googlecode.com/svn/trunk/ -r 4225 pcsx2-read-only

-r 4225 нужен для того чтобы скомпилировалось: в последнем SVN допустили регрессию.

Потом открой каталог, выполни mkdir build && cd build . Потом cmake ../ . Потом сделай make и увидишь ошибку. Чтобы исправить её, удали в файле CMakeLists.txt текст:

# Print a clear message that 64bits is not supported
# It would avoid compilation failure later.
if(CMAKE_SIZEOF_VOID_P MATCHES "8")
    message(FATAL_ERROR "
    PCSX2 does not support 64bits environment. Please install a 32bits chroot or a 32bits OS.
    PCSX2 have neither no plan to support the 64bits architecture in the future.
    It will need a complete rewrite of the core emulator and a lots of time
    
    However when linux distribution will support properly multi-arch package, it will 
    be at least possible to easily compile and install PCSX2 witout too much hassle (the chroot environment)")
endif(CMAKE_SIZEOF_VOID_P MATCHES "8")

Потом открой pcsx2-read-only/build/CMakeFiles/CMakeCCompiler.cmake и pcsx2-read-only/build/CMakeFiles/CMakeCXXCompiler.cmake и в SET(CMAKE_C_COMPILER_ARG1 "") между кавычками впиши -m32 . Сделай make.

Zenitar
() автор топика
Ответ на: комментарий от Zenitar

В федоре не работает =/

/usr/include/wx-2.8/wx/string.h:827:13: error: ‘wxChar& wxString::operator[](unsigned int)’ cannot be overloaded
/usr/include/wx-2.8/wx/string.h:824:13: error: with ‘wxChar& wxString::operator[](wxStringBase::size_type)’

iSage ★★★★
()
Ответ на: комментарий от iSage

А я думал что это у меня у одного так. Решение проблемы - скачивание пакетов deb для i386 с packages.ubuntu.com, распаковка и запихивание в /usr/lib32 недостающих файлов.

Zenitar
() автор топика
Ответ на: комментарий от Zenitar

Ну, я в федоре завел mock с i686 внутри и там собрал. Один хрен на моем железе тормозит безбожно, так что продолжу на железной соньке играть.

iSage ★★★★
()
Ответ на: комментарий от Deleted

Это была вынужденная мера, у последней беты появился PPA, бинарники подходят и для дебиана. А предпоследняя бета почти ни у кого не запускалась.

Zenitar
() автор топика
Ответ на: комментарий от Zenitar

Слушай, а как заставить его увидеть wxWidgets? Ставил wxGTK, wxPython, вроде версии правильные, но cmake заявляет

Could NOT find wxWidgets (missing: wxWidgets_FOUND)

Проги, зависимые от wxWidgets, ставятся и работают, а pcsx2 упорно его не видит.

Gentoo 64, 32-bit chroot.

Motif ★★
()
Ответ на: комментарий от Motif

Я даже не знаю как сделать 32-битный chroot! Выше я дал способ не использовать chroot для компиляции. Попробуй его. Что касается библиотек, нужны бинарные пакеты emul-*. Или можно скомпилировать вручную. CC=«gcc -m32» CXX=«g++ -m32» ./configure --prefix=/home/zenitur/11 и будут 32-битные библиотеки. Содержимое каталога lib нужно будет запихать в /usr/lib32.

Zenitar
() автор топика
Ответ на: комментарий от Zenitar

chroot - ничего сложного.

http://www.gentoo.org/proj/en/base/amd64/howtos/chroot.xml?style=printable

http://ru.gentoo-wiki.com/wiki/HOWTO_Настройка_32-х_битного_режима_под_AMD64

http://www.gentoo.ru/node/16124

То есть суть в том, что отводишь отдельный каталог, распаковываешь туда stage3 и пишешь скрипт входа, чтобы не набирать постоянно 15 команд. А дальше как обычно.

Проблема в том, что оно не видит wxWidgets и вне chroot. Я пробовал и твой способ - тоже самое. А без wxWidgets не собирается ядро и основные плугины, только -null, -cd и управление. Вот чего ему надо? Остальные проги wxWidgets видят, собираются и работают.

Motif ★★
()
Ответ на: комментарий от Motif

Значит нет 32-битной библиотеки. Если не боишься порушить систему пакетов, то собери её так: CC=«gcc -m32» CXX=«g++ -m32» ./configure --prefix=/home/zenitur/11

В установившихся файлах нужны только файлы в каталоге lib

Zenitar
() автор топика

Можно поинтересоваться, ради любопытства? На каком железе сейчас можно комфортно играть под эмулем? Три года назад на топовой тачке было где-то 5fps на ICO. Поэтому плюнул и купил реальную приставку.

baverman ★★★
()
Ответ на: комментарий от Zenitar

Athlon 64 X2 3800+, 2GB, nvidia 8800GTS. Тормозят даже ролики =/

iSage ★★★★
()
Ответ на: комментарий от Motif

Старую 0.9.6. С ZeroGS 0.97.1. С некоторыми версиями плагинов для клавиатуры падает, с некоторыми работает.

Deleted
()

Пробовал я этот эмулятор ставить на 64бит убунту. Поставил, пришлось либы 32битные ставить и руками кое какие софтлинки делать... Он стал работать, но я не мог потом найти нормальный кошерный РОМ или как там это, в общем биос приставки. И подумал что если бы я был геймером - я бы точно не стал париться а просто купил бы чипованную PS2. Благо это дешево и доступно. В общем сабж не нужен. Просто не нужен и все %-) Поэтому он никогда дальше ужасно кривой альфа версии не уйдет.

anonizmus
()
Ответ на: комментарий от anonizmus

>в общем биос приставки

Слабое у тебя гуглофу :}

он никогда дальше ужасно кривой альфа версии не уйдет


4.2. Уже ушёл.

Deleted
()
Ответ на: комментарий от Zenitar

Да не, ща вспоминаю - потом нашел, но сам эмулятор как то криво работал, то ли какие то плагины глючили, в общем слишком много мучений для рядового юзера что бы это использовать, потом сама приставка то явно удобнее (тем что джойстики, простота)

anonizmus
()
Ответ на: комментарий от iSage

Прелести эмулятора вижу только в сейвах и скорости загрузки. Хотя, не отрицаю, может и артефакты рендера пофиксили за прошедшие года и смотреть на такую картинку действительно стало приятнее, чем на теплоламповую от настоящей железки.

baverman ★★★
()
Ответ на: комментарий от baverman

Для меня вот большой плюс это скриншоты :}

Deleted
()
Ответ на: комментарий от AnDoR

Нет, а можно подробнее? Я знаю только что эти параметры можно вписать в /etc/make.conf, который только у Gentoo есть

Zenitar
() автор топика
Ответ на: комментарий от Zenitar

Не собирается :(

Вопрос с wxWidgets я решил, в chroot собирается, но не стартует. А по твоему методу пишет ошибку:

------------------------------------ In file included from /home/said/Build/pcsx2-read-only/common/include/Utilities/Dependencies.h:182, from /home/said/Build/pcsx2-read-only/common/src/Utilities/PrecompiledHeader.h:21, from /home/said/Build/pcsx2-read-only/common/src/Utilities/AlignedMalloc.cpp:19: /usr/include/wx-2.8/wx/string.h:827: ошибка: ‘wxChar& wxString::operator[](unsigned int)’ cannot be overloaded /usr/include/wx-2.8/wx/string.h:824: ошибка: with ‘wxChar& wxString::operator[](size_t)’ make[2]: *** [common/src/Utilities/CMakeFiles/Utilities.dir/AlignedMalloc.cpp.o] Ошибка 1 make[1]: *** [common/src/Utilities/CMakeFiles/Utilities.dir/all] Ошибка 2 make: *** [all] Ошибка 2 ----------------------------------

То есть опять долбаный wxWidgets, блин. У тебя какая версия?

Motif ★★
()
Ответ на: комментарий от Deleted

ubuntu тебе говоришь не нравится? :)

Добавил я этот ppa, обновился и..

ia32-nvidia-cg-toolkit-pcsx2

nvidia-cg-toolkit-pcsx2

pcsx2-data

pcsx2-data-unstable

Самой программы нет.

//64-бит естественно.

Absolute_Unix
()

Поставил я эту поделку..

absolute_unix@Linux-server /usr/games $ ./pcsx2
./pcsx2: error while loading shared libraries: libwx_baseu-2.8.so.0: cannot open shared object file: No such file or directory

libwxbase-2.8 естественно в системе стоит.

Короче закопайте, программа которая не поддерживает 64-битную систему в 2011 году, это просто позор.

Absolute_Unix
()
Ответ на: комментарий от Zenitar

Поэтому я и не люблю Убунту... Я знаю решение проблемы. Установи wxWidgets из ppa wxWidgets.

ppa wxWidgets не нашел, но нашел ихний официальный репозиторий. Только вот для ubuntu 10.10 он не работает.

Absolute_Unix
()
Ответ на: комментарий от Absolute_Unix

wxWidgets побежден :) Оказалось, что его нет в emul-linux, после подключения библиотек из chroot завелось.

Правда там другие проблемы вылезли :( Xenosaga, ради которой всё затевалось, нормально работает только с DirectX плугинами :(((( А они под wine рушат эмулятор. Грустно.

Хотя, например, в Final Fantasy X играть можно.

Motif ★★
()
Ответ на: комментарий от Absolute_Unix

Надо в 32-битном chroot собрать wxGTK, потом вытянуть оттуда

libwx_baseu libwx_gtk2u_core libwx_gtk2u_adv

в какой-либо каталог, и пускать скриптом типа

#! /bin/sh LD_LIBRARY_PATH=/opt/pcsx2/lib:${LD_LIBRARY_PATH} export LD_LIBRARY_PATH ./pcsx2-dev

Запускается. Final Fantasy X идет вполне себе нормально.

Motif ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.