[GH-ISSUE #3342] [APP BUG]: Hi, I'm testing DRIVECLUB with ShadPS4 and running into softlocks caused by unimplemented stubbed functions. The game boots but gets stuck, likely due to missing controller initialization and PlayGo logic. #1026

Closed
opened 2026-02-27 21:09:31 +03:00 by kerem · 2 comments
Owner

Originally created by @Akeem12rc on GitHub (Jul 27, 2025).
Original GitHub issue: https://github.com/shadps4-emu/shadPS4/issues/3342

Checklist

  • I have searched for a similar issue in this repository and did not find one.
  • I am using an official build obtained from releases or updated one of those builds using its in-app updater.

Describe the Bug

Here are the stubbed calls showing up in the log:

[Lib.Pad] pad.cpp:270 scePadOpenExt: (STUBBED) called
[Lib.PlayGo] playgo.cpp:94 scePlayGoGetInstallSpeed: called
[Lib.PlayGo] playgo.cpp:213 scePlayGoGetToDoList: called handle = 1 numberOfEntries = 100

Reproduction Steps

Problems:

  • scePadOpenExt being stubbed causes DRIVECLUB to not recognize any controller input, softlocking it.
  • The PlayGo calls (scePlayGoGetInstallSpeed, scePlayGoGetToDoList) seem to loop indefinitely, possibly making the game think it's still installing content.

Feature Request:

Could you please implement basic fake returns for the following functions?

  • scePadOpenExt: return a valid fake handle like 0x100
  • scePlayGoGetInstallSpeed: return a high value (e.g. 999999) to fake fast install
  • scePlayGoGetToDoList: return 0 entries to simulate a completed install

These changes don't need to be 100% accurate — just enough to let the game progress past early initialization.

System Specs (for context):

  • CPU: AMD Ryzen 7 5700X
  • GPU: NVIDIA RTX 2070 SUPER
  • RAM: 32GB
  • WINDOWS 11:

Thank you for the awesome work on this emulator! Really excited to see how far it's come.
SORRY if it sounds so robotic ive been trying everything by myself and i gave up

Expected Behavior

No response

Specify OS Version

windows 11

CPU

ryzen 7 5700x

GPU

rtx 2070 super

Amount of RAM in GB

32gb

Originally created by @Akeem12rc on GitHub (Jul 27, 2025). Original GitHub issue: https://github.com/shadps4-emu/shadPS4/issues/3342 ### Checklist - [x] I have searched for a similar issue in this repository and did not find one. - [x] I am using an official build obtained from [releases](https://github.com/shadps4-emu/shadPS4/releases) or updated one of those builds using its in-app updater. ### Describe the Bug Here are the stubbed calls showing up in the log: [Lib.Pad] <Error> pad.cpp:270 scePadOpenExt: (STUBBED) called [Lib.PlayGo] <Info> playgo.cpp:94 scePlayGoGetInstallSpeed: called [Lib.PlayGo] <Info> playgo.cpp:213 scePlayGoGetToDoList: called handle = 1 numberOfEntries = 100 ### Reproduction Steps ### Problems: - `scePadOpenExt` being stubbed causes DRIVECLUB to not recognize any controller input, softlocking it. - The PlayGo calls (`scePlayGoGetInstallSpeed`, `scePlayGoGetToDoList`) seem to loop indefinitely, possibly making the game think it's still installing content. ### Feature Request: Could you please implement **basic fake returns** for the following functions? - `scePadOpenExt`: return a valid fake handle like `0x100` - `scePlayGoGetInstallSpeed`: return a high value (e.g. `999999`) to fake fast install - `scePlayGoGetToDoList`: return `0` entries to simulate a completed install These changes don't need to be 100% accurate — just enough to let the game progress past early initialization. ### System Specs (for context): - **CPU:** AMD Ryzen 7 5700X - **GPU:** NVIDIA RTX 2070 SUPER - **RAM:** 32GB - **WINDOWS 11:** Thank you for the awesome work on this emulator! Really excited to see how far it's come. SORRY if it sounds so robotic ive been trying everything by myself and i gave up ### Expected Behavior _No response_ ### Specify OS Version windows 11 ### CPU ryzen 7 5700x ### GPU rtx 2070 super ### Amount of RAM in GB 32gb
kerem closed this issue 2026-02-27 21:09:32 +03:00
Author
Owner

@StevenMiller123 commented on GitHub (Jul 27, 2025):

Few notes here:
Firstly, DRIVECLUB™ does get past early initialization on current shadPS4 main builds. If I remember correctly, you need to enable readbacks in the shadPS4 settings for it to work.
Secondly, scePlayGo functions are called by the game, when the game is loading content. There shouldn't be any issues with how these are implemented currently, otherwise no one would be running the game on official builds yet.
Lastly, our goal is accurate emulation. We're trying to avoid adding hacks, especially ones that would harm other game's compatibility.

Also, when submitting reports about game issues, please use the GAME BUG template and follow it's rules.

<!-- gh-comment-id:3124788487 --> @StevenMiller123 commented on GitHub (Jul 27, 2025): Few notes here: Firstly, DRIVECLUB™ does get past early initialization on current shadPS4 main builds. If I remember correctly, you need to enable readbacks in the shadPS4 settings for it to work. Secondly, scePlayGo functions are called by the game, when the game is loading content. There shouldn't be any issues with how these are implemented currently, otherwise no one would be running the game on official builds yet. Lastly, our goal is accurate emulation. We're trying to avoid adding hacks, especially ones that would harm other game's compatibility. Also, when submitting reports about game issues, please use the GAME BUG template and follow it's rules.
Author
Owner

@Akeem12rc commented on GitHub (Jul 27, 2025):

hey sorry to be annoying that fixed it but now its saying this

[Lib.PlayGo] playgo.cpp:94 scePlayGoGetInstallSpeed: called
[Lib.Pad] pad.cpp:142 scePadGetExtControllerInformation: called handle = -1
[Core] stubs.cpp:42 CommonStub: Stub: sceNpSnsFacebookDialogUpdateStatus (nid: fjV7C8H0Y8k) called, returning zero to 0x8006f4732
[Core] stubs.cpp:42 CommonStub: Stub: sceNpSnsFacebookDialogUpdateStatus (nid: fjV7C8H0Y8k) called, returning zero to 0x8006f4732
[Lib.Http] http.cpp:847 sceHttpWaitRequest: (STUBBED) called
[Lib.Pad] pad.cpp:142 scePadGetExtControllerInformation: called handle = -1
[Core] stubs.cpp:42 CommonStub: Stub: sceNpSnsFacebookDialogUpdateStatus (nid: fjV7C8H0Y8k) called, returning zero to 0x8006f4732
[Core] stubs.cpp:42 CommonStub: Stub: sceNpSnsFacebookDialogUpdateStatus (nid: fjV7C8H0Y8k) called, returning zero to 0x8006f4732
[Lib.Http] http.cpp:847 sceHttpWaitRequest: (STUBBED) called
[Lib.PlayGo] playgo.cpp:94 scePlayGoGetInstallSpeed: called

<!-- gh-comment-id:3124791324 --> @Akeem12rc commented on GitHub (Jul 27, 2025): hey sorry to be annoying that fixed it but now its saying this [Lib.PlayGo] <Info> playgo.cpp:94 scePlayGoGetInstallSpeed: called [Lib.Pad] <Info> pad.cpp:142 scePadGetExtControllerInformation: called handle = -1 [Core] <Error> stubs.cpp:42 CommonStub: Stub: sceNpSnsFacebookDialogUpdateStatus (nid: fjV7C8H0Y8k) called, returning zero to 0x8006f4732 [Core] <Error> stubs.cpp:42 CommonStub: Stub: sceNpSnsFacebookDialogUpdateStatus (nid: fjV7C8H0Y8k) called, returning zero to 0x8006f4732 [Lib.Http] <Error> http.cpp:847 sceHttpWaitRequest: (STUBBED) called [Lib.Pad] <Info> pad.cpp:142 scePadGetExtControllerInformation: called handle = -1 [Core] <Error> stubs.cpp:42 CommonStub: Stub: sceNpSnsFacebookDialogUpdateStatus (nid: fjV7C8H0Y8k) called, returning zero to 0x8006f4732 [Core] <Error> stubs.cpp:42 CommonStub: Stub: sceNpSnsFacebookDialogUpdateStatus (nid: fjV7C8H0Y8k) called, returning zero to 0x8006f4732 [Lib.Http] <Error> http.cpp:847 sceHttpWaitRequest: (STUBBED) called [Lib.PlayGo] <Info> playgo.cpp:94 scePlayGoGetInstallSpeed: called
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#1026
No description provided.