Welcome, Guest!

Here are some links you may find helpful

Self-contained PS2 and OPL dev environment using Docker

einsteinx2

Well-known member
Original poster
Aug 8, 2019
51
44
18
github.com
Why?

After spending a bunch of time getting a PS2 development environment set up on macOS, I found a great PS2 homebrew development Docker image created by mlafeldt, however it was missing the required libraries to build OPL. Since Docker is cross-platform, you can use these on Linux, macOS, or Windows as long as you have Docker installed (note that I don't use Windows and have not tested these there, so the instructions below may not work exactly as-is, but the images should work fine).

What?

My image is based directly on the mlafeldt/ps2dev image and simply adds the gsKit and ps2sdk-ports libraries to allow for compiling OPL. I've tested this building the latest commits from both the original ifcaro/Open-PS2-Loader repo as well as the Jay-Jay-OPL/OPL-Daily-Builds fork.

If you're not familiar with Docker, first get it installed, then just pull the image you want from the Docker Hub (the docker run command below will do that automatically the first time). I also have the Dockerfiles hosted in Github repos so you can easily modify them to your liking (for example to add extra libraries that you need for whatever project you're working on).

How?

First cd into the source code directory of your homebrew project (for example OPL), then you can build the project directly by running docker run -it --rm -v "$PWD:/src" einsteinx2/ps2dev-extra-libs make. The compiled elf will be in the source code directory on your host machine. If you'd like to enter the container and use an interactive Bash shell, simply exclude the make command at the end. You can also run other commands such as make clean.

The Docker container will automatically be destroyed and recreated each time using these commands, but the image will only be pulled once. If you'd like to keep the container alive to re-use, just remove the --rm flag and relaunch the container directly later to use it again (you'll have to look up the correct Docker command for that).

Links

Docker Hub page

https://hub.docker.com/r/einsteinx2/ps2dev-extra-libs
ps2dev-extra-libs.svg
ps2dev-extra-libs.svg


Github repository for the Dockerfile (feel free to improve or add more tools and submit PRs!)

____________________________________________________________

Hopefully this image will help you to get started in PS2 homebrew development or modifying existing homebrew without going through the (potentially complicated) toolchain setup process.

Happy hacking!
 
Last edited:

Make a donation