shadPS4/documents/building-linux.md
2024-09-27 13:55:25 +02:00

2.1 KiB

Build shadPS4 for Linux

Install the necessary tools to build shadPS4:

Debian & Ubuntu

sudo apt install build-essential clang cmake libasound2-dev libpulse-dev libopenal-dev libssl-dev zlib1g-dev libedit-dev libvulkan-dev libudev-dev git libevdev-dev libsdl2-dev libjack-dev libsndio-dev qt6-base-dev qt6-tools-dev qt6-multimedia-dev

Fedora

sudo dnf install alsa-lib-devel cmake libatomic libevdev-devel libudev-devel openal-devel openssl-devel qt6-qtbase-devel qt6-qtbase-private-devel vulkan-devel pipewire-jack-audio-connection-kit-devel qt6-qtmultimedia-devel qt6-qtsvg-devel qt6-qttools-devel vulkan-validation-layers

Arch Linux

sudo pacman -S clang openal cmake vulkan-validation-layers qt6-base qt6-declarative qt6-multimedia sdl2 sndio jack2 base-devel

OpenSUSE

sudo zypper install clang git cmake libasound2 libpulse-devel openal-soft-devel libopenssl-devel zlib-devel libedit-devel vulkan-devel systemd-devel qt6-base-devel qt6-multimedia-devel qt6-svg-devel qt6-linguist-devel qt6-gui-private-devel libevdev-devel libsndio7 libjack-devel

Cloning and compiling:

Clone the repository recursively:

git clone --recursive https://github.com/shadps4-emu/shadPS4.git
cd shadPS4

Generate the build directory in the shadPS4 directory. To disable the QT GUI, remove the -DENABLE_QT_GUI=ON flag:

Note: Clang is the compiler used for official builds and CI. If you build with GCC, you might encounter issues—please report any you find. If you choose to use GCC, we recommend building with Clang at least once before submitting a pull request.

cmake -S . -B build/ -DENABLE_QT_GUI=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++

Enter the directory:

cd build/

Use make to build the project:

cmake --build . --parallel$(nproc)

Now run the emulator. If QT is enabled:

./shadps4

Otherwise, specify the path to your PKG's boot file:

./shadps4 /"PATH"/"TO"/"GAME"/"FOLDER"/eboot.bin