Skip to content

Releases: ItsBlurf/PoorDS4

PoorDS4 v0.1.0-rc38

Choose a tag to compare

@ItsBlurf ItsBlurf released this 08 Aug 23:21

PoorDS4 RC38 fixes controller routing in games that preallocate more than one disconnected pad slot and adds an exact firmware 8.60 compatibility manifest.

What changed

  • Match the destination by the DS4's unique (user ID, pad index) before using the existing global fallback. This fixes Pragmata while preserving correct P1/P2 routing when a DualSense is also connected.
  • Reject duplicate controller identities and require the source identity for a sole connected fallback instead of guessing.
  • Add the exact 8.60 (0x08600004) six-export manifest recovered from the supplied firmware report. All structural and fail-closed checks still run before any game import is changed.
  • Extend compatibility reports to schema 5 with per-entry user IDs and source-identity counts.
  • Make release builds reproducible and strip workstation paths from public assets.

Verification

  • On firmware 11.60, one RC38 session followed Pragmata, JoJo, and FC26 without reinjection. Pragmata accepted input, JoJo entered a battle, and FC26 reached gameplay.
  • The exact stripped release ELF was installed again into a live game and produced translated frames and button changes with zero read, write, lease, contention, or bridge-health failures.
  • All targets compile warning-free with ps5-payload-sdk v0.42 and pass PS5-target static analysis, focused-tree safety assertions, ELF ABI checks, and SDK dependency checks.
  • Two independent clean release builds produced byte-identical assets and the checksums in SHA256SUMS.txt.

Firmware status

  • 11.60: RC38 live-tested across Pragmata, JoJo battle, and FC26 gameplay.
  • 8.60: exact manifest added from the supplied source report; RC38 controller testing on 8.60 is still required.
  • 12.40: exact manifest retained from supplied reports; RC38 hardware testing is still required.
  • Other firmware: eligible only after every bounded structural runtime check passes; untested versions are not guaranteed.

Download PoorDS4rc38.elf for normal automatic use. PoorDS4-status.elf is read-only. Use PoorDS4-stop.elf for cooperative cleanup or before replacing a running build. PoorDS4 exits for rest mode safety and must be reinjected after wake.

PoorDS4 v0.1.0-rc37

Choose a tag to compare

@ItsBlurf ItsBlurf released this 08 Aug 21:26

PoorDS4 RC37 is a repository and payload-dependency cleanup release.

What changed

  • Removed unused libScePad, libSceNet, pthread, and dynamic-loader link inputs.
  • The automatic bridge now links only the kernel/libc runtime and its direct user-service dependency.
  • The status and stop utilities now link only the kernel/libc runtime they use.
  • Added static build assertions that prevent these unrelated dependencies from returning.

No controller, hook, lifecycle, firmware-admission, logging, or game-routing source changed from RC36.

Verification

  • Warning-free build with ps5-payload-sdk v0.42 and the workspace PS5 compiler wrapper.
  • Focused-tree static audit passes with an exact 16-file allowlist.
  • All three outputs are FreeBSD x86-64 PIE/DYN PS5 payloads and pass SDK dependency checks.
  • PoorDS4rc37.elf needs only libkernel_web, libSceLibcInternal, and libSceUserService.
  • The status and stop ELFs need only libkernel_web and libSceLibcInternal.
  • The tracked tree contains no previous project-name or development-tool fingerprints.

Firmware status

  • 11.60: controller logic extensively live-tested in the RC35 line; RC36 renamed it and RC37 changes linkage only.
  • 12.40: exact compatibility manifest verified from supplied reports; RC37 hardware run outstanding.
  • Other firmware: admitted only after all structural runtime checks pass; hardware-unverified.

The console was offline during this linkage-only publication pass, so RC37 was not reinjected. Download PoorDS4rc37.elf for normal automatic use. PoorDS4-status.elf is read-only. Use PoorDS4-stop.elf for cooperative cleanup.

PoorDS4 v0.1.0-rc36

Choose a tag to compare

@ItsBlurf ItsBlurf released this 08 Aug 21:11

PoorDS4 RC36 is the first public release under the new project name.

What changed

  • Renamed the product, payloads, notifications, runtime files, reports, and public code identifiers to PoorDS4.
  • Runtime diagnostics now use /data/poords4/.
  • Removed Ghostcontrol's USB implementations, launchers, research files, and prebuilt binaries from the active tree so this fork serves only the wireless DS4 bridge.
  • Added prominent and detailed attribution to Ghostcontrol/StonedModder, ps5-payload-sdk, and kstuff-lite.
  • Retained the RC35 lifecycle and game-switch fixes, including reader-before-game admission, bounded launch retries, safe rest cleanup, reconnect continuity, and multi-controller routing.
  • Renamed the legacy bridge marker to bridge ABI v1 without changing its value, preserving stale-bridge cleanup compatibility.

Verification

  • Warning-free build with ps5-payload-sdk v0.42.
  • Static repository audit, Clang static analysis, and PS5 ELF ABI analysis pass.
  • Source and release ELFs contain no previous project name or development-tool fingerprints.
  • The RC36 tree is byte-for-byte equivalent to the tested RC35 logic apart from names, runtime paths, diagnostics, and build metadata.
  • RC35 was live-tested on firmware 11.60. The console was offline during the RC36 publication pass, so RC36 itself was not reinjected during this rename-only release.

Firmware status

  • 11.60: RC35 logic extensively live-tested; RC36 is the naming-only successor.
  • 12.40: exact compatibility manifest verified from supplied reports; RC36 hardware run outstanding.
  • Other firmware: admitted only after all structural runtime checks pass; hardware-unverified.

Download PoorDS4rc36.elf for normal automatic use. PoorDS4-status.elf is read-only. Use PoorDS4-stop.elf for cooperative cleanup. For compatibility reports, copy the complete /data/poords4/ directory and review it before posting publicly.