PS2 WSL(1)/WSL2 SDK-Installation for multiple platforms

TnA

Moderator
Developer
This is the updated "work in progress" (WIP) WSL-Tutorial for 2020/2021!

This tutorial will guide you through the installation of VARIOUS SDKs for different platforms (PS1, PS2, PS3, PSVita/PSTV, etc.), within WSL(1)/WSL2!

Please read the "Intro"-Tab, to understand how this tutorial is structured and how you get to where you want to!

  • How did it came to be?
    I wrote a tutorial about this topic for the PS2SDK, back when WSL was a beta-feature and updated it with some things, but unfortunately psx-scene.com - including some of the additional things from the old tutorial - are lost and/or outdated.

    This and the fact that WSL2 got released, made me update/rewrite this tutorial!
    Don't worry! It works with WSL(1) as well as WSL2! ;)

    This will take less than an hour usually (if you use WSL2 and consider the hardware needed for it)!


    What is this all about?
    It is here for those who neither want to install Linux (as mainOS, or 2nd OS); a VM; an artificial userspace/subsystem, which interpretes the Bash-Commands (MinGW, Cygwin); etc., but still want to be able to compile Apps for various platforms.

    On a side-note: If you do it on Windows anyway, then 'WSL' should work quite more performant, than a VM or stuff like MinGW...

    I also hope, this will get some more people into developing and Linux at all!


    How to read this tutorial?
    There are spoilers for different consoles (Currently planned and right now, only the PlayStation2 and PlayStation3 are included!)!

    Go from "Intro" to "SDKs&Toolchains&Ports (Part B)", choose the appropriate spoiler for the console/tools you want to work with and you can read further, if you want to use/learn some handy things or have any problems.
  • You need:
    • Windows 10 x64 (1607 or newer for WSL[1] or 2004 or newer for WSL2)
      • For x64 systems: Version 1903 or higher, with Build 18362 or higher.
      • For ARM64 systems: Version 2004 or higher, with Build 19041 or higher.
    • A 64Bit CPU (obviously)!
    • For WSL2 you need Virtualization-Support, but this tutorial works with WSL(1) as well!
    • Internet (to download the stuff, etc.) with a stable connection
    • etc.
  • Skipping Part A of the guide:
    You can skip part A of the guide, which guides you in very few steps through the installation of 'WSL'. However,... This guide assumes, that you're using a clean install of 'Bash on Ubuntu on Windows' (and 'Windows Subsystem for Linux (WSL)'). If you modified your WSL-Ubuntu-Userspace in any way, I can not guarantee, that this guide will work for you.

    Part A is a quick 'run-through' to install WSL/bash, which looks more complex or longwinded, than it is. :) -- Skip Part A if you want and are certain, about what you are doing.

    Part A: Installing 'Windows Subsystem for Linux' and 'Bash on Ubuntu on Windows'

    Search for 'features' (right next to the windows-button) and it will show a text with 'Windows-Features'.
    Click on the feature "Windows Subsystem for Linux" and "Virtual Machine Platform" and then "o.k." to activate it (I chose to also install PowerShell and Windows-Terminal as well and was doing all the following stuff, using PowerShell 64bit-Version in Admin-Mode [when I wrote the old tutorial].)
    It will download and install it.

    You can also use the following commands, to install the featues via command-line.
    Code:
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    Code:
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    Download the kernel-Update and install it! --> https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
    Execute the following command via cmd/PowerShell/Windows Terminal/etc.
    Code:
    wsl --set-default-version 2
    Start the 'Microsoft Store', search for your distribution, click install! Done!
    This tutorial has been tried with "Ubuntu" and "Debian".

    After that:
    1. start CMD with admin-priviledges (just to be sure), by right-clicking on the Windows/Start-Button...
    2. type 'bash' (without quotes) into CMD
    3. verify the download-request and let it download and install

    That's it for the 'WSL'-Feature and 'bash'. Now let's move on to install an SDK 'into' it. ;)
  • Part B: Installing an SDK and toolchain

    Before we continue. You might want to insert one code-line at once, to avoid problems.

    PlayStation

    IMPORTANT: The following example uses "/usr/local/psn00bsdk" as the PSN00BSDK_TC-Folder, which requires manual creation of the folder + chmod, if you intend to use the paths which are in the example on the psn00bsdk-repo!
    You can adapt this path to (for example) "$HOME/psn00bsdk" or another folder, which doesn't need this!


    If you want to use another folder than "/usr/local/psn00bsdk", keep in mind that you have to adapt the strings you have to enter, so instead of "export PSN00BSDK_TC=/usr/local/psn00bsdk", you have to adapt the paths (temporary and/or permanently) to your choice (like "export PSN00BSDK_TC=$HOME/psn00bsdk" or etc.)!


    Temporary:
    Code:
    export PSN00BSDK_TC=/usr/local/psn00bsdk
    export PATH=$PATH:$PSN00BSDK_TC/psn00bsdk/tools/bin


    Permanently:
    Code:
    cd $HOME && nano .profile

    Then manually copy this to the end of the file:
    Code:
    export PSN00BSDK_TC=/usr/local/psn00bsdk
    export PATH=$PATH:$PSN00BSDK_TC/psn00bsdk/tools/bin
    ...and if you use another GCC-version than 7.4.0, also add
    Code:
    export GCC_VERSION=9.3.0
    ...and adapt your version-string.

    Then press Ctrl+X, confirm with "y" and press "Return/Enter" on the name-confirmation.

    Re-loading the profile: Use the command
    Code:
    source ~/.profile
    after the last step of permanently setting it!
    First off, update your distro and tools. You don't have to, but it is recommented.
    Code:
    sudo apt update
    sudo apt upgrade

    Install the libs:
    Code:
    sudo apt-get -y install gcc make git texinfo libgmp-dev libgmp3-dev libmpfr-dev libmpc-dev libisl-dev libtinyxml2-dev
    If you use "/usr/local/psn00bsdk" as PSN00BSDK_TC-Path-Variable, you will have to execute the following commands now.

    First off... If you already have the folder "psn00bsdk", remove it via the following command:
    Code:
    sudo rm -rf $PSN00BSDK_TC
    If you don't have it or if you executed the previous command, jump right to this command:
    Code:
    sudo mkdir -p /usr/local/psn00bsdk && sudo chmod -R 777 /usr/local/psn00bsdk
    Now clone and install the PSN00BSDK along some other things.
    Code:
    cd $PSN00BSDK_TC && git clone https://github.com/lameguy64/psn00bsdk.git && cd psn00bsdk && cd tools && make && make install
    ~Placeholder~

    PlayStation 2
    IMPORTANT: The following example uses "/usr/local/ps2dev" as the PS2DEV-Folder, which requires manual creation of the folder + chmod, if you intend to use the paths which are in the example on the ps2dev-repo!
    You can adapt this path to (for example) "$HOME/ps2dev" or another folder, which doesn't need this!


    If you want to use another folder than "/usr/local/ps2dev", keep in mind that you have to adapt the strings you have to enter, so instead of "export PS2DEV=/usr/local/ps2dev", you have to adapt the paths (temporary and/or permanently) to your choice (like "export PS2DEV=$HOME/ps2dev" or etc.)!


    Temporary:
    Code:
    export PS2DEV=/usr/local/ps2dev
    export PS2SDK=$PS2DEV/ps2sdk
    export GSKIT=$PS2DEV/gsKit
    export PATH=$PATH:$PS2DEV/bin:$PS2DEV/ee/bin:$PS2DEV/iop/bin:$PS2DEV/dvp/bin:$PS2SDK/bin


    Permanently:
    Code:
    cd $HOME && nano .profile

    Then manually copy this to the end of the file:
    Code:
    export PS2DEV=/usr/local/ps2dev
    export PS2SDK=/usr/local/ps2dev/ps2sdk
    export GSKIT=/usr/local/ps2dev/gsKit
    export PATH=$PATH:$PS2DEV/bin:$PS2DEV/ee/bin:$PS2DEV/iop/bin:$PS2DEV/dvp/bin:$PS2SDK/bin
    Then press Ctrl+X, confirm with "y" and press "Return/Enter" on the name-confirmation.

    Re-loading the profile: Use the command
    Code:
    source ~/.profile
    after the last step of permanently setting it!
    First off, update your distro and tools. You don't have to, but it is recommented.
    Code:
    sudo apt update
    sudo apt upgrade

    Install the libs: WARNING! If it mongers about not being able to find either ucl OR upx-ucl (depending on the distro you use), just remove it from the command!
    Code:
    sudo apt-get -y install build-essential git mercurial libc6-dev zlib1g zlib1g-dev libucl1 libucl-dev autoconf gcc clang cmake make patch git texinfo flex bison gettext wget libgsl-dev libgslcblas0 libgsl23 gsl-bin libgmp-dev libmpfr-doc libgmp3-dev libmpfr-dev libmpc-dev mpc ucl upx-ucl zip unzip
    If you use "/usr/local/ps2dev" as PS2DEV-Path-Variable, you will have to execute the following commands now.

    First off... If you already have the folder "ps2dev", remove it via the following command:
    Code:
    sudo rm -rf $PS2DEV
    If you don't have it or if you executed the previous command, jump right to this command:
    Code:
    sudo mkdir -p /usr/local/ps2dev/ps2sdk && sudo chmod -R 777 /usr/local/ps2dev
    Now clone and install the PS2SDK along some other things.
    Code:
    cd $PS2DEV && git clone https://github.com/ps2dev/ps2dev.git && cd ps2dev && ./build-all.sh
    When this is done, install "ps2eth"...
    Code:
    cd $PS2DEV && git clone git://github.com/ps2dev/ps2eth && cd ps2eth && make && tar c `find . -name \*irx` | tar x -C /usr/local/ps2dev/ps2eth && make clean && cd $HOME && . .profile
    ~WIP~

    ~WIP~

    PlayStation 3
    IMPORTANT: The following example uses "/usr/local/ps3dev" as the PS3DEV-Folder, which requires manual creation of the folder + chmod, if you intend to use the paths which are in the example on the ps3dev-repo!
    You can adapt this path to (for example) "$HOME/ps3dev" or another folder, which doesn't need this!


    If you want to use another folder than "/usr/local/ps3dev", keep in mind that you have to adapt the strings you have to enter, so instead of "export PS3DEV=/usr/local/ps3dev", you have to adapt the paths (temporary and/or permanently) to your choice (like "export PS3DEV=$HOME/ps3dev" or etc.)!


    Temporary:
    Code:
    export PS3DEV=/usr/local/ps3dev
    export PSL1GHT=$PS3DEV
    export PATH=$PATH:$PS3DEV/bin
    export PATH=$PATH:$PS3DEV/ppu/bin
    export PATH=$PATH:$PS3DEV/spu/bin


    Permanently:
    Code:
    cd $HOME && nano .profile

    Then manually copy this to the end of the file:
    Code:
    export PS3DEV=/usr/local/ps3dev
    export PSL1GHT=$PS3DEV
    export PATH=$PATH:$PS3DEV/bin
    export PATH=$PATH:$PS3DEV/ppu/bin
    export PATH=$PATH:$PS3DEV/spu/bin
    Then press Ctrl+X, confirm with "y" and press "Return/Enter" on the name-confirmation.

    Re-loading the profile: Use the command
    Code:
    source ~/.profile
    after the last step of permanently setting it!
    First off, update your distro and tools. You don't have to, but it is recommented.
    Code:
    sudo apt update
    sudo apt upgrade

    Install the libs:
    Code:
    sudo apt-get -y install autoconf automake bison flex gcc libelf-dev make texinfo libncurses5-dev patch python subversion wget zlib1g-dev libtool libtool-bin python-dev bzip2 libgmp3-dev pkg-config g++ libssl-dev clang
    If you use "/usr/local/ps3dev" as PS3DEV-Path-Variable, you will have to execute the following commands now.

    First off... If you already have the folder "ps2dev", remove it via the following command:
    Code:
    sudo rm -rf $PS3DEV
    If you don't have it or if you executed the previous command, jump right to this command:
    Code:
    sudo mkdir -p /usr/local/ps3dev/ps3sdk && sudo chmod -R 777 /usr/local/ps3dev

    Now clone and install the PS3SDK along some other things.
    Code:
    cd $PS3DEV && git clone https://github.com/ps3dev/ps3toolchain && cd ps3toolchain && ./toolchain.sh
    When this is done, install "additional stuff"...
    Code:
    ~Placeholder~

    PlayStation Vita / TV:
    IMPORTANT: The following example uses "/usr/local/vitasdk" as the VITASDK-Folder, which requires manual creation of the folder + chmod, if you intend to use the paths which are in the example on the ps2dev-repo!
    You can adapt this path to (for example) "$HOME/vitasdk" or another folder, which doesn't need this!


    If you want to use another folder than "/usr/local/vitasdk", keep in mind that you have to adapt the strings you have to enter, so instead of "export VITASDK=/usr/local/vitasdk", you have to adapt the paths (temporary and/or permanently) to your choice (like "export VITASDK=$HOME/vitasdk" or etc.)!


    Temporary:
    Code:
    export VITASDK=/usr/local/vitasdk
    export PATH=$VITASDK/bin:$PATH


    Permanently:
    Code:
    cd $HOME && nano .profile

    Then manually copy this to the end of the file:
    Code:
    export VITASDK=/usr/local/vitasdk
    export PATH=$VITASDK/bin:$PATH
    Then press Ctrl+X, confirm with "y" and press "Return/Enter" on the name-confirmation.

    Re-loading the profile: Use the command
    Code:
    source ~/.profile
    after the last step of permanently setting it!
    First off, update your distro and tools. You don't have to, but it is recommented.
    Code:
    sudo apt update
    sudo apt upgrade

    Install the libs: WARNING! If it mongers about not being able to find either ucl OR upx-ucl (depending on the distro you use), just remove it from the command!
    Code:
    sudo apt-get -y install make git-core cmake python
    If you use "/usr/local/vitasdk" as VITASDK-Path-Variable, you will have to execute the following commands now.

    First off... If you already have the folder "vitasdk", remove it via the following command:
    Code:
    sudo rm -rf $VITASDK
    If you don't have it or if you executed the previous command, jump right to this command:
    Code:
    sudo mkdir -p /usr/local/vitasdk && sudo chmod -R 777 /usr/local/vitasdk
    Now clone and install the VITASDK along some other things.
    Code:
    cd $HOME && git clone https://github.com/vitasdk/vdpm && cd vdpm && ./bootstrap-vitasdk.sh && ./install-all.sh
    Code:
    ~Placeholder~
  • Note:
    These are optional (additional) things, which you might want to use on WSL and which might be useful for using WSL as your "daily driver" for development and anything Linux-related!

    Start the 'Microsoft Store', search for "Windows Terminal", or follow this link --> https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab
    Download the "VS-Code Remote-WSL-Extention" from here, if you have VS istalled --> https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl
    Download MS "Powertoys" from the GitHub-Repo --> https://github.com/microsoft/PowerToys
    ~WIP~

    Microsoft is currently working on a Wayland Display-Driver for WSL called "WSLG". It has been presented, but is not yet available. Once it is available, I will add it to this tutorial!

    Meanwhile, you can also just use an X-Server on Windows and use that, or install an RDP-Server instead.

    ~WIP~
    Download "vcxsrv" from here --> https://sourceforge.net/projects/vcxsrv/
    and install it!

    You need to set environment-variables in your ".profile", using either the temporary or permanent method.

    ~WIP~
    Type into your distr:
    Code:
    sudo apt install xrdp
    Connect to your Distro via Windows' Remote Dektop Client and
    Code:
    localhost:3349
    (Port-Number might differ!)

    You can install a Desktop-Environment like "xfce4" (which is rather light-weight) or something like "KDE Neon".

    xfce4:
    Install it via:
    Code:
    sudo apt install xfce4
    Launch it via:
    Code:
    xfce4-session


    kUbuntu Desktop:
    Install it from within your distro via:
    Code:
    sudo apt install -y kubuntu-desktop
    Launch it via:
    Code:
    ~Placeholder~


    KDE Neon (Distro):
    Install it via: (executed from CMD and as Administrator)
    Code:
    PowerShell -executionpolicy bypass -command "wget https://github.com/DesktopECHO/kWSL/raw/master/kWSL.cmd -UseBasicParsing -OutFile kWSL.cmd ; .\kWSL.cmd"
    and follow the instructions.

    After installing it, it is flagged as a WSL(1)-Instance (even if you set your config to default any distro to be WSL2), which you can change by entering the following in cmd/PowerShell/Windows Terminal...
    Code:
    wsl --set-version Name_you_gave 2

    Launch it via the cmd and the rdp, which are created on your Desktop!

    If you run into issues, just go into the install-folder (usually C:\"Distroname_you_entered") and execute the "Uninstall 'Distroname_you_entered'.cmd" and start over, or use another mehtod!


    ~WIP~
    You must partially follow the "Installing a Desktop-Environment"-Spoiler, for example how to setup an X-Server.

    ~Placeholder~
    ~Placeholder~
  • Let's compile an app!
    (Not all of these work right now!)
    GitHub:
    Code:
    cd $HOME && rm -rf Open-PS2-Loader && git clone https://github.com/ps2homebrew/Open-PS2-Loader.git Open-PS2-Loader && cd Open-PS2-Loader && make clean && make IGS=1 PADEMU=1
    Code:
    cd $HOME && rm -rf wLaunchELF && git clone https://github.com/ps2homebrew/wLaunchELF.git && cd wLaunchELF && make rebuild
    Code:
    cd $HOME && rm -rf hdl-dump && git clone https://github.com/ps2homebrew/hdl-dump.git && cd hdl-dump && make
    Code:
    cd $HOME && rm -rf gsm && git clone https://github.com/doctorxyz/gsm.git && cd gsm && make
    Code:
    cd $HOME && rm -rf SMS && git clone https://github.com/ps2homebrew/SMS.git && cd SMS && make rebuild
    Code:
    cd $HOME && rm -rf 3d-cube && git clone https://github.com/doctorxyz/3d-cube.git && cd 3d-cube && make rebuild
    Code:
    cd $HOME && rm -rf myPS2 && git clone https://github.com/ps2homebrew/myPS2.git && cd myPS2 && make clean

    Downloaded Sources:
    Other projects compile successfully too, like HDL-GameInstaller, HDL-GameUpdater or PS2Ident for example...
    These are some examples, which you can't pull from git (SP193 only has them on his page, not on his git) so you download the sources (it is the same for other apps, from other sources), put them in a directory simply with the 'Windows-Explorer'...

    i.e. copy the source-folder (I'm using 'HDLGI' here) of your project to D: and type this use this:

    Code:
    cd /mnt/d/HDLGI && make

    The toolchain&sdk comes with some samples.
    Use this code, to compile the "Blitting"-sample:
    Code:
    cd build/psl1ght/samples/graphics/blitting/ && make
  • Once a newer build is published you can update the things, instead of reinstalling everything from the beginning.

    ~Placeholder~
  • Use Windows-Explorer (or another programm, like the Editor/Notpad), with the Distro/bash/WSL:
    Open the folder you are currently in, via
    Code:
    explorer.exe .
    in Windows!
    If you want to use another app, you have to call that exe instead!

    When this doesn't work:
    For some weird reason that didn't work for me in "Debian", but it worked well in "Ubuntu (20.04)"!

    HOWEVER... There is a workaround which worked, see the next tipp!


    Shortcuts to folders within a distro (like the home-folder of a user):
    Creating a "shortcut" to "wsl$". From there you can go into your distribution (when it is running) and you can also set the shortcut directly to your user-home-folder!


    Set/Default all distributions to a specific WSL-Version!
    Code:
    wsl --set-default-version 2


    ~Placeholder~
  • Corrupted setup/install:
    If you "corrupted" the distribution too much, just uninstall it and start from the beginning.
    You can uninstall and re-install "bash" via the following commands.

    Uninstall bash via
    Code:
    lxrun /uninstall /full
    Reinstall bash via
    Code:
    bash

    Forcing WSL-Version upon a distro:
    Sometimes things don't work out as planned, or you want to test something with another WSL-Version. You can do that by executing the following line in cmd/Powershell/Windows-Terminal.

    Find installed distributions:
    Code:
    wsl --list --verbose
    Set WSL-Version for a specific distribution!
    Code:
    wsl --set-version <distribution name> <versionNumber>


    Fixing a folder-issue by removal:
    If it fails somewhere and you need to delete a folder, use
    Code:
    sudo rm -rf "folder you want to delete"
    ...for example...
    Code:
    sudo rm -rf $PS3DEV
    to get rid of the folder.


    Limiting RAM-Usage:
    On some PCs the WSL-"Window" crashes, for example when an SSD is used (without a Swap-File) and the RAM is limited (happened to me on 5.7GB out of 6GB usable RAM).
    Here is a tip/trick, to force wsl into using less RAM!

    First off...
    Open a CMD and enter
    Code:
    bash
    ...and then...
    Code:
    free --giga -h
    to see how many you currently use (it showed me "4.5GB").

    Now make sure that wsl is being terminated!
    Enter
    Code:
    wsl --shutdown
    and maybe repeat it a few times (to make sure, it really terminated WSL!)!

    Then create a file named ".wslconfig" (yes, with a leading dot) and enter the following with a text-editor:
    Code:
    [wsl2]
    memory=3GB
    ...or use any amount of memory you want to...
    Save the file to "c:\Users\%username%\" with the name ".wslconfig".

    Now open a CMD and enter
    Code:
    bash
    ...and then...
    Code:
    free --giga -h
    again, to see if the "fix" worked!

    ~Placeholder~
  • Here I will list some of your and my suggestions and/or the status of things.
    • Linux-Desktop-Install and usage (Partially done! WIP!)
    • Installation, Linking and Usage of Linux-GUI-Apps
    • Performance-Tweaks
    • Fixing some commands for app-compilation
    • adding more SDKs&toolchains
    • Update-Section has to be written
    • related videos need to be linked
    • More ideas for the "Tips&Tricks"- and the "Troubleshooting"-Tab
    • Adding more references
    • etc.

    Suggestions are welcome!
  • ~Placeholder~
    PS2SDK - English:
    ~Placeholder~

    PS2SDK - PT-BR:
    ~Placeholder~
    ~Placeholder~
  • Creditz:
    • The Scene: Thanks to all those who have contributed to the various platforms, SDKs&Toolchain, Tutorials&Scripts to install them and The Scene in general, in any way...
    • Microsoft for WSL(1)&WSL2 + additional support
    • Linus Torvalds for his work and the creation of the Linux-Kernel (etc.) and everyone who contributed to Linux.
    • Various people for their ideas surrounding WSL(1)/WSL2.
    • No copyright for the tutorial/guide/HowTo intended.


    References:
    PS1SDK ("PSn00bSDK) - GitHub:
    https://github.com/Lameguy64/PSn00bSDK

    PS2SDK - GitHub:
    https://github.com/ps2dev/ps2dev

    PS3SDK ("PSL1ght") - GitHub:
    https://github.com/ps3dev/ps3toolchain

    PSVita/PSTV-SDK - GitHub:
    https://github.com/vitasdk/vdpm


    MS-WSL(1)/WSL2-Guide:
    https://docs.microsoft.com/en-us/windows/wsl/install-win10
    https://docs.microsoft.com/en-us/windows/wsl/wsl-config

    Windows Terminal - Guide:
    https://docs.microsoft.com/en-us/windows/terminal/

    Docker-Guide:

    https://docs.docker.com/docker-for-windows/wsl/
    https://docs.docker.com/

    Visual-Studio-Guide:
    https://code.visualstudio.com/blogs/2020/03/02/docker-in-wsl2

    PowerToys:
    https://github.com/microsoft/PowerToys

    Microsoft Development-Environment-Guide:
    https://docs.microsoft.com/en-us/windows/dev-environment/overview

    "KDE Neon"/kWSL:
    https://www.reddit.com/r/bashonubuntuonwindows/comments/k1m6n5/kde_neon_for_windows_wsl1/


    ~Placeholder~


    Notes:
    Share however you want to, but it would be cool if you refer to this thread/tutorial. :)

    The same should be possible on the various subsystems (like POSIX, NetBSD/FreeBSD[?]) of various Windows-Versions, although it might need some adaptions.


Have fun compiling apps for various systems and hopefully you can contribute something!
 
Last edited:
Thanks! I will expand it with SDKs&Toolchains for other platforms later on.

I just need some suggestions from the users, what I should add.
PS3, PSvita, etc.?!
 
I can add it... Is it (Linux) required for the PS3 SDKs out there?
Which one should I add?

Anything else I should add and which requires Linux?
 
PS3 and Vita should be good additions. If you have to pick one, I'd go with PS3... (the Vita scene is quite alive and has the most mature toolchain, docs, and dev community, so anyone who wants to do vita-dev can already find everything)
 
  • Like
Reactions: TnA
Which PS3SDKs are available out there (legal/open versions)?
"PSL1ght"? Anything else?
Where can I find instructions for those?
 
I can add it... Is it (Linux) required for the PS3 SDKs out there?
Which one should I add?

Anything else I should add and which requires Linux?

for the PS3 toolchain and PSL1GHT sdk, linux is not mandatory (can be compiled on cygwin, linux or macos), but everything is still very *nix oriented (dependent?) so doing it under WSL is still a good way to get everything running easily


Which PS3SDKs are available out there (legal/open versions)?
"PSL1ght"? Anything else?
Where can I find instructions for those?

right, the only open-source PS3 sdk I know is PSL1GHT (the other one is the official licensed sdk)

you can find the original instructions here: https://github.com/ps3dev/ps3toolchain

also, here's my own tutorial for PSL1GHT under macOS (it might give you some ideas): http://www.bucanero.com.ar/2019/08/14/building-your-ps3-dev-environment-on-macos/
 
Last edited by a moderator:
THX! I will add it (PSL1ght and PS2 new WIP PS2SDK), once I have the time to do it (including tests). :)


Edit:@bucanero I started with it and it is currently only a rough draft, but I have some questions.
On the PS2SDK+Toolchain+Ports-Section I can install the whole environment (not limited to the toolchain) and I would like to do that as well for the PS3-related stuff.

Is there a "full" build-script?


I also copied the Spoiler for the PS2SDK-Installation, as a preparation for the "WIP PS2SDK Install"-Spoiler.

I added spoilers for videos and for compiling for the PS3 as well (as placeholders) and added the GitHub-repos for PS2dev and PS3dev to the "Resources" in the "Creditz&Co."-Tab.


Btw.: THX, your links are useful!


Edit: Alright, I shortened some commands and hence emptied the WIP PS2SDK Spoiler for the time being (until I'm done with updating the original Spoiler).
 
Last edited:
@bucanero I started with it and it is currently only a rough draft, but I have some questions.
On the PS2SDK+Toolchain+Ports-Section I can install the whole environment (not limited to the toolchain) and I would like to do that as well for the PS3-related stuff.

Is there a "full" build-script?

yes, please use the full build script from here:
https://github.com/ps3dev/ps3toolchain

then you just need to execute toolchain.sh (or toolchain-sudo.sh)

that script has everything, it will build the cross-compilers, the PSL1GHT lib, and will install all the additional ported libraries such as zlib, tiny3d, etc
 
  • Like
Reactions: TnA
THX, I will add that in a few hours.

I have to work for the next few hours and then add it.

I already updated the sourcing profile-spoiler, the dependencies-spoiler and will work on the rest then!

Thank you!


Edit: Alright, I updated the cloning-&install-spoiler as well.
Let's see if it installs properly and if it does, I will try compiling a sample and add that to the compiling-tab! :)


Edit: Well, I added the things... However... I don't have enough RAM, lol.
Bash crashed on me...
I try it again with more stuff terminated.


Edit: Alright, the PS3SDK and compiling the blitting-sample worked as well and I added those to the first post.

Is there any additional stuff to install for the PS3SDK/PSL1ght (I left an additional Spoiler there, as a placeholder for additional stuff.)?
I am keen to get some more examples/projects, which I should include the compiling-instructions for.

I also added some more stuff like deleting a folder (to fix an issue), or limiting RAM-Usage of WSL to the trouble-shooting-tab!

So? What is next? What's the next platform?
I'd like to add the Sony-related platforms first and especially if there are no Windows-native SDKs but only *nix-oriented available for a certain platform/console, but I can also include the instructions for other consoles like the Wii or Switch or whatever, later on...! :)
 
Last edited:
  1. Those who use the instructions for the PS2SDK&Toolchain, will build the new WIP SDK with it (at least I think it works)! I will update the first post accordingly and add instructions, how to add the now "old" SDK in parallel to the now "current" SDK!
  2. I will add instructions for the "PSn00bSDK" (Open Source PS1SDK) as well.
It will take a while, because I am still out in the woods for over a week and have no WiFi here.

While I wanted to add Sony-related Console-SDKs, multiple people told me that it would be nice if I add other consoles and handhelds (GC, WII, DC, PSP, etc.) as well, so any pointers to instructions (and so on) are much appreciated!

Please also tell me, if those have a "Windows-Version" which do NOT need something like MinGW (as in "natively ported tools") or if they need it!
 
@TnA
the build-all.sh script keeps failing
i've followed everything in the tutorial

the errors are:
Code:
32_big_generic_vec ../../bfd/targets.c
make[2]: *** [Makefile:942: all-recursive] Error 1
make[1]: *** [Makefile:1088: all-recursive-am] Error 2
make: *** [Makefile:1644: all-bfd] Error 2
../scripts/001-binutils.sh: Failed.
../scripts/001-dvp.sh: Failed.
../scripts/001-toolchain.sh: Failed.
[1]+  Exit 128                cd $PS2DEV && git clone https://github.com/ps2dev/ps2dev.git  (wd: ~/_ps2dev)
(wd now: ~/_ps2dev/ps2dev)
 
  • Like
Reactions: TnA
I found that make errors that look like such:
unknown.png

Is related to not having the gettext package installed.
@El_isra Could this possibly be related to your issue?
 
  • Like
Reactions: TnA
Nice tutorial. Sadly i'm still not able to install PS2 SDK properly :/

Few suggestions i have.

Code:
Start the 'Microsoft Store', search for your distribution, click install! Done!
This tutorial has been tried with "Ubuntu" and "Debian".

After that:
start CMD with admin-priviledges (just to be sure), by right-clicking on the Windows/Start-Button...
type 'bash' (without quotes) into CMD
verify the download-request and let it downl
This step required from me to first launch ubuntu from icon in start menu at least 1 time, otherwise bash command not work in CMD.

Code:
cd $PS2DEV && git clone https://github.com/ps2dev/ps2dev.git && cd ps2dev && ./build-all.sh
Here building failed due to missing dependencies. Running this helped (can be squashed to 1 command i guess, i just copy pasted that).
sudo apt-get install make patch git texinfo flex bison gettext wget mpc
sudo apt-get install libgsl-dev
sudo apt-get install libgmp-dev
sudo apt-get install libmpfr-dev libmpfr-doc

After that running:
cd ps2dev && ./build-all.sh
Get me to that error, which i have no idea how to resolve.. Ubuntu 20.04, WSL2, latest W10 x64
upload_2021-2-3_8-52-51.png
 
  • Like
Reactions: TnA
I updated the first post/tutorial.
  • I updated the instructions for the new PS2SDK (It compiles now and I tried building OPL with it, which worked as well.)
  • I will remove the redundant dependencies in the PS2SDK-Instructions later on.
  • I added the instructions for the PSVita / PSTV SDK
  • I am currently adding the instructions for the PS1 / PSn00bSDK
  • I updated some small other things, like the sorting of "Part B" and made some "headlines" per console or mentioned the newly included SDKs (Vita/PSTV and PS1) in the beginning.

Edit:

PlayStation (1) - "PSn00bSDK": I have to update more instructions. Currently doesn't work!
PlayStation 2
- "new PS2SDK": Works!
PlayStation 3
- "PSL1ght": Hasn't changed this time. Works!
PlayStation Vita / TV
- "VitaSDK": Works!

What else to add and update? ;)
 
Last edited:
So what else do you all have in mind?
  • Other SDK&Toolchain: PSP, PS4 (Orbis?), PS5 (if there is one), PS Classic (is there one?), GC, Wii, WiiU, Switch, N64, etc.?
  • IDE support/implementation?
  • the stuff in the tab...
Ideas? Tipps? Anything you want to see or contribute @everyone?
 
Back
Top