3 Commits
v2.0 ... v2.1

Author SHA1 Message Date
Echo Stretch
fa93f56e6f Added support for the remaining 5xx firmwares. (#16) 2026-05-17 22:39:06 +02:00
Andy Nguyen
e9bc2a47e1 Update readme. 2026-05-17 14:04:45 +02:00
Andy Nguyen
1c5550b6e9 Fix readme. 2026-05-17 12:55:29 +02:00
4 changed files with 140 additions and 4 deletions

View File

@@ -6,13 +6,14 @@
## PS5 firmware
*ps5-linux* is currently only supported on PS5 Phat on 3.xx and 4.xx firmwares.
*ps5-linux* is currently only supported on PS5 Phat on the following firmwares:
- **3.00**, **3.10**, **3.20**, **3.21** without M.2 support
- **4.00**, **4.02**, **4.03**, **4.50**, **4.51** with M.2 support
- **5.50** with M.2 support
- **5.00**, **5.02**, **5.10**, **5.50** with M.2 support
- **6.00**, **6.02** with M.2 support
- Support for 1.xx and 2.xx firmwares may be added in the future, but we will not prioritize this effort.
Support for 1.xx and 2.xx firmwares may be added in the future, but we will not prioritize this effort.
If you want to update to a specific firmware, [download the correct PUP](https://darthsternie.net/ps5-firmwares/) and follow the [official guide](https://www.playstation.com/en-us/support/hardware/reinstall-playstation-system-software-safe-mode) to upgrade your PS5. Obviously you cannot downgrade.
@@ -44,6 +45,10 @@ If you reset your PS5 settings or reinstall the FW, you need to reapply these se
### 1. Get a Linux image
#### Pre-built images
You can download them from [ps5-linux-image](https://github.com/ps5-linux/ps5-linux-image/releases/tag/latest). Recommended is `ps5-ubuntu2604.img.xz`.
#### Linux/macOS:
Install docker:
@@ -264,6 +269,10 @@ sudo ./ps5_control --boost on
Always turn on fan when your turn on boost, as this is what the official PS5 OS does.
## Updating ps5-linux
For any future ps5-linux updates, you can download the `.deb` or `.pkg.tar.zst` on your PS5 from [ps5-linux-patches](https://github.com/ps5-linux/ps5-linux-patches/releases) and install them like normal packages.
## FAQ
- Q: Will higher >=6.50 firmwares be supported?
@@ -282,7 +291,8 @@ Always turn on fan when your turn on boost, as this is what the official PS5 OS
- A: Via a Bluetooth dongle. Built-in Bluetooth is not yet supported.
- Q: What resolutions and refresh rates are supported?
- A: 1080p, 1440p and 2160p at 60Hz are broadly supported. 1440p@120Hz has been the only confirmed working on the DELL S3225QC yet. 120Hz or 30Hz may be added in the future.
- Q: After reboot, I get a "Repairing" screen and "Your PS5 wasn't turned off properly." screen. Is that normal?
- A: Yes, and it's harmless.
## Tips and tricks

View File

@@ -58,6 +58,9 @@ extern offset_list off_0402;
extern offset_list off_0403;
extern offset_list off_0450;
extern offset_list off_0451;
extern offset_list off_0500;
extern offset_list off_0502;
extern offset_list off_0510;
extern offset_list off_0550;
extern offset_list off_0600;
extern offset_list off_0602;

View File

@@ -218,6 +218,120 @@ offset_list off_0451 = {
.PS5_WIFI_FW_SIZE = 493000,
};
offset_list off_0500 = {
// .IOMMU_SOFTC not needed
// .VMSPACE_VM_VMID not needed
.VMSPACE_VM_PMAP = 0x1D0,
// .DATA_BASE_GVMSPACE not needed
.ACPIGBL_FACS = (0xFFFFFFFF83C982A0 - KERNEL_TEXT),
.IDT = (0xFFFFFFFF8745DCA0 - KERNEL_TEXT),
.COMMON_TSS = (0xFFFFFFFF87460850 - KERNEL_TEXT),
.STOPPED_CPUS = (0xFFFFFFFF87520DE0 - KERNEL_TEXT),
.FUN_STOP_CPUS = (0xFFFFFFFF80CAB210 - KERNEL_TEXT),
.FUN_AS_LAPIC_EOI = (0xFFFFFFFF804486E0 - KERNEL_TEXT),
.FUN_HV_UNMAP_PT_TMR = (0xFFFFFFFF80DA9060 - KERNEL_TEXT),
.FUN_MEMCPY = (0xFFFFFFFF80489E30 - KERNEL_TEXT),
.GAD_ADD_RSP_28_POP_RBP_RET = (0xffffffff80b93d94 - KERNEL_TEXT),
.GAD_IRETQ = (0xffffffff8044b06d - KERNEL_TEXT),
.GAD_POP_RDI_RET = (0xffffffff803e8778 - KERNEL_TEXT),
.GAD_POP_RSI_RET = (0xffffffff803a92b0 - KERNEL_TEXT),
.GAD_POP_RDX_RET = (0xffffffff8040dafc - KERNEL_TEXT),
.GAD_MOV_QWORD_PTR_RDI_RSI_POP_RBP_RET = (0xffffffff80603c0a - KERNEL_TEXT),
// .HOOK_ACPI_WAKEUP_MACHDEP not needed
.KERNEL_CODE_CAVE = 0x500,
.FUN_PRINTF = (0xFFFFFFFF804A74B0 - KERNEL_TEXT),
// .FUN_HV_IOMMU_SET_BUFFERS not needed
// .FUN_HV_IOMM_WAIT_COMPLETION not needed
.FUN_SMP_RENDEZVOUS = (0xFFFFFFFF80CAB7F0 - KERNEL_TEXT),
.FUN_SMP_NO_RENDEVOUS_BARRIER = (0xFFFFFFFF804B3788 - KERNEL_TEXT),
.HV_CODE_CAVE_PA = 0x62806F00,
.HV_HANDLE_VMEXIT_PA = 0x6282EBD0,
.KERNEL_UART_OVERRIDE = (0xFFFFFFFF82291378 - KERNEL_TEXT),
.KERNEL_CFI_CHECK = (0xFFFFFFFF80677FB0 - KERNEL_TEXT),
.G_VBIOS = (0xFFFFFFFF87673A50 - KERNEL_TEXT),
.FUN_TRANSMITTER_CONTROL = (0xFFFFFFFF80DA0AB0 - KERNEL_TEXT),
.FUN_MP3_INITIALIZE = (0xFFFFFFFF80BC0440 - KERNEL_TEXT),
.FUN_MP3_INVOKE = (0xFFFFFFFF80BBF160 - KERNEL_TEXT),
.PS5_WIFI_FW_OFFSET = (0xFFFFFFFF8163E2B0 - KERNEL_TEXT),
.PS5_WIFI_FW_SIZE = 493532,
};
offset_list off_0502 = {
// .IOMMU_SOFTC not needed
// .VMSPACE_VM_VMID not needed
.VMSPACE_VM_PMAP = 0x1D0,
// .DATA_BASE_GVMSPACE not needed
.ACPIGBL_FACS = (0xFFFFFFFF83C982A0 - KERNEL_TEXT),
.IDT = (0xFFFFFFFF8745DCA0 - KERNEL_TEXT),
.COMMON_TSS = (0xFFFFFFFF87460850 - KERNEL_TEXT),
.STOPPED_CPUS = (0xFFFFFFFF87520DE0 - KERNEL_TEXT),
.FUN_STOP_CPUS = (0xFFFFFFFF80CAB210 - KERNEL_TEXT),
.FUN_AS_LAPIC_EOI = (0xFFFFFFFF804486E0 - KERNEL_TEXT),
.FUN_HV_UNMAP_PT_TMR = (0xFFFFFFFF80DA9060 - KERNEL_TEXT),
.FUN_MEMCPY = (0xFFFFFFFF80489E30 - KERNEL_TEXT),
.GAD_ADD_RSP_28_POP_RBP_RET = (0xffffffff80b93d94 - KERNEL_TEXT),
.GAD_IRETQ = (0xffffffff8044b06d - KERNEL_TEXT),
.GAD_POP_RDI_RET = (0xffffffff803e8778 - KERNEL_TEXT),
.GAD_POP_RSI_RET = (0xffffffff803a92b0 - KERNEL_TEXT),
.GAD_POP_RDX_RET = (0xffffffff8054d532 - KERNEL_TEXT),
.GAD_MOV_QWORD_PTR_RDI_RSI_POP_RBP_RET = (0xffffffff80603c0a - KERNEL_TEXT),
// .HOOK_ACPI_WAKEUP_MACHDEP not needed
.KERNEL_CODE_CAVE = 0x500,
.FUN_PRINTF = (0xFFFFFFFF804AA140 - KERNEL_TEXT),
// .FUN_HV_IOMMU_SET_BUFFERS not needed
// .FUN_HV_IOMM_WAIT_COMPLETION not needed
.FUN_SMP_RENDEZVOUS = (0xFFFFFFFF80CAB7F0 - KERNEL_TEXT),
.FUN_SMP_NO_RENDEVOUS_BARRIER = (0xFFFFFFFF804B3770 - KERNEL_TEXT),
.HV_CODE_CAVE_PA = 0x62806F00,
.HV_HANDLE_VMEXIT_PA = 0x6282EBD0,
.KERNEL_UART_OVERRIDE = (0xFFFFFFFF82291378 - KERNEL_TEXT),
.KERNEL_CFI_CHECK = (0xFFFFFFFF80677FB0 - KERNEL_TEXT),
.G_VBIOS = (0xFFFFFFFF87673A50 - KERNEL_TEXT),
.FUN_TRANSMITTER_CONTROL = (0xFFFFFFFF80DA0AB0 - KERNEL_TEXT),
.FUN_MP3_INITIALIZE = (0xFFFFFFFF80BC0440 - KERNEL_TEXT),
.FUN_MP3_INVOKE = (0xFFFFFFFF80BBF160 - KERNEL_TEXT),
.PS5_WIFI_FW_OFFSET = (0xFFFFFFFF8163E2B0 - KERNEL_TEXT),
.PS5_WIFI_FW_SIZE = 493532,
};
offset_list off_0510 = {
// .IOMMU_SOFTC not needed
// .VMSPACE_VM_VMID not needed
.VMSPACE_VM_PMAP = 0x1D0,
// .DATA_BASE_GVMSPACE not needed
.ACPIGBL_FACS = (0xFFFFFFFF83C982A0 - KERNEL_TEXT),
.IDT = (0xFFFFFFFF8745DCA0 - KERNEL_TEXT),
.COMMON_TSS = (0xFFFFFFFF87460850 - KERNEL_TEXT),
.STOPPED_CPUS = (0xFFFFFFFF87520DE0 - KERNEL_TEXT),
.FUN_STOP_CPUS = (0xFFFFFFFF80CAB460 - KERNEL_TEXT),
.FUN_AS_LAPIC_EOI = (0xFFFFFFFF804486E0 - KERNEL_TEXT),
.FUN_HV_UNMAP_PT_TMR = (0xFFFFFFFF80DA9390 - KERNEL_TEXT),
.FUN_MEMCPY = (0xFFFFFFFF80489E30 - KERNEL_TEXT),
.GAD_ADD_RSP_28_POP_RBP_RET = (0xffffffff80b93fe4 - KERNEL_TEXT),
.GAD_IRETQ = (0xffffffff8044b06d - KERNEL_TEXT),
.GAD_POP_RDI_RET = (0xffffffff803e8778 - KERNEL_TEXT),
.GAD_POP_RSI_RET = (0xffffffff803a92b0 - KERNEL_TEXT),
.GAD_POP_RDX_RET = (0xffffffff8054d532 - KERNEL_TEXT),
.GAD_MOV_QWORD_PTR_RDI_RSI_POP_RBP_RET = (0xffffffff80603c0a - KERNEL_TEXT),
// .HOOK_ACPI_WAKEUP_MACHDEP not needed
.KERNEL_CODE_CAVE = 0x500,
.FUN_PRINTF = (0xFFFFFFFF804A6C78 - KERNEL_TEXT),
// .FUN_HV_IOMMU_SET_BUFFERS not needed
// .FUN_HV_IOMM_WAIT_COMPLETION not needed
.FUN_SMP_RENDEZVOUS = (0xFFFFFFFF80CABA40 - KERNEL_TEXT),
.FUN_SMP_NO_RENDEVOUS_BARRIER = (0xFFFFFFFF804B3760 - KERNEL_TEXT),
.HV_CODE_CAVE_PA = 0x62806F00,
.HV_HANDLE_VMEXIT_PA = 0x6282EBD0,
.KERNEL_UART_OVERRIDE = (0xFFFFFFFF82291378 - KERNEL_TEXT),
.KERNEL_CFI_CHECK = (0xFFFFFFFF80677FB0 - KERNEL_TEXT),
.G_VBIOS = (0xFFFFFFFF87673A50 - KERNEL_TEXT),
.FUN_TRANSMITTER_CONTROL = (0xFFFFFFFF80DA0DE0 - KERNEL_TEXT),
.FUN_MP3_INITIALIZE = (0xFFFFFFFF80BC0690 - KERNEL_TEXT),
.FUN_MP3_INVOKE = (0xFFFFFFFF80BBF3B0 - KERNEL_TEXT),
.PS5_WIFI_FW_OFFSET = (0xFFFFFFFF8163E670 - KERNEL_TEXT),
.PS5_WIFI_FW_SIZE = 493532,
};
offset_list off_0550 = {
// .IOMMU_SOFTC not needed
// .VMSPACE_VM_VMID not needed

View File

@@ -58,6 +58,15 @@ int set_offsets(void) {
case 0x0451:
env_offset = off_0451;
break;
case 0x0500:
env_offset = off_0500;
break;
case 0x0502:
env_offset = off_0502;
break;
case 0x0510:
env_offset = off_0510;
break;
case 0x0550:
env_offset = off_0550;
break;