Hi all, first post here. Recently I got issue when playing ppsspp on my android phone (htc desire x).
Starting with android build
v0.9.1-603-g8082d50, after selecting
any game, my phone will hang and reboot. I can go menu & change settings just fine, but when start a game phone reboots.
I still can play fine up to android build
v0.9.1-578-g20f6e4b.
So far it seems like gpu issue to me, I tried
software rendering on recent build, 0.9.1-1478-g424a243, phone no longer reboot, but game runs very slow. Changing other settings (non-buffered rendering, sound, dynarec) have no effect, still reboots.
My phone spec:
Qualcomm MSM8225 dual 1 GHz, Adreno 203, 768 RAM.
OS: stock ICS 4.0.4 non-root, OpenGL ES 2.0, EGL 1.4 QUALCOMM,
PPSSPP version I tested working fine so far:
-v0.8.1-1368-g2ab05e2
-v0.9.1-384-g42ec8bc
-v0.9.1-499-g361a6ea
-v0.9.1-578-g20f6e4b
PPSSPP version I tested that will reboot my phone without software rendering:
-v0.9.1-603-g8082d50
-v0.9.1-1214-g9b000a0
-v0.9.1-1478-g424a243
Some adb logcats below.
These are from v0.9.1-603-g8082d50, a couple last lines before hang and reboot. I use Valkyria Chronicle 2 for test, but any other working game will do.
Code:
...
I/NativeApp( 360): 32:14:515 jni/../../Core/HLE/sceKernelModule.cpp:1239 I[LOAD]: Module entry: 08ba6ad4
I/NativeApp( 360): 32:14:539 root N[HLE]: jni/../../GPU/GLES/Framebuffer.cpp:220 GPU Vendor : Qualcomm
I/NativeApp( 360): 32:14:603 root N[BOOT]: jni/../../UI/EmuScreen.cpp:106 Loading /mnt/sdcard/emu/psp//Valkyria_Chronicles_2.iso...
I/NativeApp( 360): 32:14:604 root I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2031 276=sceKernelCreateThread(name=Odin_Main, entry=08ba6be8, prio=20, stacksize=131072)
I/NativeApp( 360): 32:14:605 root I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2074 sceKernelStartThread(thread=276, argSize=33, argPtr=09fffe00)
I/NativeApp( 360): 32:14:607 root I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2160 __KernelReturnFromThread: 0
I/NativeApp( 360): 32:14:615 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1556 08d7d000=AllocMemoryBlock(SysMemUserForUser_FE707FDF)(ShSystemAlloc, 0, 0032a100, 00000000)
I/NativeApp( 360): 32:14:615 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1574 GetMemoryBlockPtr(08d7d000, 09fff1b0)
I/NativeApp( 360): 32:14:635 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1556 090a7100=AllocMemoryBlock(SysMemUserForUser_FE707FDF)(ShSystemAlloc, 0, 00060100, 00000000)
I/NativeApp( 360): 32:14:635 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1574 GetMemoryBlockPtr(090a7100, 09fff1d0)
I/NativeApp( 360): 32:14:636 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1556 09107200=AllocMemoryBlock(SysMemUserForUser_FE707FDF)(ShSystemAlloc, 0, 00010100, 00000000)
I/NativeApp( 360): 32:14:636 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1574 GetMemoryBlockPtr(09107200, 09fff1c0)
I/NativeApp( 360): 32:14:642 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1556 09117300=AllocMemoryBlock(SysMemUserForUser_FE707FDF)(ShSystemAlloc, 0, 00ba8400, 00000000)
I/NativeApp( 360): 32:14:643 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1574 GetMemoryBlockPtr(09117300, 09fff1c0)
I/NativeApp( 360): Creating 480 x 272 FBO using DEPTH24_STENCIL8
I/NativeApp( 360): 32:14:667 Odin_Main I[HLE]: jni/../../GPU/GLES/Framebuffer.cpp:580 Creating FBO for 00000000 : 480 x 272 x 1
I/NativeApp( 360): Creating 480 x 272 FBO using DEPTH24_STENCIL8
I/NativeApp( 360): 32:14:778 Odin_Main I[HLE]: jni/../../GPU/GLES/Framebuffer.cpp:580 Creating FBO for 00044000 : 480 x 272 x 1
while below is from working v0.9.1-578-g20f6e4b.
the difference I see here is after 'Creating 480 x 272 FBO using DEPTH24_STENCIL8' line, 'Kurofune Graphics library' loads and going forward.
Code:
...
I/NativeApp(31853): 19:53:991 jni/../../Core/HLE/sceKernelModule.cpp:1239 I[LOAD]: Module entry: 08ba6ad4
I/NativeApp(31853): 19:54:011 root N[HLE]: jni/../../GPU/GLES/Framebuffer.cpp:220 GPU Vendor : Qualcomm
I/NativeApp(31853): 19:54:012 root N[BOOT]: jni/../../UI/EmuScreen.cpp:106 Loading /mnt/sdcard/emu/psp//Valkyria_Chronicles_2.iso...
I/NativeApp(31853): 19:54:014 root I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2031 325=sceKernelCreateThread(name=Odin_Main, entry=08ba6be8, prio=20, stacksize=131072)
I/NativeApp(31853): 19:54:014 root I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2074 sceKernelStartThread(thread=325, argSize=33, argPtr=09fffe00)
I/NativeApp(31853): 19:54:016 root I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2160 __KernelReturnFromThread: 0
I/NativeApp(31853): 19:54:023 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1556 08d7d000=AllocMemoryBlock(SysMemUserForUser_FE707FDF)(ShSystemAlloc, 0, 0032a100, 00000000)
I/NativeApp(31853): 19:54:024 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1574 GetMemoryBlockPtr(08d7d000, 09fff1b0)
I/NativeApp(31853): 19:54:042 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1556 090a7100=AllocMemoryBlock(SysMemUserForUser_FE707FDF)(ShSystemAlloc, 0, 00060100, 00000000)
I/NativeApp(31853): 19:54:042 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1574 GetMemoryBlockPtr(090a7100, 09fff1d0)
I/NativeApp(31853): 19:54:043 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1556 09107200=AllocMemoryBlock(SysMemUserForUser_FE707FDF)(ShSystemAlloc, 0, 00010100, 00000000)
I/NativeApp(31853): 19:54:043 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1574 GetMemoryBlockPtr(09107200, 09fff1c0)
I/NativeApp(31853): 19:54:048 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1556 09117300=AllocMemoryBlock(SysMemUserForUser_FE707FDF)(ShSystemAlloc, 0, 00ba8400, 00000000)
I/NativeApp(31853): 19:54:048 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1574 GetMemoryBlockPtr(09117300, 09fff1c0)
I/NativeApp(31853): Creating 480 x 272 FBO using DEPTH24_STENCIL8
I/NativeApp(31853): 19:54:132 Odin_Main I[HLE]: jni/../../GPU/GLES/Framebuffer.cpp:580 Creating FBO for 00000000 : 480 x 272 x 1
I/NativeApp(31853): 19:54:167 idle0 I[HLE]: jni/../../GPU/GLES/Framebuffer.cpp:1239 Destroying FBO for 00000000 : 480 x 272 x 1
I/NativeApp(31853): Creating 480 x 272 FBO using DEPTH24_STENCIL8
I/NativeApp(31853): 19:54:208 Odin_Main I[HLE]: jni/../../GPU/GLES/Framebuffer.cpp:580 Creating FBO for 00044000 : 480 x 272 x 1
W/NativeApp(31853): 19:54:261 Odin_Main W[HLE]: jni/../../Core/HLE/sceKernel.h:454 Kernel: Bad object handle 0 (00000000)
I/NativeApp(31853): 19:54:261 Odin_Main I[HLE]: jni/../../Core/HLE/sceIo.cpp:714 stdout:
I/NativeApp(31853): Kurofune Graphics library version 3.30.00
I/NativeApp(31853): 19:54:273 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1556 08800000=AllocMemoryBlock(SysMemUserForUser_FE707FDF)(ShSystemAlloc, 0, 00000100, 00000000)
I/NativeApp(31853): 19:54:273 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1574 GetMemoryBlockPtr(08800000, 09fff1c0)
I/NativeApp(31853): 19:54:273 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1556 09cbf700=AllocMemoryBlock(SysMemUserForUser_FE707FDF)(ShSystemAlloc, 0, 00068100, 00000000)
I/NativeApp(31853): 19:54:273 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1574 GetMemoryBlockPtr(09cbf700, 09fff1c0)
I/NativeApp(31853): 19:54:277 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2031 333=sceKernelCreateThread(name=SceWaveMain, entry=08c80a18, prio=10, stacksize=512)
I/NativeApp(31853): 19:54:277 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2074 sceKernelStartThread(thread=333, argSize=12, argPtr=08d58a5c)
I/NativeApp(31853): 19:54:280 Odin_Main I[HLE]: jni/../../Core/HLE/sceSas.cpp:93 sceSasInit(08d5a040, 1024, 32, 0, 44100)
I/NativeApp(31853): 19:54:285 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2031 337=sceKernelCreateThread(name=ar_sndp_thread, entry=08bf8d88, prio=10, stacksize=4096)
I/NativeApp(31853): 19:54:285 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2074 sceKernelStartThread(thread=337, argSize=0, argPtr=00000000)
I/NativeApp(31853): 19:54:291 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1556 08800100=AllocMemoryBlock(SysMemUserForUser_FE707FDF)(ShSystemAlloc, 0, 00001c00, 00000000)
I/NativeApp(31853): 19:54:291 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1574 GetMemoryBlockPtr(08800100, 09fff1c0)
I/NativeApp(31853): 19:54:295 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2031 340=sceKernelCreateThread(name=CriThread, entry=08c3c5e4, prio=20, stacksize=8192)
I/NativeApp(31853): 19:54:295 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2074 sceKernelStartThread(thread=340, argSize=4, argPtr=09ffeff0)
I/NativeApp(31853): 19:54:298 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2031 345=sceKernelCreateThread(name=CriThread, entry=08c3c5e4, prio=20, stacksize=8192)
I/NativeApp(31853): 19:54:298 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2074 sceKernelStartThread(thread=345, argSize=4, argPtr=09ffeff0)
I/NativeApp(31853): 19:54:298 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2031 348=sceKernelCreateThread(name=CriThread, entry=08c3c5e4, prio=20, stacksize=8192)
I/NativeApp(31853): 19:54:299 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2074 sceKernelStartThread(thread=348, argSize=4, argPtr=09ffeff0)
I/NativeApp(31853): 19:54:314 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2031 357=sceKernelCreateThread(name=CRI ADX Audio, entry=08bfeffc, prio=16, stacksize=32768)
I/NativeApp(31853): 19:54:314 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2074 sceKernelStartThread(thread=357, argSize=0, argPtr=00000000)
I/NativeApp(31853): 19:54:316 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2031 358=sceKernelCreateThread(name=CRI ADX File, entry=08bff074, prio=18, stacksize=16384)
I/NativeApp(31853): 19:54:317 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2074 sceKernelStartThread(thread=358, argSize=0, argPtr=00000000)
I/NativeApp(31853): 19:54:322 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2031 359=sceKernelCreateThread(name=CRI Wave out, entry=08c10ee8, prio=10, stacksize=16384)
I/NativeApp(31853): 19:54:326 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelThread.cpp:2074 sceKernelStartThread(thread=359, argSize=0, argPtr=00000000)
I/NativeApp(31853): 19:54:342 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1556 09d27800=AllocMemoryBlock(SysMemUserForUser_FE707FDF)(ShSystemAlloc, 0, 00080100, 00000000)
I/NativeApp(31853): 19:54:342 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1574 GetMemoryBlockPtr(09d27800, 09fff190)
I/NativeApp(31853): 19:54:344 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1556 09da7900=AllocMemoryBlock(SysMemUserForUser_FE707FDF)(ShSystemAlloc, 0, 0004c100, 00000000)
I/NativeApp(31853): 19:54:344 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1574 GetMemoryBlockPtr(09da7900, 09fff190)
I/NativeApp(31853): 19:54:345 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1556 09df3a00=AllocMemoryBlock(SysMemUserForUser_FE707FDF)(ShSystemAlloc, 0, 00080100, 00000000)
I/NativeApp(31853): 19:54:345 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1574 GetMemoryBlockPtr(09df3a00, 09fff190)
I/NativeApp(31853): 19:54:345 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1556 09e73b00=AllocMemoryBlock(SysMemUserForUser_FE707FDF)(ShSystemAlloc, 0, 00060100, 00000000)
I/NativeApp(31853): 19:54:345 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1574 GetMemoryBlockPtr(09e73b00, 09fff190)
I/NativeApp(31853): 19:54:345 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1556 09ed3c00=AllocMemoryBlock(SysMemUserForUser_FE707FDF)(ShSystemAlloc, 0, 00020100, 00000000)
I/NativeApp(31853): 19:54:346 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelMemory.cpp:1574 GetMemoryBlockPtr(09ed3c00, 09fff190)
I/NativeApp(31853): 19:54:440 Odin_Main I[HLE]: jni/../../Core/HLE/scePower.cpp:319 scePowerSetClockFrequency(222,222,111)
I/NativeApp(31853): Creating 480 x 272 FBO using DEPTH24_STENCIL8
I/NativeApp(31853): 19:54:476 idle0 I[HLE]: jni/../../GPU/GLES/Framebuffer.cpp:580 Creating FBO for 00000000 : 480 x 272 x 1
I/NativeApp(31853): 19:54:487 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelModule.cpp:679 ~SCE module, skipping header
I/NativeApp(31853): 19:54:487 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelModule.cpp:685 Decrypting ~PSP file
I/NativeApp(31853): 19:54:487 Odin_Main I[HLE]: jni/../../Core/ELF/PrxDecrypter.cpp:299 Missing key 5B, cannot decrypt module
I/NativeApp(31853): 19:54:488 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelModule.cpp:1378 365=sceKernelLoadModule(name=disc0:/PSP_GAME/USRDIR/MODULE/LIBFONT.PRX,flag=00000000,(...))
I/NativeApp(31853): 19:54:488 Odin_Main I[HLE]: jni/../../Core/HLE/sceKernelModule.cpp:1409 sceKernelStartModule(365,asize=00000000,aptr=00000000,retptr=09fff120,00000000): faked (undecryptable module)
.......
I don't know if this issue is specific to my phone, or other similar device, but
I sincerely hope Henrik or other fabulous devs can kindly take a look at this issue