ePSXe 1.9.0 (Эмулятор консоли Sony Playstation One) [Инструкция]

Автор CoolAller, 27 апреля 2014, 01:10:31

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

CoolAller

Всем привет!

Специально для тех, кто не хочет читать всю простыню ниже, а просто хочет скачать и пользоваться, вот инструкция по установке и запуску нативного эмулятора ePSXe 1.9.0:

1.) Качаем сам эмулятор ePSXe с сайта разработчика.
2.) Если не установлен пакет libsdl-ttf2.0-0 (доступен из репозитория), то устанавливаем его, так как без него эмулятор не запустится.
3.) Ищем в интернете Bios, например этот: scph1001.bin (ссылку наверно давать нельзя ибо варез, но нагугливается без проблем)
4.) Качаем плагин для видео: P.E.Op.S./Pete's MesaGL Linux PSX GPU и звука: P.E.Op.S. Linux OSS/ALSA PSX SPU, лучше от P.E.Op.S. так как они обеспечивают неплохую совместимость и качество даже со свободными драйверами. Затем все это распаковываем и раскладываем по соответствующим директориям эмулятора. Скачанный Bios соответственно помещаем в папку "bios", плагины в папку "plugins", конфиги от плагинов в папку "cfg".
5.) Даем права на папку ePSXe со всем ее содержимым, например командой: sudo chmod -R 777 ePSXe
Далее, по желанию устанавливаем пакеты необходимые для работы меню настроек плагинов в графическом режиме, так как эмулятор на GTK 1.2 (в принципе это делать необязательно, так как можно настраивать плагины и через текстовые конфигрурационные файлы, которые мы поместили в папку cfg. В самих конфигурационных файлах плагинов есть довольно внятные пояснения каждой опции, но для удобства использования вот ссылки на пакеты):

6.) libglib1.2ldbl_1.2.10-19_i386.deb

7.) libgtk1.2-common_1.2.10-18.1_all.deb

8.) libgtk1.2_1.2.10-18.1_i386.deb   

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

Вот собственно и все. Альтернатива ePSXe - pcsxr (доступна из репозитория). Для более стабильной работы pcsxr нужно использовать Bios от Sony.

________________________________________________________________________________________________________________________________________________________________________________________________________
Не так давно увидел свет новый релиз эмулятора ePSXe 1.9.0 и собственно возник вопрос не столько по эмулятору, сколько по необходимым библиотекам, которые отсутствуют в репах и которые нужны для его нормальной работы, а именно: libgtk1.2. Без этой библиотеки эмулятор не открывает окно настроек плагинов:

Цитироватьerror while loading shared libraries: libgtk-1.2.so.0: cannot open shared object file: No such file or directory

Хотя это и не рекомендуется, но я скачал пакет libgtk1.2_1.2.10-18.1_i386.deb, который при попытке установки рапортует, что требуется  libgtk1.2-common, который я уже не стал искать, так как скорее всего это приведет к неразрешимым или поломанным зависимостям. В настоящий момент в репах присутствуют libgtk2.0-0 и libgtk-3-0, но программа хочет именно libgtk1.2. Собственно вопрос, можно ли что-то с этим сделать? Пробовал создавать линк на libgtk-3.so.0 с именем libgtk-1.2.so.0, не прокатило. 

Собственно этих плясок с бубном и не было бы, так как все таки эмуль запускается (правда после установки libsdl-ttf2.0-0) и плагины можно конфигурять через текстовые *cfg файлы, но там присутствуют не все настройки доступные через GUI, либо они просто не описаны.
И как раз нет нужной опции чтения звуковых дорожек CDDA. Стандартный встроенный плагин ePSXe Core Sound 1.7.0 вообще не имеет текстового файла настройки *cfg, поэтому как он должен выглядеть и какие команды должны в нем содержаться неизвестно. С встроенным звуковым плагином косяк с CDDA - звук хрипит. В текстовых конфигах плагинов от P.E.Op.S. - Linux OSS/ALSA PSX SPU не содержится описания команд для включения CDDA, а как я уже сказал настройки через GUI не запускаются.

PS. Еще объясните мне пожалуйста почему в linux'е, в отличие от других OS, вечная проблема с выходом новых версий библиотек, которые по сути должны быть взаимозаменяемыми?

ferum

Думаю что в виндах вы бы не стали запариваться как крякнуть ту или иную платную программу или игрушку " возьмите из архива файлик с именем таким то и положите туда то и будет вам счастье". В локальном измерении линукс не сложнее . Пакет с либой вы уже нашли, что вам мешает тупо открыть его через file-roller при этом вы ещё и путь увидите куда он инсталируется, взять из него libgtk-1.2.so.0 и подсунуть туда , где игрушка её ищет. На край дать ей права.
Русские дебианщики против цифрового слабоумия !

sandaksatru

CoolAller, вы точно скачали и запускали версию 1.9.0? У меня всё отлично запустилось, только пришлось ещё поставить пакет libsdl-ttf2.0-0. А вашего libgtk-1.2.so.0 у него даже в зависимостях нет! Вот список всех зависимостей:

ePSXe 1.9.0-alpha has been compiled Ubuntu and, besides the libriaries which the video and sound plugins need, requires the following libraries

   linux-gate.so.1 =>  (0xb77d0000)
   libncurses.so.5 => /lib/i386-linux-gnu/libncurses.so.5 (0xb7792000)
   libtinfo.so.5 => /lib/i386-linux-gnu/libtinfo.so.5 (0xb7773000)
   libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb776d000)
   libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb7757000)
   libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb7623000)
   libgtk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 (0xb71bb000)
   libgdk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 (0xb710c000)
   libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xb70bc000)
   libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xb6fc3000)
   libasound.so.2 => /usr/lib/i386-linux-gnu/libasound.so.2 (0xb6ed1000)
   libSDL-1.2.so.0 => /usr/lib/i386-linux-gnu/libSDL-1.2.so.0 (0xb6e36000)
   libSDL_ttf-2.0.so.0 => /usr/lib/i386-linux-gnu/libSDL_ttf-2.0.so.0 (0xb6e2f000)
   libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb6e13000)
   libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 (0xb6e10000)
   libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6c66000)
   /lib/ld-linux.so.2 (0xb77d1000)
   libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb6c45000)
   libpangocairo-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0 (0xb6c38000)
   libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xb6c31000)
   libatk-1.0.so.0 => /usr/lib/i386-linux-gnu/libatk-1.0.so.0 (0xb6c11000)
   libcairo.so.2 => /usr/lib/i386-linux-gnu/libcairo.so.2 (0xb6b46000)
   libgdk_pixbuf-2.0.so.0 => /usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 (0xb6b25000)
   libgio-2.0.so.0 => /usr/lib/i386-linux-gnu/libgio-2.0.so.0 (0xb69ce000)
   libpangoft2-1.0.so.0 => /usr/lib/i386-linux-gnu/libpangoft2-1.0.so.0 (0xb69a1000)
   libpango-1.0.so.0 => /usr/lib/i386-linux-gnu/libpango-1.0.so.0 (0xb6957000)
   libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xb6923000)
   libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb68f7000)
   libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb68e5000)
   libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xb68da000)
   libXinerama.so.1 => /usr/lib/i386-linux-gnu/libXinerama.so.1 (0xb68d6000)
   libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xb68c6000)
   libXrandr.so.2 => /usr/lib/i386-linux-gnu/libXrandr.so.2 (0xb68bd000)
   libXcursor.so.1 => /usr/lib/i386-linux-gnu/libXcursor.so.1 (0xb68b2000)
   libXcomposite.so.1 => /usr/lib/i386-linux-gnu/libXcomposite.so.1 (0xb68ad000)
   libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xb68a9000)
   libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xb68a2000)
   libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb6866000)
   librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb685d000)
   libpulse-simple.so.0 => /usr/lib/i386-linux-gnu/libpulse-simple.so.0 (0xb6857000)
   libpulse.so.0 => /usr/lib/i386-linux-gnu/libpulse.so.0 (0xb6809000)
   libcaca.so.0 => /usr/lib/i386-linux-gnu/libcaca.so.0 (0xb673e000)
   libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb66a4000)
   libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb66a0000)
   libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb6698000)
   libpixman-1.so.0 => /usr/lib/i386-linux-gnu/libpixman-1.so.0 (0xb6600000)
   libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xb65d6000)
   libxcb-shm.so.0 => /usr/lib/i386-linux-gnu/libxcb-shm.so.0 (0xb65d2000)
   libxcb-render.so.0 => /usr/lib/i386-linux-gnu/libxcb-render.so.0 (0xb65c8000)
   libgmodule-2.0.so.0 => /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 (0xb65c2000)
   libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xb65a3000)
   libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xb658b000)
   libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xb6561000)
   libpulsecommon-1.1.so => /usr/lib/i386-linux-gnu/libpulsecommon-1.1.so (0xb64fb000)
   libjson.so.0 => /usr/lib/i386-linux-gnu/libjson.so.0 (0xb64f3000)
   libdbus-1.so.3 => /lib/i386-linux-gnu/libdbus-1.so.3 (0xb64aa000)
   libslang.so.2 => /lib/i386-linux-gnu/libslang.so.2 (0xb638a000)
   libncursesw.so.5 => /lib/i386-linux-gnu/libncursesw.so.5 (0xb635a000)
   libwrap.so.0 => /lib/i386-linux-gnu/libwrap.so.0 (0xb634f000)
   libsndfile.so.1 => /usr/lib/i386-linux-gnu/libsndfile.so.1 (0xb62dd000)
   libasyncns.so.0 => /usr/lib/i386-linux-gnu/libasyncns.so.0 (0xb62d6000)
   libnsl.so.1 => /lib/i386-linux-gnu/libnsl.so.1 (0xb62bc000)
   libFLAC.so.8 => /usr/lib/i386-linux-gnu/libFLAC.so.8 (0xb626e000)
   libvorbisenc.so.2 => /usr/lib/i386-linux-gnu/libvorbisenc.so.2 (0xb60f5000)
   libvorbis.so.0 => /usr/lib/i386-linux-gnu/libvorbis.so.0 (0xb60ca000)
   libogg.so.0 => /usr/lib/i386-linux-gnu/libogg.so.0 (0xb60c2000)
[свернуть]

ЦитироватьPS. Еще объясните мне пожалуйста почему в linux'е, в отличие от других OS, вечная проблема с выходом новых версий библиотек, которые по сути должны быть взаимозаменяемыми?
О какой проблеме вы говорите? Если про ту версию, которая ставится в имени библиотеки - то это указание на то, что она кардинально отличается от старой. Например, libc6 версии 2.18 полностью совместима с программами, которой требуется версия libc6 2.13. А если вы откопаете окаменелость, которой требуется только libc5, с libc6 она уже не будет работать, но вы сможете дополнительно поставить последнюю версию libc5 рядом с libc6, и система у вас от этого не пострадает. Что-то ничего подобного в винде я не видел)

CoolAller

#3
Цитата: ferum от 27 апреля 2014, 12:35:57
открыть его через file-roller при этом вы ещё и путь увидите куда он инсталируется, взять из него libgtk-1.2.so.0 и подсунуть туда , где игрушка её ищет. На край дать ей права.
Уже делал так, эмулятор начинает ругаться на отсутствие другой либы и подозреваю, что после получения ее будет ругаться еще на что-то. Скорее всего понадобится еще пакет libgtk1.2-common, который тянет за собой еще один пакет тоже отсутствующий в репах, а тот другой еще один и т.д.

Сообщение объединено: 27 Апрель 2014, 23:09:20

Цитата: sandaksatru от 27 апреля 2014, 13:48:01
вы сможете дополнительно поставить последнюю версию libc5 рядом с libc6, и система у вас от этого не пострадает. Что-то ничего подобного в винде я не видел)
Как показывает практика, если из реп что-то удалено, то не случайно, скорее всего это вызовет конфликт с другими либами или приведет к неразрешимым зависимостям.

Сообщение объединено: 27 Апрель 2014, 23:10:23

Цитата: sandaksatru от 27 апреля 2014, 13:48:01
У меня всё отлично запустилось, только пришлось ещё поставить пакет libsdl-ttf2.0-0. А вашего libgtk-1.2.so.0 у него даже в зависимостях нет!

Пакет  libsdl-ttf2.0-0 я тоже установил, но это не вызвало затруднений, он пока есть в репах поэтому я об этом не писал, (сейчас добавил в шапку темы). Вы запустите эмулятор в терминале и попробуйте нажать настройки плагинов и увидите то о чем я говорю. Только запускать из папки с программой: ./epsxe. Настройки не запустятся, а в терминале у вас выведется сообщение:
Цитироватьerror while loading shared libraries: libgtk-1.2.so.0: cannot open shared object file: No such file or directory

sandaksatru

Цитата: CoolAller от 27 апреля 2014, 23:05:41
А вы запустите эмулятор в терминале и попробуйте нажать настройки плагинов и увидите то о чем я говорю. Настройки не запустятся, а в терминале у вас выведется сообщение:
Цитироватьerror while loading shared libraries: libgtk-1.2.so.0: cannot open shared object file: No such file or directory
Не могу найти этой опции. В верхнем меню: File Run Config Options Help. В меню Options только две строки "Auto load ppf files" и "Cheats codes". Куда смотреть?

CoolAller

#5
Цитата: sandaksatru от 27 апреля 2014, 13:48:01
А если вы откопаете окаменелость, которой требуется только libc5, с libc6 она уже не будет работать
А вот какого спрашивается она не будет работать, если библиотеки должны быть взаимозаменяемые в рамках новых версий! Ну или на худой конец не должны конфликтовать со старыми.

Сообщение объединено: 27 Апрель 2014, 23:23:53

Цитата: sandaksatru от 27 апреля 2014, 23:17:40
Не могу найти этой опции. В верхнем меню: File Run Config Options Help. В меню Options только две строки "Auto load ppf files" и "Cheats codes". Куда смотреть?
Config->Video->Configure или Config->Sound->Configure

Сообщение объединено: 27 Апрель 2014, 23:29:30

Можно попробовать встроенный звуковой плагин ePSXe Core Sound 1.7.0, а можно P.E.Op.S. Linux OSS/ALSA PSX SPU
Вот видеоплагин, думаю кому-то будет полезен - P.E.Op.S./Pete's MesaGL Linux PSX GPU
Bios не выкладываю, ибо варез, да и нагуглить не проблема.

Сообщение объединено: 27 Апрель 2014, 23:46:31

В общем поставил я следующие пакеты из Debian Squeeze :

1) libglib1.2ldbl_1.2.10-19_i386.deb

2) libgtk1.2-common_1.2.10-18.1_all.deb

3) libgtk1.2_1.2.10-18.1_i386.deb

После установки этих пакетов настройки запускаются.

sandaksatru

Цитата: CoolAller от 27 апреля 2014, 23:19:47
А вот какого спрашивается она не будет работать, если библиотеки должны быть взаимозаменяемые в рамках новых версий! Ну или на худой конец не должны конфликтовать со старыми.
libc6 вышла в 1996 году, libc.so.5 вообще был её временным форком, зачем его хранить в репозиториях? Если в названиях библиотек стоят разные цифры, значит это разные библиотеки. Если библиотека не меняет название, значит её новые версии полностью совместимы с программами, которые написаны с использованием более старых версий библиотек. А новые версии .so файлов вы спокойно можете держать рядом со старыми (например, libc.so.5 с libc.so.6), они в лежачем положении друг другу не мешают  ;D Чтобы понять почему так происходит, вам нужно изучить азы программирования под linux.

Вы говорите "linux'е, в отличие от других OS", хорошо. Скопируйте .*dll  в папке \Windows\System32 из семёрки в ХР с подтверждением всех замен и перезагрузитесь. Фотку можете скинуть сюда)) В Линуксе же, в отличие "другой оС", если скопировать *.so* папок /lib/* и /usr/lib/* из семёрки в squeeze, вы получите проблемы лишь со строгими зависимостями, т.е. с приложениями, которым требуется конкретная версия какой-то библиотеки.

По теме: при нажатии на "configure" ничего не происходит, никаких сообщений в терминале не появляется, конфиги не создаются. Поскольку ePSXe хоть и имея версию 1.9.0, но по заявлению разработчиков до сих пор остаётся альфой, распространяется в виде готового бинарника, а в списке зависимостей указанной вами библиотеки не существует, можно сделать вывод, что это является багом программы.

CoolAller

#7
Цитата: sandaksatru от 28 апреля 2014, 00:04:52
Скопируйте .*dll  в папке \Windows\System32 из семёрки в ХР с подтверждением всех замен..

Это не одно и тоже, так как программы работавшие со старой библиотекой будут работать и с новой в той же "семерке", хотя я конечно не отрицаю возможных случаев частичной несовместимости, для этого и был сделан "compatibility mode", который худо-бедно решает эту проблему, но чаще всего все работает и без него. Но все равно мне не понятно, если конфликтов старые библиотеки не вызывают, то зачем их удалять из реп нарушая при этом совместимость с программами.

sandaksatru

Цитата: CoolAller от 28 апреля 2014, 00:07:29
Но все равно мне не понятно, если конфликтов старые библиотеки не вызывают, то зачем их удалять из реп нарушая при этом совместимость с программами.
Скачанные вами библиотеки лежали в архивах Lenny, и то уже в нём лежали скорее для поддержки совместимости с некоторыми ископаемыми программами. Убраны были за ненадобностью, потому что я уже давно не слышал, что какое-либо современное приложение использовало GTK 1.2 !!! Если держать в основном репозитории все старые версии, то он только для одной архитектуры будет занимать не 10 DVD, а 100.

Ставить в систему пакеты из разных выпусков не рекомендуется, потому что если вы не знаете что в них конкретно и зачем надо, то можете поломать систему. Из-за зависимостей и не только. Если в пакете просто несколько .so файлов, которых не было в системе, то можно.

CoolAller

#9
Ладно, с настройками будем считать вопрос решенным. На всякий случай вот еще один костыль о котором знаю, думаю кому-то тоже пригодится - для переключения на Analog, чтобы работали стики джойстика нужно нажимать кнопку F5 (это кстати нигде не прописано в мануале и нет такой опции в настройках). Нажимать нужно запустив игру.

sandaksatru

#10
Цитата: CoolAller от 27 апреля 2014, 23:19:47
После установки этих пакетов настройки запускаются.
Ради интереса скачал их тоже, поставил - никакого эффекта  ;D У меня настройки вообще не запускаются.

Кстати, если вдруг нужно использовать версии библиотек отличные от установленных в системе, но имеющие то же название, что и у установленных, можно с помощью dpkg-deb распаковать .deb архивы в свой пользовательский каталог и запускать приложение по скрипту:

#!/bin/sh
export LD_LIBRARY_PATH=/путь_до_папки_с_библиотеками:$LD_LIBRARY_PATH
exec /путь_до_программы/имя_программы

CoolAller

#11
Цитата: sandaksatru от 28 апреля 2014, 00:44:12
Ради интереса скачал их тоже, поставил - никакого эффекта  ;D У меня настройки вообще не запускаются.

Права поставь: sudo chmod -R 777 "папка с эмулятором"
Проверь наличие этой долбаной библиотеки: whereis libgtk-1.2.so.0

Если используется 2 монитора, то настройки почему-то появляются на втором мониторе.

sandaksatru

Цитата: CoolAller от 28 апреля 2014, 00:51:03
Права поставь: sudo chmod -R 777 "папка с эмулятором"
Безрезультатно. Да и ляд с ним, я его всё равно использовать не собирался. Скачивал только ради интереса, на баги посмотреть  ;D

CoolAller


sandaksatru

Пожалуйста =) Попробовал сторонние аудио и видео плагины - у них окно конфигурации запускается. Оно и вправду на GTK 1.2!!!  :D :o