PlayStation Portable emulatie op Pi 5

      Geen reacties op PlayStation Portable emulatie op Pi 5

Voor het emuleren van de Sony PlayStation Portable console op de Pi 5 heb ik gekozen voor de fantastische PSP-emulator PPSSPP van Henrik Rydgård. Met name de autoracespellen Ridge Racer, Split Second en FlatOut behoren tot mijn favorieten, en je hebt minstens de Pi 5 met Vulkan nodig om ze enigszins vloeiend te kunnen spelen.
PPSSPP is er behalve voor Linux ook voor Windows, macOS, Android en IOS. 

ppsspp_2

Ridge Racer is een spannend racespel, maar vraagt wat betreft graphics wel veel van de Pi 5. Met minder dan 60 fps wil je het niet spelen.

PlayStation Portable

De PlayStation Portable (PSP) werd in december 2004 in Japan geïntroduceerd (september 2005 in Europa). De PSP-versie van de serie Ridge Racer games (van Bandai Namco) kwam als een van de ‘launch games’ tegelijk met de PlayStation Portable uit. Dit spel is met de juiste instellingen op 60 fps te spelen, maar minder dan dat moet het ook beslist niet zijn.
De PSP-versie van het dynamische racespel Split/Second (uitgebracht door Disney Interactive) kwam in november 2010 uit. Dit spel laat in PPSSPP niet meer dan 30 fps zien, maar speelt ondanks dat toch prima. Dit laatste geldt ook voor de demolition racer FlatOut – Head On. De FlatOut-serie stamt uit 2004 en is ook uitgebracht voor de Windows-PC, de PlayStation 2, de Xbox en de Wii. 

PSP

De PlayStation Portable (PSP) werd in december 2004 in Japan geïntroduceerd (september 2005 in Europa). Hier met een schermbeeld van de destructieve racegame FlatOut Head On.

Hardware

  • Raspberry Pi 5 met 8GB RAM (2,4 GHz, niet overgeklokt)
  • Pimoroni NVMe Base for Raspberry Pi 5
  • Samsung 970 EVO Plus NVMe M.2 SSD (1TB)
  • monitor (in mijn geval een oude 17″ (4:3) lcd van Dell)
  • toetsenbord + muis
  • (noname) gamepad (Playstation/Xbox-stijl)

Software

  • Ubuntu 24.04 LTS desktop
  • Pi-Apps
  • PPSSPP PSP-emulator

Installatie

Tegenwoordig kan de Pi 5 zonder SD-kaart opstarten, zodat je Ubuntu 24.04 rechtstreeks van internet op de nog lege SSD kunt installeren via de Raspberry Pi Imager.
Daarna de software updaten en Pi-Apps installeren met:

wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash

We gebruiken Pi-Apps, omdat daar in de sectie ‘Games’ de psp-emulator PPSSPP te vinden is, die door Pi-Apps helemaal gedownload, gecompileerd en geïnstalleerd wordt.
De installatie kan wel even duren…
Als dat klaar is, heb je alleen nog roms van psp-games nodig, die je in een aparte directory (bv pspgames) kunt zetten. Je vindt die directory dan terug in PPSSPP op het tabblad Games.

Gamepad aansluiten en spelen maar…

Dat zou je denken, maar Linux is niet zo gamevriendelijk als Windows. Ubuntu ziet mijn op de usb-poort aangesloten gamepad wel (lsusb), maar PPSSPP ziet hem niet. Het blijkt te liggen aan de kernelmodule die gamepads beschikbaar moet maken voor het systeem. Daarom moet je deze module eerst uitschakelen en vervolgens een andere driver voor je gamepad gebruiken:

sudo apt-get install xboxdrv
sudo rmmod xpad
sudo xboxdrv

Na het laatste commando krijg je allerlei output van de controller op het scherm te zien, zodat je weet dat het werkt. Als je die output niet wilt, kun je het laatste commando vervangen door:
sudo xboxdrv –silent

Als xboxdrv niet goed samenwerkt met jouw gamepad, kun je in plaats daarvan ‘ubuntu-xboxdrv’ installeren. Deze driver is gebaseerd op xboxdrv maar zou minder fouten bevatten. Je moet er wel een externe repository voor aankoppelen:

sudo apt-add-repository -y ppa:rael-gc/ubuntu-xboxdrv
sudo apt-get update
sudo apt-get install ubuntu-xboxdrv

Elke keer als je Ubuntu opnieuw opstart moet je deze commando’s opnieuw uitvoeren. Daarom is het handiger om dit automatisch te laten doen bij het opstarten.

ppsspp_3

De fantastische PPSSPP-emulator voor de PlayStation Portable.

Start vervolgens PPSSPP op, te vinden in het App-menu van Ubuntu (pictogram helemaal links onderaan in de Dash). En ga naar Settings / Controls / Control mapping en check de mappings. Als het goed is moeten de standaard mappings out-of-the-box werken.

Tip: met de home-knop op de gamepad ga je naar het in-game menu met o.a. save states, afsluiten en instellingen. Dus tijdens het gamen kun je de instellingen aanpassen om uit te proberen wat het beste past.

Vulkan i.p.v. OpenGL

Om op de Pi 5 hardware-rendering met Vulkan te activeren ga je naar Graphics / Backend en vervang je OpenGL door Vulkan. Daarna is een herstart van PPSSPP nodig. De rest van de instellingen staat al goed voor een eerste test.
Ga vervolgens met 2x Back terug naar het beginmenu klik op de tab Games en selecteer de map waar je PSP-roms in staan. NB: een PSP-BIOS is niet nodig, dat zit al in PPSSPP.
Happy gaming!

Tips: graphics-instellingen

Als het spel in PPSSPP eenmaal draait en de gamepad en audio functioneren, is het zaak om de beste balans te vinden tussen framerate (FPS) en graphics. Zorg om te beginnen dat je PPSSPP eerst in een venster draait en niet meteen full screen.
PPSSPP heeft heel veel instellingen om aan te draaien.  Ga naar Settings / Graphics en zet als eerste Show FPS counter (helemaal onderin de lijst) op aan. Een framerate van circa 60 is voor Ridge Racer het beste, lager moet het echt niet worden.
Daarna kun je proberen één van de instellingen aan te passen om te zien wat dat met de framerate doet. Voor mij werkte het beste:
– Rendering resolution: 2x PSP
– Antialiasing: off
– Fullscreen: on
– Anisotropic filtering: 2x
– Frame skipping: off

NB: in mijn geval leverde 2x PSP plus 4x antialiasing een fatale framerate op van 30 fps. 1x PSP plus 4x antialiasing kon wel. Het was dus of het een of het ander.

ppsspp_settings

PPSSPP heeft een lange lijst van instellingen om mee te ‘spelen’.