More rpi02 Instructions and tips - Fredrum/chiaki GitHub Wiki

Set CMA Memory Split

According to the Rpi engineer team you should not need to alter the GPU memory split from now on when using Bullseye. Apparently that's only for the legacy graphics+display stack. But if you're planning on using h265/hevc decode with a PS5 you might need to increase your CMA memory allocation. So if you see some hevc decode errors you might try editing your /boot/config.txt from,

dtoverlay=vc4-kms-v3d
to
dtoverlay=vc4-kms-v3d,cma-256

Remote Internet Play

There's now added support for connecting to Playstation hosts over the internet. Please read and follow these instructions to make it work.
In broad strokes this is what you'll need to do,

  • Set up Chiaki on a Raspberry Pi in a location where you also have a Playstation locally on the same LAN using the regular instructions.
  • Use the same Raspberry or a different one somewhere else together with the Remote setup descriptions below.

You need to Port Forward the following ports for the site that has the actual Playstation console,
9295, 9296, 9297
and one/both of
987 for PS4
9302 for PS5

This is done somewhere in your Router's dashboard and is a bit different for different routers so you'll have to look around to find it.
For now you should enable both TCP and UDP for all or once its working you can experiment to remove TCP from some. My guess is only 9295 and 987/9302 need TCP. I will update here once Iv'e tested more.
Forward the above ports to the local IP address of your actual playstation. You can find that in the PS settings.

Copy your /home/pi/.config/Chiaki/Chiaki_rpi.conf to the same folder on the Remote site.
But rename the file your_new_name.remote
You can have several of these to allow connections to different remotes.

Find the external IP address of the location that has the PS console.
Maybe using something like https://www.whatismyip.com/
Write it somewhere so you can retrieve it from your 'external' site.

When you now start Chiaki at the external site you should get one or more remote names in the new gui widgets, matching whatever you used for 'your_new_name'.
Enter the IP address for the remote location. (this gets saved for future sessions)
Click 'Find Remote' then click the console icon to wakeup/play. The remote has its own settings.

Another cool thing with this is that it seems you can play co-op with one player at each site!

Screen Grabs for Background

Use 'R3 + Square' when in a game session to save out a screengrab. Once you re-start Chiaki that screengrab will show up behind all the Gui widgets.
To revert to default plain bg just remove the file /home/pi/.config/Chiaki/screengrab.jpg
Or you could even copy your own jpg in there with the same name and it should show up too.

Ubuntu and other Distros

With all of the below you'll need to keep cross checking with the main instructions and insert/replace as appropriate!

Ubuntu

I have tested the following instructions on Raspberry Ubuntu 22.04, which includes Wayland.
You should read through the following before using the main instructions!

SKIP:
sudo apt install libavutil-dev libavcodec-dev libavformat-dev libswscale-dev
(we will compile our own set)

Do:
sudo apt install git

sudo nano /boot/firmware/config.txt
add
dtoverlay=rpivid-v4l2
(needs reboot before running chiaki)

SKIP:
./install_sdl.sh
(This Ubuntu already ships with SDL 2.0.20)

Do:
./install_ffmpeg.sh
(takes ~20min on RPi4b)

To make Ubuntu find the new avcodec libs:
sudo nano /etc/ld.so.conf
add /usr/local/lib
then run
sudo ldconfig

reboot now?

Run Chiaki as described in main text.
To run in the tty you must trick it to ignore Wayland by doing,
WAYLAND_DISPLAY= rpi/chiaki-rpi
Basically set the WAYLAND_DISPLAY to nothing, then pass your command to start chiaki.

As you might know Ubuntu uses the new window compositor Wayland by default and it adds some confusion and quirks.
I have found three ways to work with this.

  • When you run normally on the desktop SDL will default to use X11 nonetheless (XWayland?) and this works fine. In fact fullscreen (F11) runs well and much smoother than on Raspberry OS.
  • You can try running like this: SDL_VIDEODRIVER=wayland rpi/chiaki-rpi if you want to force SDL to use Wayland instead of XWayland.
  • You can completely disable wayland by editing /etc/gdm3/custom.conf and un-commenting #WaylandEnable=false

Debian

Has been confirmed to work with Debian Bullseye. See here.

I believe you might only need to run,
./install_ffmpeg.sh

RetroPie

I tested this on Retropie 4.8. It will only work from the tty/cli screen but that should be ok here.
Beware I don't know if the updated Mesa or SDL versions will somehow interfere with the emulators or emulationstation itself.
This is quite a long process with all the custom builds. Maybe you'd be better off waiting for the future Bullseye RetroPie version? :)

First maybe make a folder to put Chiaki in,
mkdir software
cd software

SKIP
sudo apt install libavutil-dev libavcodec-dev libavformat-dev libswscale-dev
(you will compile a new set)

Install Mesa
sudo apt install python3-pip
sudo pip3 install Mako
./install_mesa.sh
sudo nano /etc/ld.so.conf.d/000-AAA-Mesa.conf
add /usr/lib
sudo ldconfig

Install SDL
./install_sdl.sh

Install ffmpeg
./install_ffmpeg.sh
sudo nano /etc/ld.so.conf
add /usr/local/lib
sudo ldconfig