Batocera for PS4 v1: Turn your PS4 into an Emulation Station

A detailed tutorial to install Batocera on PS4, transfer BIOS, ROMs, etc., automatic WiFi, setup DualShock 4 and access terminal through SSH.

Since the beginning of this endeavour, I have had requests from many for a Batocera port for PS4. If you were one of them looking forward to it, today’s the day your dream comes true. After a lot of modifications, I have been able to bring Batocera to PS4. So, with this, you can easily convert your PS4 into a gaming arcade, letting you emulate NES, N64, PSX, PSP and more on your PS4.

That being said, please note that, this port can be considered a late beta release and might have some issues on some models, especially PS4 Pro. Rest assured, these will be fixed in the upcoming updates. But, that also depends on the feedback you guys give me. Moreover, building Batocera requires resources. I have been able to build this port thanks to the generous donations of some members. Special mention goes to Reo Au In, jvlj and nano. And, if you would like to support these projects, please consider donating on Ko-fi.

Anyways, in this article, I am going to teach you how you could install Batocera on PS4 and set up games, ROMs and even wireless controllers including the DualShock 4.

Before we move further, I would also like to thank Reo Au In for his donation that helped me procure the resources for this project on time.

What is Batocera?

Now many of you may be unaware of this awesome emulation OS. So, here is how the official page defines it:-

Batocera.linux is an open-source and completely free retro-gaming distribution that can be copied to a USB stick or an SD card with the aim of turning any computer/nano computer into a gaming console during a game or permanently.

In simpler terms, Batocera is a Linux based OS bundled with multiple emulators including RPCS3, PCSX2, Libretro, Dolphin, and many more allowing you to emulate almost any older generation game out there.It goes without saying that you need to own these games to be able to play them legally. Moreover, the law of the land has to be kept in mind. Anyways, adding to its positives, the OS also comes with a very neat interface and almost every part of it is easily customisable.

Now that you know what Batocera is, let us look into Batocera for PS4.

Screenshots: Batocera for PS4

Requirements

Linux Machine

I recommend an Ubuntu-based distro, like Lubuntu or even Pop OS. You can try this on Fedora or Arch based distros, but, Batocera might fail to boot if this process is done on an Arch or Fedora-based distro. Moreover, for the installation, you don’t have to install Linux on your PC permanently, even a LiveCD on a virtual machine will work.

USB drive

I recommend having atleast 100GB of storage. The OS in itself takes some space. On top of that, you will also have to factor in the space required for your games and ROMs. And, keeping the speed factor in mind, I recommend having an SSD (external or internal with an adaptor). You may check my equipment page for the best SSDs and equipment for running PS4 Linux.

Note: Please be warned that the installation process will wipe the USB drive. So, backup important information beforehand.

Files

  1. Batocera for PS4 v1 (Check Downloads section)
  2. bzImage – 5.3+ kernel is recommended (Download according to your model)
  3. initramfs.cpio.gz (Download here)
  4. Gparted
    • On Ubuntu and Ubuntu-based distros, open terminal and type sudo apt-get install gparted and press Enter.
    • On Fedora and Fedora-based distros, open terminal and type sudo dnf install gparted and press Enter.
    • On Arch and Arch-based distros, open terminal and type sudo pacman -S gparted and press Enter.

Those are the basic requirements on top of a jailbreakable PS4 and other accessories like a USB hub, keyboard, mouse, etc.

Once you have all of these setup, you are ready to install Batocera on your PS4. Just follow the below steps.

If you would like a video tutorial, here is a detailed step-by-step video tutorial of installation, setup, BIOS and ROMs tarnsfer, DS4 connection, SSH terminal access, etc.

Install Batocera on PS4: Detailed Video Tutorial

Install Batocera on PS4: Detailed Tutorial

Step 1. Basic preparation of USB drive

  1. Connect USB drive to your Linux PC or the virtual machine.
  2. Open terminal and type sudo gparted and press Enter.
  3. On gparted, choose your drive properly by going to the dropdown menu on top right. The storage capacity of the drive is given.
  4. Right click on each partition on the drive, for example, /dev/sda1 and /dev/sda2 and click Unmount.
  5. On the top pane, click on Device and click on Create Partition Table. Make sure that msdos is selected and then click on Apply.

This prepares you for the partitioning step.

Step 2. Partition USB drive

In this step, we will create 3 different partitions. One will store the kernel and initramfs. Second one will hold the Batocera system files. The third partition will hold all your games, ROMs, BIOS, etc.

  1. On Gparted, making sure you have properly selected the device, click on Unallocated and create a new partition by clicking on the new folder icon on top left.
  2. Change the File system to fat32 and the New size to 50. Click on Add.
  3. Click on Unallocated again and create a new partition by clicking on the new folder icon on top left. Change the File system to ext4, if not already that. The label to be typed in is dependent on the initramfs you used. For example, if it’s multi-boot initramfs, type ps4linux1. As for the New size, type in 15,000. When done, click on Add.
  4. For the third partition, click on Unallocated again and create a new partition. Make sure the File system is set to ext4. But, this time, the label could be GAMES (or anything you desire). As for the New size, allocate whatever is left to this partition. When done, click on Add.
  5. Then, click on the green tick on the top pane and click on Apply.
  6. Close gparted.

Step 3. Install Batocera for PS4 on the USB drive

  1. Go to the File Manager and mount the second partition, in my case, ps4linux1 by just clicking on it, if it isn’t already mounted.
  2. Open a terminal and type sudo tar -xvJpf /home/noob404/Desktop/batocera_v1_ps4linux.tar.xz -C /media/noob404/ps4linux1 and press Enter. You will have to change the location of the disto file and also the destination partition if you are using non-multi-boot initramfs.
  3. Close the terminal once the process is completed.

Step 4. Setup Games drive and automatic WiFi

This is a step which will make sure that our third partition meant to hold all our ROMs (games), BIOS, themes, etc. is recognised properly by Batocera. And, as an optional step, you can also set up automatic WiFi connection.

  1. Go to the File Manager and in the ps4linux1 partition (in my case), go to boot folder and open the file named batocera-boot.conf.
  2. Open a terminal and type sudo gparted and press Enter.
  3. On gparted, choose your drive properly by going to the dropdown menu on top right. The storage capacity of the drive is given.
  4. Right click on the third partition, which we named GAMES, and click on Information.
  5. Copy the UUID value, for example, 82cab41c-24a1-9450-6a7a-2ae95617f2a1 and paste it into the conf file after providing a space post DEV.
  6. Close gparted.
  7. Next comes the automatic WiFi setup, which is optional. But, if you are on a PS4 which only supports WiFi (no Ethernet), I suggest you set up automatic WiFi connection to avoid troubles later. To set up, after wifi-ssid=, provide your WiFi access point name, for example, HomeWiFi (case sensitive). And, after wifi.key=, provide your WiFi password. But, if you don’t plan on using WiFi, feel free to delete the 3 lines pertaining to WiFi.
  8. When done, save the conf file.

The batocera-boot.conf will look something like this:-

sharedevice=DEV 82cab41c-24a1-9450-6a7a-2ae95617f2a1
wifi.enabled=1
wifi.ssid=HomeWiFi
wifi.key=password

That’s it. Now, you are read to boot into Batocera for PS4.

Step 5. Boot Batocera on PS4

  1. Connect the USB drive to the PS4 and load the Linux payload. I recommend using the 2GB VRAM payload to start with. You may experiment.
  2. This will boot Batocera on your PS4.

Now that completes the installation part of Batocera for PS4. Next, we will look into the setup part, including adding games, ROMs, connecting controllers, etc. We will go through them one by one.

Add games and ROMs to Batocera for PS4

Batocera for PS4 allows you to add ROMs using three different methods (atleast). I will discuss them here.

Wireless Method: Add games and ROMs to Batocera for PS4 using PC

To use this method, you will have to make sure that both Batocera for PS4 and your PC are connected to the same network. Once that is done, follow these steps:-

  1. On your PC (Windows preferable), open File Explorer.
  2. In the Address Bar, type \\BATOCERA and press Enter.
  3. This will display the folders on your Batocera drive. Add games and ROMs into their respective folders.

USB Drive Method: Add games and ROMs to Batocera for PS4 using inbuilt file manager

For convenience of the user, Batocera comes with PCMan FM (file manager) pre-installed. You may use it to move your games and ROMs to the Batocera drive. Follow these steps for the same.

  1. Copy games and ROMs to a USB drive and connect it to the PS4 through the USB hub (if on a PS4 Slim) or otherwise.
  2. On the keyboard connected to your PS4, press F1. this will open the File Manager.
  3. Copy your games and ROMs from the USB drive to the partition named GAMES (Accessible from the left pane on the file manager).

Linux Method: Add games and ROMs to Batocera for PS4 using a Linux PC or Virtual Machine

This will be easiest method for transfer if you have a huge chunk of games and ROMs to move. Before using this method, make sure that you have run Batocera for PS4 atleast once on your PS4. Only then will the necessary folders be populated.

  1. Connect the Batocera USB drive to your PC or virtual machine.
  2. Copy your games and ROMs from the USB drive to the partition named GAMES.
  3. Connect the drive to PS4, load Batocera and enjoy!

These were three different methods for games and ROMs transfer. As I said earlier, these are the easiest methods available while there could be several other methods too.

Connect Wireless Controllers to Batocera for PS4

Batocera, by default, will recognise and setup most controllers (both wireless and wired). The steps for many controllers are the same. Here, I will tell you how you can connect DualShock 4 in wireless mode to Batocera for PS4.

  1. On your DualShock 4, press the Options and Playstation button together till the white light starts blinking.
  2. On Batocera for PS4, open Menu by pressing on Spacebar.
  3. Go to CONTROLLER & BLUETOOTH SETTINGS and choose PAIR A BLUETOOTH DEVICE.
  4. The DualShock 4 will be connected automatically.

That’s it! Your DS4 has been connected to Batocera for PS4. You can then use it to navigate and for gameplay.

Access terminal on Batocera for PS4

While generally you won’t have to access the terminal on Batocera, it is still convenient to have terminal access, especially since this is a Beta port. So, debugging would be easier with a terminal. Unfortunately, the terminal in the current state can only be accessed from another device, not from the PS4 directly. So, you will require another PC or even a mobile phone with SSH capabilities (generally, any smartphone will work). In this tutorial though, we will stick to a Windows PC.

  1. Download PuTTY and run on Windows.
  2. Under the Host name, type root@batocera.local or root@batocera and click on Open.
  3. Click on Accept on the popup.
  4. Type the password – linux and press Enter.

This will open the terminal. For a list of basic SSH commands for Batocera, check this article.

FAQ & Troubleshooting

Please go through these before you post a query.

Many emulators don’t show on the homescreen

Batocera will only show those emulators for which you have provided ROMs. For example, PCSX2 will not show up on the homescreen until or unless the appropriate PS2 ROMs have been placed in the ROMs folder, as talked about in the above section.

Black Screen after Rescueshell

Try these one by one:-

  1. Press any key.
  2. If that doesn’t work, press Ctrl+Alt+F2. When the terminal appears, press Ctrl+Alt+F7.
  3. If that doesn’t work, press Ctrl+Alt+F2. When the terminal appears, press Ctrl+Alt+F1.
  4. If that too didn’t work, unplug the monitor. You may remove the cable from the monitor end rather than from the PS4. Reconnect the monitor. Repeat Step 2 or 3.

Black screen with an underscore (dash) on top left

This indicates an issue with the extraction of the distro. To fix this, use an Ubuntu based distro for the installation, if you haven’t.

Face any other issue? Just leave a comment on this forum post and I will get back to you ASAP.

Conclusion

With your support, I have been able to bring multiple distros to the PS4 including Nobara, Pop OS and WinesapOS, to name a few. Please keep supporting the endeavour as much as you can! As always, if you face any issue with the installation or any other part of the tutorial, don’t shy away from making a comment below or you could leave a reply on the forum post.

20 Comments

  1. Hey Just placing feed back and will help anyway I can because batocera for me is the ultimate use of ps4 linux. So I have a ps4 fat running 5.05 I installed batocera using 2.1 overclock 5.15 kernel and it boots the flash screen and then screen goes black and I can still hear the sound in the background.

  2. Thank you, to work on my ps4 i need to name your “ps4linux1” partition to “psxitarch”. Now i test all but i don’t see the switch folder. Do you know if yuzu are present in your port of the batocera distro

  3. It is a great distro! But can you improve performance on pro models in future updates?
    As far as i can tell, it is the only noticeable problem for now. One more thing. Is it possible to overclock ps4 in the distro itself or the only option is to find a specific kernel? Is it safe to do so?

  4. Hi Sir, I followed your all steps but it still can not boot in to batocera,
    I met a few problem:

    1. Both virtualbox and vmware, I installed Ubuntu 22.04.1 LTS, I used gparted to setup a fat32 and 2 ext4 partitions,
    after I unzip the batocera_v1_ps4linux.tar.xz to mobile SSD, I edited the batocera-boot.conf and added sharedevice=DEV UUID on it,
    it can not save this file on “/media/user/ps4linux1/boot folder, it can only save as to the desktop, I double checked the folder permission,
    it is only root access and change, until I use chmod 777 to change the boot folder permission become everyone, I can modify and save batocera-boot.conf.

    2. I used your mentioned version, Kernel Baikal 4.14.93 By psxita (5.6MB) and initramfs.cpio.gz Multi-boot (By noob404) (3.9MB)
    both PS4 and PS4 slim I tried, they boot up failure, also I tried several Kernel and initramfs.cpio.gz, also same failure.
    after payload linux 2GB, it turned to black screen with white words, but the message is not same as yours.
    it stopped there, please help & thanks!

  5. is there an option to have more scrapers available? like screenscraper? none of my games are getting scrapped and i just don’t know why 😭. help!

  6. I have a fat Belize PS4. I tried all 3 different kernels for the Belize. The furthest I got is Linux screen with unit success message but can’t get further than that. I’ve followed the process exactly and used multi boot initram. I named the batocera partition ps4linux1….

Leave a Reply

Your email address will not be published.


*