batocera-linux / batocera.linux

batocera.linux
https://batocera.org
Other
1.83k stars 465 forks source link

PPSSPP standalone hangs with v40 #11301

Open dmanlfc opened 3 months ago

dmanlfc commented 3 months ago

Batocera build version

current v40 builds since the BR 2023 & 2024 updates. 21st March.

Your architecture

x86_64

Your Graphic Processor Unit(s) (GPU)

Arc 730M

Issue description

Currently PPSSPP standalone hangs in v40.

Detailed reproduction steps

Try to run PPSSPP standalone using the current v40 codebase from 15th (maybe earlier) to 21st of March causes a hang. lr-PPSSPP is unaffected.

Details of any attempts to fix this yourself

Updated PPSSPP codebase doesn't work. Downgrading doesn't work. This appears environmental under Xorg (Wayland unaffected - tested RPi4) with recent Buildroot updates.

Details of any modifications you have made to Batocera.

None

Logs and data

Logs don't show anything meaningful. Running from the terminal doesn't either. GDB also doesn't provide any insights.

dmanlfc commented 3 months ago

This appears to be a SDL2 compatibility issue. SDL2 - 2.28.5 = AOK, 2.30.1 = Failure

rtissera commented 3 months ago

@dmanlfc ping @hrydgard for this

hrydgard commented 3 months ago

Not sure how I can repro and debug this, only Linux box I have is a laptop with an NV GPU.

Could you try to break in a debugger like gdb to see where it's stuck?

dmanlfc commented 3 months ago

Yeah I added gdb but it doesn't show anything useful. It literally just hangs ppsspp. I will make a debug build when I have the time to get more details. As per Discord I'm able to duplicate using Manjaro & Xorg with SDL 2.30.1.

dmanlfc commented 3 months ago

Same issue here. This issue began on V40 too

Not helpful. We know where the problem lies. Me too comments add no value here.

dmanlfc commented 3 months ago

@hrydgard a gdb run of a debug build yields very little unfortunately. It doesn't outline a particular SDL method. In fact OpenGL &;Vulkan yield different results.

hrydgard commented 3 months ago

In what way are the results different between GL and Vulkan? (Though, not surprising, we kind of use different threading models, with OpenGL we take the traditional approach of having the SDL main thread drive OpenGL, while with Vulkan we are more free-threaded, which the API allows).

dmanlfc commented 3 months ago

we reverted to SDL2 - 2.28.5 & will test new version accordingly.