---
title: "Installing RPCSX"
---

{% include toc title="Table of Contents" %}

{: .notice--info}

### Compatibility Notes
For the foreseeable future, installation will require Linux in some form.
{: .notice--info}

### Preperation:
#### Section I - Install dependencies
Fire up a terminal, and run the following commands.
{: .notice--info}

`sudo apt install build-essential cmake libunwind-dev libglfw3-dev libvulkan-dev vulkan-validationlayers-dev spirv-tools glslang-tools libspirv-cross-c-shared-dev`
### Fedora based systems:
Fire up a terminal, and run the following commands.
{: .notice--info}

Install `spirv-cross`.
{: .notice--info}

`sudo dnf install cmake libunwind-devel glfw-devel vulkan-devel vulkan-validation-layers-devel spirv-tools glslang-devel gcc-c++ gcc spirv-tools-devel xbyak-devel`

`git clone https://github.com/KhronosGroup/SPIRV-Cross && cd SPIRV-Cross && mkdir build && cd build && cmake .. && cmake --build . && sudo make install`
### Arch based systems:
Fire up a terminal, and run the following commands.
{: .notice--info}

`sudo pacman -S libunwind glfw-x11 vulkan-devel glslang`

Pull `spirv-cross` from the AUR. **Skip the first line if you have yay already.**
{: .notice--info}

`sudo pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si`

`yay -S spirv-cross`

#### Section II - Continued Installation:
Clone the repo.
{: .notice--info}

`git clone --recursive https://github.com/RPCSX/rpcsx && cd rpcsx`

`git submodule update --init --recursive`

Compile the emulator.
{: .notice--info}

`mkdir -p build && cd build && cmake .. && cmake --build .`

Create a virtual HDD. Note that the PS4 filesystem is **case-insensitive.**
{: .notice--info}

`truncate -s 512M ps4-hdd.exfat`

`mkfs.exfat -n PS4-HDD ./ps4-hdd.exfat`

`mkdir ps4-fs`

`sudo mount -t exfat -o uid=`id -u`,gid=`id -g` ./ps4-hdd.exfat ./ps4-fs`

#### Section III - WSL
Windows Subsystem for Linux, and ArchWSL will be appended to this guide when they are available.
{: .notice--info}

You're done! Enjoy the emulator!
{: .notice--success}
