Gràcies a l’emulador pSX de l’antiga PlayStation, podrem gaudir des de la nostra distribució preferida de algunes de les joies que hem oblidat amb l’arribada de la PlayStation 3. Em refereixo com no a jocs com Metal Gear Solid, Syphon Filter, Final Fantasy VII…
Cal dir que pSX no és programari lliure, tot i això sembla que és l’emulador amb versió per a GNU/Linux que suporta un major nombre de jocs. Us podeu descarregar els fitxers executables directament de http://psxemulator.gazaxian.com/
Un cop descarregat el paquet us situeu amb la terminal a la carpeta on es troba el fitxer i executeu l’ordre:
tar -jxvf pSX_linux_(versió).tar.bz2
on (versio) és la versió del programa descarregat.
Per poder executar l’emulador sense problemes s’hauran d’instal·lar les llibreries necessàries:
sudo apt-get install libgtkglextmm-x11-1.2-0 libgtkglext1 libxml2
Actualització: En sistemes de 64 bits és possible que la llibreria libgtkglext no estigui disponible, almenys sota Ubuntu, per saber com instal·lar-la referiu-vos a aquest enllaç: http://ubuntuforums.org/showthread.php?t=1299513
Això sota Ubuntu 10.10, n’he omès algunes perquè ja solen venir instal·lades per defecte, com alsa i gtk, tot i això, si utilitzeu una distribució amb entorn d’escriptori no basat en les llibreries gtk, com KDE, és necessari executar la següent:
sudo apt-get install libgtk
Si sou en derivats d’Ubuntu.
Ara simplement ja podem donar persmisos d’execució al programa i executar-lo:
cd /ruta/a/pSX
sudo chmod +x pSX
./pSX
El pròxim que cal fer és aconseguir una BIOS de la PlayStation, com que això està al limit de legalitat no us puc donar cap enllaç, però buscant a Google “SCPH1001.BIN” hauríeu d’aconseguir descarregar el fitxer. Un cop descarregat aneu a (pot variar segons l’idioma configurat) File -> Configuration -> Bios i seleccioneu la carpeta que conté la BIOS a l’apartat de PS1.
Alguns usuaris (jo m’incloc) han trobat alguns problemes de compatibilitat amb PulseAudio, cosa que provocava finalitzacions del programa inesperades, per solucionar-ho és tan fàcil com dirigir-se a File -> Configuration -> Sound i augmentar la latència. A mi amb un valor d’uns 80 ms em funciona correctament.
Ara simplement es qüestió de carregar el joc utilitzant el menú File, podeu fer-ho o bé directament des de el CD o bé amb una imatge, que pot ser iso, cue, bin i img.
Perquè vegeu que funciona, us deixo una captura del mític Metal Gear Solid:
No us vicieu molt!
32 comments
Skip to comment form
encara m’enrecorda les grans partides ambg l’ePSXe per Windows. era superconfigurable, anaven tots el jocs i amb les textures millorades. quines partides al Dave Mirra BMX, Gran Turismo 1 i 2, Final Fantasy VII i VIII. que gran!!
Jo encara espero un bon emulador de la psp 😛
A mi no em funciona em diu: ./pSX: error while loading shared libraries: libgtkglext-x11-1.0.so.0: cannot open shared object file: No such file or directory
A mi em fa el mateix problema que a en Joan, he instal·lat prèviament les llibreries i al fer el:
sudo chmod +x pSX
./pSX
em mostra el mateix error.
Es possible que tinga que vore amb el fitxer on he extret el .tar.bz2? El tinc a la carpeta de Baixades, potser n’hi ha que posar-ho a algun altre puesto…
Xao!!
Ja pareix que ho he arreglat. Pel que pareix, no es compatible amb arquitectures de 64 bits. Aixi que n’hi ha que baixar-se la llibreria de 32 bits, com s’explica a aquest fòrum:
http://ubuntuforums.org/showthread.php?t=1299513
De totes formes, com encara no tinc ninguna BIOS, no se si funciona, però al menys he pogut fer-lo córrer… 😛
Xao!! 😉
Ecron, moltes gràcies per penjar la solució, al utilitzar un sistema de 32 bits no m’havia passat aquest error 😛
De res home, pa això estem ;).
El que passa si ho solucionem així es que després el sistema ens dirà que tenim una llibreria trencada, i per arreglar-ho ens instal·larà la llibreria de 64 bits corresponent, pel que no ens funcionarà el pSX de nou. Així que hem de triar si volem que no aparega ningun error al sistema o si volem que mos funcione be el emulador.
Coses de la vida.
boh, a l’hora d’executar isos, sembla que es resisteix i hi ha molts problemes amb els 64bits 🙁 O poder no tinc les ISOs adequades, ni amb el joc original em funciona 🙁
Quin problema és exactament Dídac?
No me’n surto, m’he baixat la BIOS però em diu que no la troba, i que la sel·leccioni. Llavors la sel·lecciono i se’m tanca sol el programa… Miraré a veure si hi ha algun altre emulador 🙁 Gràcies per l’apunt Aitor!
Guillem, nota que no has de seleccionar la BIOS, sinò la carpeta que la conté 😛 Recordo que al principi em passava algo similar al que dius.
He aconseguit una BIOS, però no se perquè no carrega el programa. S’obri i immediatament es tanca 🙁
Pot ser la BIOS no es la adequada, o simplement no corre be a sistemes x64 :S
És justament el mateix que li passa al Guillem. Executeu-lo en la terminal i pegueu la sortida, a veure si esbrinem alguna cosa 😛
Dit i fet:
artur@Tizoncito:~/Baixades/pSX$ ./pSX
Gtk-Message: Failed to load module "rgba": /usr/lib/gtk-2.0/modules/librgba.so: clase ELF errónea: ELFCLASS64
[src/linux/sound.cpp, line 215]: 'snd_pcm_hw_params_set_access(pcm_handle,hwparams,SND_PCM_ACCESS_MMAP_INTERLEAVED)' returned 'Argumento inválido'
pad=0
Fallo de segmentación
Lo del rgba no es problema perque em passa amb altres aplicacions… crec… supose que el error està a les línies següents… no?
Uoohooo, un “segmentation fault” és el pitjor error que és pot trobar un programador, és deu bàsicament a haver accedit a zones de memòria reservades pel S.O. i per tant aquest finalitza l’aplicació immediatament per evitar la inestabilitat del sistema, costen molt de depurar perquè no saps mai en quina part del programa està passant això. De totes formes, per la línia anterior i obviant el tema del GTK, sembla que el problema ve del pulse audio, estàs utilitzant Ubuntu?
Jo no puc arribar a obrir el GUI. Simplement quan executo ./pSX em surt una pantalleta que diu que no troba l’arxiu BIOS (el tinc a la carpeta bios) i me’l fa seleccionar. I llavors passa:
[src/linux/sound.cpp, line 215]: 'snd_pcm_hw_params_set_access(pcm_handle,hwparams,SND_PCM_ACCESS_MMAP_INTERLEAVED)' returned 'Invalid argument'
pad=0
Segmentation fault
si selecciono la carpeta s’acaba l’execució sense errors
Sí, recordo que s’ha de seleccionar la carpeta on es troba la BIOS i no el propi fitxer. Veig que tots teniu el mateix problema amb el pulseaudio.
Proveu d’executar killall pulseaudio i seguidament l’emulador i em conteu.
Sí, estic utilitzant l’Ubuntu 10.04, amb gnome i això, no he modificat res del sistema mes que els programes, l’aspecte, etc…
He provat lo de ‘killall pulseaudio’ i…
artur@Tizoncito:~/Baixades/pSX$ killall pulseaudio
artur@Tizoncito:~/Baixades/pSX$ ./pSX
Gtk-Message: Failed to load module "rgba": /usr/lib/gtk-2.0/modules/librgba.so: clase ELF errónea: ELFCLASS64
[src/linux/sound.cpp, line 215]: 'snd_pcm_hw_params_set_access(pcm_handle,hwparams,SND_PCM_ACCESS_MMAP_INTERLEAVED)' returned 'Argumento inválido'
pad=0
Fallo de segmentación
Ja veus, pasa el mateix… Podrem arreglar-ho? 🙂
Hola, acabo de trobar això: http://ubuntuforums.org/showthread.php?t=973021&page=3
Segons aixo, per poder fer «killall pulseaudio», primer heu d’editar el fitxer «/home/el_vostre_usuari/.pulse/client.conf» (segurament no existirà) i afegir una línia on posi:
[code]autospawn = no[/code]
Suposo que després heu de reiniciar l’ordinador i, segons diuen, us hauria de funcionar. Ull, jo encara no ho he pogut provar.
Si ho podeu provar abans que jo, ja direu. 🙂
Si busqueu l’error a Google veureu que molts usuaris estan tenint el mateix problema i no hi troben solució, molts recomanen desinstal·lar pulseaudio però això et deixa programes com Totem sense so, així que jo no ho faria.
En canvi, provaria d’utilitzar aquest script per aturar el “punyetero” pulseaudio abans d’iniciar pSX.
#!/bin/bash
# Un script per desactivar pulseaudio abans d’iniciar pSX
gksu /etc/init.d/pulseaudio stop
sleep 1
gksu killall pulseaudio
sleep 1
exec /ruta/a/pSX
sleep 1
gksu /etc/init.d/pulseaudio start
Per si no sabeu com fer scripts, simplement copieu les linies de més amunt en un document nou sense extensió i guardeu-lo amb el nom que vulgueu, després simplement executeu-lo des de una terminal amb:
bash nomdelfitxer
Noteu que a la línia on posa exec heu de substituir /ruta/a/pSX per la ruta a l’executable de pSX 😛
Ja em direu si funciona 🙂
Podeu provar el que ha posat l’oriolbsd, però ja us dic, que jo ho vaig fer i em vaig quedar sense so a l’Ubuntu 😛
De totes formes s’agraeix l’interés.
Doncs, millor que no ho proveu. XP
Suposo que traient aquesta línia vas recuperar el so, oi?
Sí, simplement vaig canviar el “no” a “yes”
He provat el teu script i fa el mateix…
Pareix que la cosa no té solució 🙁 Jo que volia jugar als jocs de la meua PS1 al portàtil…
He provat el que diu l’oriol:
– he creat el arxiu client.conf
– he sortit de la sessió
– he fet un: sudo killall pulseaudio
– he executat el pSX i tot funciona correctament 🙂 (i el so del ubuntu també em va)
Biennnnnn… He fet el que ha dit Oriol i molinx i… encara no va :S
Però ara mostra un altre prompt en la terminal:
artur@Tizoncito:~/Baixades/pSX$ ./pSX
Gtk-Message: Failed to load module "rgba": /usr/lib/gtk-2.0/modules/librgba.so: clase ELF errónea: ELFCLASS64
pad=0
Fallo de segmentación
Donnncsss…. ara què? xD
Ufff, ara ja no dona cap missatge d’error, segurament estarà relacionat amb la llibreria aquesta de gtk que et dona l’error. Podries copiar la sortida de la ordre “ldd ./pSX”?
Aci ho tens Aitor:
artur@Tizoncito:~/Baixades/pSX$ ldd ./pSX
linux-gate.so.1 => (0xf7756000)
libGL.so.1 => /usr/lib32/fglrx/libGL.so.1 (0xf7681000)
libz.so.1 => /usr/lib32/libz.so.1 (0xf766c000)
libasound.so.2 => /usr/lib32/libasound.so.2 (0xf75a3000)
libgtkglext-x11-1.0.so.0 => /usr/lib/libgtkglext-x11-1.0.so.0 (0xf759f000)
libgdkglext-x11-1.0.so.0 => /usr/lib/libgdkglext-x11-1.0.so.0 (0xf7554000)
libGLU.so.1 => /usr/lib32/libGLU.so.1 (0xf74e3000)
libXmu.so.6 => /usr/lib32/libXmu.so.6 (0xf74cc000)
libXt.so.6 => /usr/lib32/libXt.so.6 (0xf7478000)
libSM.so.6 => /usr/lib32/libSM.so.6 (0xf746f000)
libICE.so.6 => /usr/lib32/libICE.so.6 (0xf7456000)
libpangox-1.0.so.0 => /usr/lib32/libpangox-1.0.so.0 (0xf7449000)
libgthread-2.0.so.0 => /usr/lib32/libgthread-2.0.so.0 (0xf7443000)
librt.so.1 => /lib32/librt.so.1 (0xf7439000)
libglade-2.0.so.0 => /usr/lib32/libglade-2.0.so.0 (0xf7421000)
libgtk-x11-2.0.so.0 => /usr/lib32/libgtk-x11-2.0.so.0 (0xf704c000)
libxml2.so.2 => /usr/lib32/libxml2.so.2 (0xf6f22000)
libgdk-x11-2.0.so.0 => /usr/lib32/libgdk-x11-2.0.so.0 (0xf6e8c000)
libatk-1.0.so.0 => /usr/lib32/libatk-1.0.so.0 (0xf6e70000)
libgdk_pixbuf-2.0.so.0 => /usr/lib32/libgdk_pixbuf-2.0.so.0 (0xf6e55000)
libpangocairo-1.0.so.0 => /usr/lib32/libpangocairo-1.0.so.0 (0xf6e49000)
libpango-1.0.so.0 => /usr/lib32/libpango-1.0.so.0 (0xf6e06000)
libcairo.so.2 => /usr/lib32/libcairo.so.2 (0xf6d8c000)
libgobject-2.0.so.0 => /usr/lib32/libgobject-2.0.so.0 (0xf6d4d000)
libgmodule-2.0.so.0 => /usr/lib32/libgmodule-2.0.so.0 (0xf6d47000)
libdl.so.2 => /lib32/libdl.so.2 (0xf6d43000)
libglib-2.0.so.0 => /lib32/libglib-2.0.so.0 (0xf6c79000)
libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf6b83000)
libm.so.6 => /lib32/libm.so.6 (0xf6b5d000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf6b3d000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf6b24000)
libc.so.6 => /lib32/libc.so.6 (0xf69ca000)
libXext.so.6 => /usr/lib32/libXext.so.6 (0xf69ba000)
libatiuki.so.1 => /usr/lib32/fglrx/libatiuki.so.1 (0xf69b2000)
libX11.so.6 => /usr/lib32/libX11.so.6 (0xf6895000)
libpangoft2-1.0.so.0 => /usr/lib32/libpangoft2-1.0.so.0 (0xf686d000)
libgio-2.0.so.0 => /usr/lib32/libgio-2.0.so.0 (0xf67cf000)
libfreetype.so.6 => /usr/lib32/libfreetype.so.6 (0xf6759000)
libfontconfig.so.1 => /usr/lib32/libfontconfig.so.1 (0xf6729000)
libuuid.so.1 => /lib32/libuuid.so.1 (0xf6724000)
libpcre.so.3 => /lib32/libpcre.so.3 (0xf66f2000)
/lib/ld-linux.so.2 (0xf7757000)
libXrender.so.1 => /usr/lib32/libXrender.so.1 (0xf66e8000)
libXinerama.so.1 => /usr/lib32/libXinerama.so.1 (0xf66e4000)
libXi.so.6 => /usr/lib32/libXi.so.6 (0xf66d6000)
libXrandr.so.2 => /usr/lib32/libXrandr.so.2 (0xf66ce000)
libXcursor.so.1 => /usr/lib32/libXcursor.so.1 (0xf66c3000)
libXcomposite.so.1 => /usr/lib32/libXcomposite.so.1 (0xf66bf000)
libXdamage.so.1 => /usr/lib32/libXdamage.so.1 (0xf66bb000)
libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf66b5000)
libpixman-1.so.0 => /usr/lib32/libpixman-1.so.0 (0xf665a000)
libdirectfb-1.2.so.0 => /usr/lib32/libdirectfb-1.2.so.0 (0xf65e3000)
libfusion-1.2.so.0 => /usr/lib32/libfusion-1.2.so.0 (0xf65d9000)
libdirect-1.2.so.0 => /usr/lib32/libdirect-1.2.so.0 (0xf65c3000)
libpng12.so.0 => /lib32/libpng12.so.0 (0xf659e000)
libxcb-render-util.so.0 => /usr/lib32/libxcb-render-util.so.0 (0xf6598000)
libxcb-render.so.0 => /usr/lib32/libxcb-render.so.0 (0xf6590000)
libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf6576000)
libresolv.so.2 => /lib32/libresolv.so.2 (0xf6562000)
libselinux.so.1 => /lib32/libselinux.so.1 (0xf6546000)
libexpat.so.1 => /lib32/libexpat.so.1 (0xf651f000)
libXau.so.6 => /usr/lib32/libXau.so.6 (0xf651b000)
libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf6515000)
Com ho veus? Jo esque em pose a llegir açò i no entenc res (^_^’)
Doncs això és una llista de totes les llibreries que necessita el programa per funcionar correctament i on estan instal·lades cadascuna d’elles. Pel que veig no te’n fa falta cap, així que no és un problema de dependències 😛
Ja no sé que pensar 🙁
Segons he vist aquí: https://jira.skype.com/browse/SCL-680, el problema potser es soluciona actualitzant el paquet “ia32-libs”
M’he instal·lat el “ia32-libs_20090808ubuntu9_amd64.deb” baixat des d’aci: https://launchpad.net/ubuntu/+source/ia32-libs
(m’he baixat el que n’hi ha per la distribució Maverick Meerkat) però encara em dona el mateix missatge a la terminal.
Aixina que m’he fartat i he desisntal·lat el mòdul rgba. Ara el missatge que apareix es el següent:
artur@Tizoncito:~/Baixades/pSX$ ./pSX
pad=0
Fallo de segmentación
xDDD Ja no sé que pensar! Simplement diu pad=0… Que ni sé el que es… Em pareix que em quedaré sense jugar :S
😉 Gràcies per l’ajuda!
PD: Per favor, borreu l’atre comentari, que m’ha ixit malament :S
Bo, ja ho he arreglat. Els passos que he seguit han sigut:
1er.- He fet el que va dir Oriol (crear el arxiu client.conf a la carpeta /home/usuari/.pulse i afegir-li “autospawn = no”).
2n.- He des-actualitzat la llibreria “ia32-libs” instal·lant la “2.7ubuntu17” (ho trobareu aci: Launchpad)
3er.- He deshabilitat els efectes Compiz Fusion perquè em donava problemes de visualització, instal·lant el “Compiz Fusion Icon” (ho trobareu al Centre de Programari).
I ara ja va tot de perles!! 😀 Encara que no m’agrada tindre una llibreria des-actualitzada… Però al menys puc jugar 😛
Gràcies a tots per l’ajuda!! 😉