Linux payload implementing HV exploits to run a custom bootloader
Linux payload implementing HV exploits to run a custom bootloader
ps5-linux leverages patched HV vulnerabilities to transform your PS5 Phat and Slim console running 3.00-7.61 firmwares into a highly capable Linux PC, unlocking its full hardware potential for desktop use. Powered by 8 CPU cores (16 threads) at 3.5 GHz and a GPU at 2.23 GHz, it provides enough performance to run Steam games and various emulators with impressive fluidity.
Features:
ps5-linux is only supported on PS5 Phat and Slim on the following firmwares:
Support for 1.xx and 2.xx firmwares may be added in the future, but we will not prioritize this effort.
If you are on firmwares in-between or you want to update to a specific firmware, download the correct PUP and follow the official guide to upgrade your PS5. Obviously you cannot downgrade.
To run ps5-linux, you need some required and optional hardwares:
Settings → System → Power Saving → Features Available in Rest Mode and set Supply Power to USB Ports to Always.Settings → HDMI → Enable HDMI Device LinkSettings → System Software → System Software Update and SettingsSettings → System Software → Report System Software Errors AutomaticallyIf you reset your PS5 settings or reinstall the FW, you need to reapply these settings again.
You can download them from ps5-linux-image. Recommended is ps5-ubuntu2604.img.xz. Unpack the .xz file.
If you use Windows, run this in PowerShell or CMD as administrator to install WSL
wsl --install
Install docker:
sudo apt update
sudo apt install docker.io -y
sudo service docker start
sudo usermod -aG docker $USER
Then clone and build:
cd ~/
git clone https://github.com/ps5-linux/ps5-linux-image
cd ps5-linux-image
chmod +x ./build_image.sh
./build_image.sh --distro ubuntu2604
The finished image is written to output/ps5-ubuntu2604.img.
Minimum drive size: 64 GB. An external SSD is strongly recommended.
# check drive name with lsblk / diskutil list
sudo dd if=output/ps5-ubuntu2604.img of=/dev/sdX bs=4M status=progress conv=fsync
Download Balena Etcher, select the .img file, select your USB drive, click Flash.
The following USB ports are supported for booting:
The front top Type-A port is USB 2.0 which is slower and thus not recommended.
git clone https://github.com/idlesauce/umtx2dns.conf to point manuals.playstation.net to your PCs IP addresssudo python fakedns.py -c dns.confsudo python host.py0.0.0.0python3 payload_sender.py $PS5IP 50000 payloads/lapse.jsIf you're on ARM64 Linux, first install the x86-64 cross-compilation tools before:
sudo apt install gcc-x86-64-linux-gnu binutils-x86-64-linux-gnu
Either download ps5-linux-loader.elf, or install ps5-payload-sdk and compile it yourself:
git clone https://github.com/ps5-linux/ps5-linux-loader
cd ps5-linux-loader
make
Send the payload with your $PS5IP (shown on the page):
socat -t 99999999 - TCP:$PS5IP:9021 < ps5-linux-loader.elf
If all is successful, the payload will automatically go into rest mode. Wait until the orange LED stops blinking and becomes static. Only then, press the power button again to boot your PS5 into Linux. If the boot is successful, the LED should turn white. If it boots back into PS5 OS, then it's because you pressed the power button too early. Or, you did not enable rest mode features as described above. If it freezes instead of going into rest mode, then it is likely because you have etahen/kstuff enabled, which is incompatible. Disable them.
If the LED is white, but you still have a blackscreen then:
video=DP-1:1920x1080@60 line in cmdline.txt.amdgpu.force_1080p=1 in cmdline.txt in the FAT32 partition of the USB drive.If none of this helps, please report the issue in our Discord server and provide your EDID information.
Configure your system and memorize your login password.
Then, there are certain settings and commands we recommend doing:
Disable screen saver, as it is currently buggy.
Possibly, you have to disable and reenable your Wired/WLAN connection to get internet connection.
Hold packages to prevent updating the kernel when doing apt upgrade:
sudo apt-mark hold linux-generic linux-generic-hwe-24.04 linux-generic-hwe-26.04 linux-image-generic linux-image-generic-hwe-24.04 linux-image-generic-hwe-26.04 linux-headers-generic linux-headers-generic-hwe-24.04 linux-headers-generic-hwe-26.04
Install Firefox:
sudo snap install firefox
Update mesa:
sudo snap refresh mesa-2404 --channel=latest/edge
sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update
sudo apt upgrade
Clone our ps5-linux-tools:
sudo apt install zlib1g-dev
git clone https://github.com/ps5-linux/ps5-linux-tools
cd ps5-linux-tools
make
If you have a Marvell WLAN chip (lspci -nn shows 40:00.7 Ethernet controller [0200]: Marvell Technology Group Ltd. Device [1b4b:2b56] (rev 02)), then you can install the WLAN driver:
git clone https://github.com/ps5-linux/ps5-linux-mwifiex
cd ps5-linux-mwifiex
sudo ./install.sh
You can use a M.2 SSD exclusively for Linux (which means you cannot use it for PS5 game storage).
Settings → Storage → M.2 SSD Storage.cd ps5-linux-tools
sudo ./m2_init
sudo reboot. If your PS5 asks you to format your M.2 again, please report this issue to us in our Discord server and provide your M.2 model and storage size.ps5-ubuntu2604.img image that you built during installation or rebuild it on your PS5. Then, install it onto your M.2:cd ps5-linux-tools
chmod +x ./m2_install.sh
sudo ./m2_install.sh --install $PATH_TO_YOUR_IMG
Now, you can boot into Linux on your M.2 via:
cd ps5-linux-tools
chmod +x ./m2_exec.sh
sudo ./m2_exec.sh
Then follow the same instructions again as the previous section.
In order to always boot Linux from your M.2, you can edit the label at /boot/efi/cmdline.txt from root=LABEL=ubuntu2604 to root=LABEL=ubuntu2604-m2. You will still require a USB drive with the FAT32, but you can reformat the ext4 partition.
We provide a simple tool that allows you to boost your CPU to 3500Mhz and GPU to 2230MHz as well as changing the fan curve:
cd ps5-linux-tools
sudo ./ps5_control --fan on
sudo ./ps5_control --boost on
Always turn on fan when your turn on boost, as this is what the official PS5 OS does.
For any future ps5-linux updates, you can download the .deb or .pkg.tar.zst on your PS5 from ps5-linux-patches and install them like normal packages.
RADV_DEBUG=nohiz as recommended for BC250 as well.cmdline.txt in the FAT32 partition.vram.txt in the FAT32 partition. By default, it uses 512MB (0x20000000) which enables Dynamic VRAM allocation.cmdline.txt. Confirmed working without video=DP-1:1920x1080@60 on:M
No open issues yet, or sync has not completed.