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

PPSSPP: Android 4.3 causes black screen #5584

Closed
uneanxyler opened this issue Mar 2, 2014 · 48 comments
Closed

PPSSPP: Android 4.3 causes black screen #5584

uneanxyler opened this issue Mar 2, 2014 · 48 comments

Comments

@uneanxyler
Copy link

After i updated my Xperia TX to Android 4.3 ppsspp won't work for me anymore. The graphics became all black with white lines. Before it worked great. This is Yu-Gi-Oh! Tag Force 6.

Before:
[img]http://i1149.photobucket.com/albums/o591/uneanace1/2014-03-02023547.png[/img]
After:
[img]http://i1149.photobucket.com/albums/o591/uneanace1/2014-03-02023536.png[/img]

Before:
[img]http://i1149.photobucket.com/albums/o591/uneanace1/2014-03-02023602.png[/img]
After:
[img]http://i1149.photobucket.com/albums/o591/uneanace1/2014-03-02023621.png[/img]

P.S. I have tested other games FMA, FFCC, etc all black screen. :
Also the reason i get to print screen the before part is when i turn on the "Debugging>Software Rendering (Experimental)" but the game is like moving in REALLY SLOW motion. :
Yes, I have redownloaded and reinstalled.

@hrydgard
Copy link
Owner

hrydgard commented Mar 2, 2014

Probably another "interesting" Qualcomm OpenGL driver issue.

Can you show me a screenshot of Settings/System/Developer Settings/System Info in PPSSPP?

@uneanxyler
Copy link
Author

Name: LT29i
http://i1149.photobucket.com/albums/o591/uneanace1/2014-03-02225307.png
http://i1149.photobucket.com/albums/o591/uneanace1/2014-03-02225313.png
http://i1149.photobucket.com/albums/o591/uneanace1/2014-03-02225320.png
http://i1149.photobucket.com/albums/o591/uneanace1/2014-03-02225328.png
http://i1149.photobucket.com/albums/o591/uneanace1/2014-03-02225334.png
http://i1149.photobucket.com/albums/o591/uneanace1/2014-03-02225338.png
http://i1149.photobucket.com/albums/o591/uneanace1/2014-03-02225347.png

I've also found someone who has the same problem as me. He's posted this on another site.
Grimms: "I seem to have the exact same problem on my xperia v, after I upgraded to android 4.3. The sounds tell me that the game is actually running normally, but all I can see is what looks kind of like an extreme blow-up of some small part of the screen. Only software rendering can fix this, and it makes the game unplayable. It's irritating and I suspect this will affect anyone upgrading their xperia device."

Both Xperia TX and Xperia V got the Android 4.3 update at the same release time. :(

@Grimms
Copy link

Grimms commented Mar 3, 2014

Grimms here.
For what it's worth, my system info is identical to the above, but name is Sony:LT25i.
None of the graphics options seem to do anything, except for rendering resolution and software rendering. One thing I noticed is that the opening video sequence displays correctly, but that's probably rendered by a different engine.

@unknownbrackets
Copy link
Collaborator

Are any of you using "enable compatibility reports"? These things sound like shader compilation or fbo creation problems to me.

By "opening video sequence", do you mean outside the game? If so, that is all drawn via OpenGL. However the shader that draws that it significantly less complex.

-[Unknown]

@Grimms
Copy link

Grimms commented Mar 3, 2014

"Enable compatibilty server reports" is disabled in the menu, I can't turn it on. What does it depend on, and what does ti do?

By opening video sequence I mean the animation after game boot-up, after the developer splash screens and before the title screen and main menu.

@Grimms
Copy link

Grimms commented Mar 3, 2014

Link to the related forum thread: http://forums.ppsspp.org/showthread.php?tid=9876&pid=76377#pid76377

@uneanxyler
Copy link
Author

I have already tried A LOT of combinations in the settings but still none work.
Note: before the update my ppsspp works like a charm no lag full speed great graphics. TT_TT

@hrydgard
Copy link
Owner

hrydgard commented Mar 3, 2014

@Grimms , we disable compat reports if you set Rendering Mode to Read Framebuffer (CPU or GPU) as those cause a lot of false positives. Try "Buffered".

@Grimms
Copy link

Grimms commented Mar 3, 2014

I'm using buffered rendering mode, but the "Enable compatibilty server reports" option still stays disabled. Anything else I could try?

@hrydgard
Copy link
Owner

hrydgard commented Mar 3, 2014

We had a bug that caused it to be disabled but I thought we fixed it in 0.9.7.2. Are you running that or a git build?

@Grimms
Copy link

Grimms commented Mar 3, 2014

I'm on 0.9.7.2. Guess the bug's still there.

@hrydgard
Copy link
Owner

hrydgard commented Mar 3, 2014

Okay, looked at the code now. It's disabled if:

  • Rendering mode is read framebuffer
  • Timer Hack is on
  • Any cheats are in effect
  • Weird CPU speeds are set
  • Font files are missing

This is to avoid false positives of problems that are not present with normal settings and fonts present.

@Grimms
Copy link

Grimms commented Mar 3, 2014

The font files are probably missing, because every other cause up there is a negatory. How can I verify what font files I have? And where could I get the missing font files?

@hrydgard
Copy link
Owner

hrydgard commented Mar 3, 2014

On Android, the font files won't be missing. I'm stumped.

@Grimms
Copy link

Grimms commented Mar 3, 2014

Here are my settings.
graphics:
-rendering mode: buffered rendering
-timer hack: not set
system:
-enable cheats: not set
-change CPU clock: 0

...and the compatibility server reports stay unavailable. If these are the correct settings, then the cause must be something outside that list, i suppose.

@unknownbrackets
Copy link
Collaborator

Oops, compat reports wasn't working on Android, but it is in the latest version now: 3ebf47b.

Try again. It should report any shader errors, at least.

-[Unknown]

@Grimms
Copy link

Grimms commented Mar 4, 2014

Right, I got the latest build from orphis, 0.9.7.2-213-ge7299d5. Compatibility server reports are now available to me!

So I understand something is supposed to show up here: http://report.ppsspp.org/logs/version/v0.9.7.2-213-ge7299d5

Nothing so far for FFT: war of the lions. I booted up Tactics Ogre too (see the forum thread), just to get a signal, but that's not showing up either. There's BRAVE STORY: NEW TRAVELER, but I don't think that's it. Am I doing something wrong? Is there some lag?

@unknownbrackets
Copy link
Collaborator

Well, most likely that means it's not noticing anything wrong. The good news is, it's probably not a shader compilation error... the bad news is, I dunno what it is...

-[Unknown]

@Grimms
Copy link

Grimms commented Mar 4, 2014

When I enter the system settings from PPSSPP main menu, the compatibility server reports can now be set on or off. However, after I boot-up the game, if I load a save state, the reports option becomes disabled in the menu. It retains the setting (the tick in the box) as I set it before, but I can no longer change the setting. As long as I don't load a save state the option remains editable. This might not be an error, but I thought I'd better mention it.

@unknownbrackets
Copy link
Collaborator

Well, savestates save bugs. If you savestate while you can't use enable compatibility reports, you will also not be able to use it when loading state. This is very intentional.

For example, if I enable "read framebuffers to memory", I will likely corrupt the game's memory and make it so that various display lists do not run correctly. Even if I disable it, the damage is pretty much permanent. Saving state will also save the damaged memory, and it will load back just as damaged as it ever was.

In your case, it was incorrect that it disabled reporting, but it still remembers that you saved state while reporting was disabled and this is intentional.

-[Unknown]

@Grimms
Copy link

Grimms commented Mar 5, 2014

Ok, that's good then.

But I think we're straying from the issue. The server report gave us nothing, and to get the android log I'd have to root my phone, which I'm not sure I want to do. Can you guys think of some other approach to this? I guess I could try some other games that are known to work well, and see what happens. Something from this list: http://forums.ppsspp.org/forumdisplay.php?fid=13

@unknownbrackets
Copy link
Collaborator

Hmm, I don't think you need to root your phone to get a log. adb log should work just as well on a device that isn't rooted. It does on mine, for example, which ain't rooted...

Unless there's some change in your firmware or something preventing it. You may have to enable debug mode... I think tap somewhere 7 times or something... yeah:
http://stackoverflow.com/questions/16707137/how-to-find-and-turn-on-usb-debugging-mode-on-nexus-4

-[Unknown]

@Grimms
Copy link

Grimms commented Mar 5, 2014

I tried checking the log with an app called Log Watcher, but so far I haven't gotten anything useful out of it. Only a few lines actually:

--------- beginning of /dev/log/main
03-05 12:52:32.245 22276 22276 I dalvikvm: Turning on JNI app bug workarounds for target SDK version 7...

I'm not sure If I'm doing this correctly. Could you tell me exactly how you get the logs? Is there a good way to get the log on the phone alone? I don't have a computer I could use at the moment.

@Grimms
Copy link

Grimms commented Mar 5, 2014

Wait, I just got some more log lines:

--------- beginning of /dev/log/main
03-05 12:52:32.245 22276 22276 I dalvikvm: Turning on JNI app bug workarounds for target SDK version 7...
03-05 12:52:39.513 22276 22276 W IInputConnectionWrapper: showStatusIcon on inactive InputConnection
03-05 12:53:18.494 22276 22276 D libEGL : loaded /vendor/lib/egl/libEGL_adreno.so
03-05 12:53:18.494 22276 22276 D libEGL : loaded /vendor/lib/egl/libGLESv1_CM_adreno.so
03-05 12:53:18.504 22276 22276 D libEGL : loaded /vendor/lib/egl/libGLESv2_adreno.so
03-05 12:53:18.504 22276 22276 I Adreno-EGL: <qeglDrvAPI_eglInitialize:316>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_JB_2.6_RB1.04.03.00.144.011_msm8960_JB_2.6_RB1_CL4169980_release_AU (CL4169980)
03-05 12:53:18.504 22276 22276 I Adreno-EGL: OpenGL ES Shader Compiler Version: 17.01.10.SPL
03-05 12:53:18.504 22276 22276 I Adreno-EGL: Build Date: 11/11/13 Mon
03-05 12:53:18.504 22276 22276 I Adreno-EGL: Local Branch:
03-05 12:53:18.504 22276 22276 I Adreno-EGL: Remote Branch: quic/jb_2.6_rb1.10
03-05 12:53:18.504 22276 22276 I Adreno-EGL: Local Patches: NONE
03-05 12:53:18.504 22276 22276 I Adreno-EGL: Reconstruct Branch: AU_LINUX_ANDROID_JB_2.6_RB1.04.03.00.144.011 + NOTHING
03-05 12:53:18.524 22276 22276 D OpenGLRenderer: Enabling debug mode 0
03-05 12:53:56.875 22276 22276 W IInputConnectionWrapper: showStatusIcon on inactive InputConnection
03-05 13:03:08.879 23543 23543 I dalvikvm: Turning on JNI app bug workarounds for target SDK version 7...

@brujo5
Copy link

brujo5 commented Mar 5, 2014

@Grimms
Copy link

Grimms commented Mar 5, 2014

That requires root access. I'd really like to know if there's a way to do this without rooting.

What about the log I did get? Is it useless?

@unknownbrackets
Copy link
Collaborator

Unfortunately I don't see anything useful in it. Does the cube demo (on the download page) work at all? If it does, that might rule a bunch of things it could not be.

If that doesn't both with Buffered Rendering on and off, then it's something really basic failing. If that does work, but games don't, then it points a different direction.

-[Unknown]

@Grimms
Copy link

Grimms commented Mar 6, 2014

I tried the cube demo, and it works, kinda. I can see a spinning cube, seems to be untextured. With buffered rendering there's a dark overlay that partially covers the cube. With non-buffered, the overlay seems to cover the entire screen.

I took a screenshot of each case and put them here:
http://s38.photobucket.com/user/Mutativ/library/ppsspp

There's also pictures of ff tactics: wotl at different rendering resolutions (1xPSP and 5xPSP). The image titles will tell you which is which.

And there's another picture of tactics ogre: luct, in which there's some funky stuff going on right after boot-up (I think it's the opening animation). It's not easy to tell by looking at the still, but there are several octagonal shapes in there, getting bigger and then floating up and vanishing off the screen, like bubbles. I can't be sure if this is a result of the same fault, partially or entirely, since I never tried tactics ogre before I upgraded to android 4.3.

I also tried 3rd birthday, but it looks very much like ff tactics.

All these games seem to run otherwise normally, from what I can tell by the sounds.

EDIT:
I added another screenshot. I set rendering resolution to 3xPSP and enabled FPS displaying on the cube demo, and now there's more of the overlays, in different colors. Also, both the overlays and cube textures flicker in different colors right after I take a screenshot, but just for a moment.

@uneanxyler
Copy link
Author

is there still no clear explanation for this? TT_TT

@wuly
Copy link

wuly commented Mar 7, 2014

ppsspp 0.9.6.2 can play . my phone is sony Xperia v: android 4.3. hope to help you(( sorry my English is not good... I' m not a local )) I think only ppsspp 0.9.7. Can't play

@OneCrazyRussian
Copy link

Can you try using another kernel? Something alternative for stock Sony rom or CM altogether
(backup with BackupTA first to be able to lock the bootloader back)
It's a workaround but who knows what Qualcomm blobs will be there

@Grimms
Copy link

Grimms commented Mar 8, 2014

I tried a lot of different versions and made some discoveries. I found that older versions of PPSSPP indeed don't have this problem. The latest version without it is 0.9.6-96. There's some more, but I'm in a hurry right now.

@hrydgard
Copy link
Owner

hrydgard commented Mar 8, 2014

Great, that's very useful information! If you can narrow it down to an exact version (if that's not already it), that gives us good hope of finding a fix.

@wuly
Copy link

wuly commented Mar 8, 2014

if your phone is android 4.3 .please use the older versior of ppsspp . that you can play your games .

@hrydgard
Copy link
Owner

hrydgard commented Mar 8, 2014

That's not a solution, that's a workaround. We want to find a real fix.

@Grimms
Copy link

Grimms commented Mar 8, 2014

v0.9.6-96-g40a0705 is as near as I can narrow it. It's the last automatic build without the problem available to android. the next one is v0.9.6-103-gb832cf1, which has the problem.

@Grimms
Copy link

Grimms commented Mar 8, 2014

One other thing: at 0.9.6-103 the bug makes the screen go all black. Between 0.9.6-123 and 0.9.6-126 it changes to what it's like in the screenshots I posted earlier, as it is in the current version.

@Grimms
Copy link

Grimms commented Mar 8, 2014

That's v0.9.6-123-g5c5c961 and v0.9.6-126-g2eab4aa more precisely. Again there are no android builds in between, so I can't narrow it down any more.

@thedax
Copy link
Collaborator

thedax commented Mar 8, 2014

So that would be 5c5c961...2eab4aa then, for purposes of source code comparison..

@solarmystic
Copy link
Contributor

Just idle speculation here, but from that commit range it almost looks like granting those Android devices GLES 3.0 support(exposure?) in PPSSPP (for features such as Blitting (Jeanne D'arc) and Dual Source Alpha (fixes glow in WipeOut etc) which require GLES 3.0/OpenGL 3.x and above) would be the cause of the issue.

It'd also tie in with the fact that Android 4.3 is the first version to support the API, thus revealing an issue which has always been there but was non-symptomatic due the lack of exposure in the past for those devices.

@hrydgard
Copy link
Owner

hrydgard commented Mar 8, 2014

Aha! I think we are indeed misdetecting OpenGL ES 3.0 here - we simply do a string search for 3.0 in the version string at the moment, and this version string happens to have a 3.0 even though it's not about the GL version.

I'll look into making a more solid ES version check.

@hrydgard
Copy link
Owner

hrydgard commented Mar 8, 2014

Hm, actually we do verify that loading all the ES 3.0 functions pass too, which should be safe. Unless the device doesn't bother returning 0 when failing to load a function...

@hrydgard
Copy link
Owner

hrydgard commented Mar 8, 2014

I commited a change that makes an extra check, can you see if it helps?

@Grimms
Copy link

Grimms commented Mar 8, 2014

Problem solved, man! :) Everything looks normal now. Thanks to everyone!

@hrydgard hrydgard closed this as completed Mar 8, 2014
@hrydgard
Copy link
Owner

hrydgard commented Mar 8, 2014

Thanks for helping narrowing down the range!

@wuly
Copy link

wuly commented Mar 9, 2014

Thanks for your help . now android 4.3 can play with ppsspp v0.9.7.2-236 .

@suhelkk
Copy link

suhelkk commented Dec 11, 2014

hi i have install ppsspp gold and running god of war ghost of sparta everything is fine but sound is very bad

@suhelkk
Copy link

suhelkk commented Dec 11, 2014

also screen is black

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants