Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Windows] Sakura-sou no Pet na Kanojo blackscreen on startup #15224

Open
3 of 5 tasks
meowthed opened this issue Dec 11, 2021 · 28 comments · May be fixed by #18443
Open
3 of 5 tasks

[Windows] Sakura-sou no Pet na Kanojo blackscreen on startup #15224

meowthed opened this issue Dec 11, 2021 · 28 comments · May be fixed by #18443
Labels
GE emulation Backend-independent GPU issues HLE/Kernel Kernel, memory manager, other HLE issues
Milestone

Comments

@meowthed
Copy link

meowthed commented Dec 11, 2021

Game or games this happens in

NPJH-50745 - さくら荘のペットな彼女

What area of the game

By the time you boot up the game. Tested on CRC-32 ff0e6f58 (Redump).

What happens

Game starts up to only a black screen. You can press circle to play a sound, but no other graphics gets displayed.

What should happen

It should display anything.

GE frame capture

recording.zip

Platform

Windows

Mobile phone model or graphics card

Nvidia Geforce 740M

PPSSPP version affected

v1.12.2 and git g204b2a48e

Last working version

None with Nvidia graphics. v1.4.2 is reported to be working using Intel graphics.

Graphics backend (3D API)

All backends (OpenGL, D3D, Vulkan)

Checklist

  • Test in the latest git build in case it's already fixed.
  • Search for other reports of the same issue.
  • Try resetting settings or older versions and include if the issue is related.
  • Try changing graphics settings to determine if one causes the glitch (especially speed hacks or enhancements/replacements.)
  • Include logs or screenshots of issue.
@ghost
Copy link

ghost commented Dec 11, 2021

How about software rendering?

@meowthed
Copy link
Author

meowthed commented Dec 11, 2021

AFAIK PPSSPP doesn't have a software render. Ran the same game on JPCSP and it renders there on both OpenGL and software renders.

@ghost
Copy link

ghost commented Dec 11, 2021

AFAIK PPSSPP doesn't have a software render. Ran the same game on JPCSP and it renders there on both OpenGL and software renders.

What is this?
Screenshot_2021-12-11-15-46-30-905_org ppsspp ppsspp

@FrenchPrick
Copy link

FrenchPrick commented Dec 11, 2021 via email

@ghost
Copy link

ghost commented Dec 11, 2021

You can't blame him for thinking it's doesn't exist because you need to mess with the PPSSPP.ini file for it to show up.

On Sat, Dec 11, 2021, 07:48 AEZ YT @.***> wrote: AFAIK PPSSPP doesn't have a software render. Ran the same game on JPCSP and it renders there on both OpenGL and software renders. What is this? [image: Screenshot_2021-12-11-15-46-30-905_org ppsspp ppsspp] https://user-images.githubusercontent.com/37603562/145668946-39ee6767-a17c-49ee-8cda-5323b8a1755a.jpg — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#15224 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASDWOXMQKAP4YEUN2DKUT4DUQL645ANCNFSM5J2RVGEQ .

I thought it's visible on windows platform 🤔

@hrydgard
Copy link
Owner

Yeah we hide the software rasterizer on Android by default for now, because it showed up in so many crash reports that I suspected people enabled it by accident, and it's still too slow, especially on ARM which doesn't have a pixel jit yet.

Might reconsider, but it's still not very playable in most games.

@FrenchPrick
Copy link

FrenchPrick commented Dec 11, 2021 via email

@meowthed
Copy link
Author

Correction: it is on Windows, but even on software renderer it's still a blackscreen.

@hrydgard hrydgard added the GE emulation Backend-independent GPU issues label Dec 11, 2021
@hrydgard hrydgard modified the milestones: v1.13.0, Future-Prio Dec 11, 2021
@unknownbrackets
Copy link
Collaborator

From some bisecting someone did, it seems this may have started at 5d17ec7. If so, it's probably other timing (or even drawing timing) that's wrong...

Also, if that's the correct cause, then it's probably not only broken on Windows.

-[Unknown]

@hrydgard hrydgard added the HLE/Kernel Kernel, memory manager, other HLE issues label Dec 11, 2021
@Panderner
Copy link
Contributor

Reminder v.1.11.3 is the last working version.

@Panderner
Copy link
Contributor

Last build working is v1.11.3-1134-g92e7534f4
The issue started in v1.11.3-1138-ged3201a27

@Panderner
Copy link
Contributor

I can reproduce this for my android phone

@Panderner
Copy link
Contributor

Reminder: Do not enable DrawSyncEatCycles for Sakura-sou no Pet na Kanojo it can cause black screen.
I tested in v.1.11.3

@hrydgard hrydgard modified the milestones: Future-Prio, v1.13.0 Dec 29, 2021
@unknownbrackets
Copy link
Collaborator

Does that mean this works when it's not set? Doesn't seem like compat.ini by default has the game ID.

-[Unknown]

@Panderner
Copy link
Contributor

Does that mean this works when it's not set? Doesn't seem like compat.ini by default has the game ID.

-[Unknown]

NPJH50745 = true Blackscreen on Startup
NPJH50745 = false The game works

@Panderner
Copy link
Contributor

Panderner commented Jan 31, 2022

It seems Crash Tag Team Racing passed the checking memory stick screen when DrawSyncEatCycles is disabled for this game in latest builds.

@hrydgard hrydgard modified the milestones: v1.13.0, Future-Prio Apr 16, 2022
@unknownbrackets
Copy link
Collaborator

Does that mean this works when it's not set? Doesn't seem like compat.ini by default has the game ID.
-[Unknown]

NPJH50745 = true Blackscreen on Startup NPJH50745 = false The game works

Okay, so if I downloaded PPSSPP onto a new phone, and ran this game - everything would work fine. However, if I manually add the game ID under DrawSyncEatCycles to compat.ini, then it starts crashing.

If that's true, it sounds like this isn't an issue, and perhaps was fixed by the cpu cycle timing changes or some other timing change. That you can make games crash or break by manually adding them to compat.ini is a feature, not a bug. There'd be no reason for that file to even exist if adding random game IDs to it had no downside.

-[Unknown]

@Panderner
Copy link
Contributor

v1.13.2-915-gc37049fa1
Still happens
log.txt

@unknownbrackets
Copy link
Collaborator

Was that with or without DrawSyncEatCycles? I'm still confused based on the previous comment.

-[Unknown]

@Panderner
Copy link
Contributor

black screen with both options even when it was set to false could not get this to work properly

NPJH50745 = true Blackscreen on Startup NPJH50745 = false The game works (didnt work for me on my PC)

@benderscruffy can you check v1.11.3-1134-g92e7534f4 and earlier if the DrawSyncEatCycles set to false works properly?

@Panderner
Copy link
Contributor

@Panderner do you know where i can get v1.11.3-1134-g92e7534f4 from ???

@benderscruffy the stable v1.11.3 works fine for this game.

@Panderner
Copy link
Contributor

where can i get it from then ??? on the site last one is 1.12.3

@benderscruffy select old versions on the download selection.

@Panderner
Copy link
Contributor

Panderner commented Dec 9, 2022

If DrawSyncEatCycles enabled for this game gets black screen on start up.

@hrydgard hrydgard modified the milestones: Future-Prio, v1.15.0 Dec 9, 2022
@hrydgard hrydgard modified the milestones: v1.15.0, v1.16.0 Mar 17, 2023
@hrydgard hrydgard modified the milestones: v1.16.0, v1.17.0 Aug 28, 2023
@sum2012
Copy link
Collaborator

sum2012 commented Nov 26, 2023

I confirm retvert 5d17ec7 can fix the issue,
I try to change another timing.
v1.16.6-333-gecab50346-windows-amd64 full debug log:
https://gist.github.com/sum2012/41fba1545753f374048259798a12f455

@sum2012
Copy link
Collaborator

sum2012 commented Nov 26, 2023

It is modify log
https://gist.githubusercontent.com/sum2012/63625cb8dfd16d06ae3de309fa39cb4d/raw/5487222d369f96917ff83e2a12d19875b3166601/gistfile1.txt

edit:try sceKernelUnlockMutex hleEatCycles(6000); don't work

sum2012 added a commit to sum2012/ppsspp that referenced this issue Nov 26, 2023
Not EatCycles when SDK < 6.60
fix hrydgard#15224
@sum2012 sum2012 linked a pull request Nov 26, 2023 that will close this issue
@unknownbrackets
Copy link
Collaborator

DrawSync not taking any time causing different behavior must mean something else later happens in a different order.

I'd suggest trying to narrow down to a specific instance of it. In the log, there are a few patterns of DrawSync usage. Does the amount of cycles the syscall takes matter for each of them? Only the first one where it creates a list right after? The other ones only? You want to determine at least what area matters so you can see what else is "in flight" at that time - what other timing matters?

If the game was only doing DrawSync, with zero other threads doing anything, it is extremely likely that the timing "wouldn't matter". You could make it 100000 cycles and it at worst might affect the framerate. The cycles it consumes here matters mostly because it impacts the timing of other things happening at the same time. Think of it as racers running on a track. By deleting the cycles it takes, it's like you're warping one of the racers ahead of the others. Maybe that makes them trip over something that no longer gets in another racer's way? It can have complicated impacts like that. You have to look at the other threads to figure it out.

By the way: every syscall that consumes 0 cycles technically is a bug. I promise you, there are zero syscalls on the PSP that took zero cycles to execute. That said, some of them were pretty quick.

-[Unknown]

@sum2012
Copy link
Collaborator

sum2012 commented Dec 1, 2023

The last one is important. After the game run sceGeListUpdateStallAddr , sceGeDrawSync need 0 to 31 cycles to show the screen

@hrydgard hrydgard modified the milestones: v1.17.0, v1.18.0 Jan 11, 2024
@sum2012
Copy link
Collaborator

sum2012 commented Feb 25, 2024

baidu forum remind this issue .
Cannot make this game for compat ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GE emulation Backend-independent GPU issues HLE/Kernel Kernel, memory manager, other HLE issues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants