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

Ren’Py apps crash after splash screen #272

Closed
HappyRespawnanchor opened this issue Dec 22, 2024 · 5 comments
Closed

Ren’Py apps crash after splash screen #272

HappyRespawnanchor opened this issue Dec 22, 2024 · 5 comments

Comments

@HappyRespawnanchor
Copy link

HappyRespawnanchor commented Dec 22, 2024

Describe the issue

In live container, any app made with the Ren’Py engine crashes immediately after the splash screen is displayed.

If sideloaded directly in SideStore, it runs normally.

Instructions to reproduce

RPReplay_Final1734839262.mov

What version of LiveContainer are you using?

Version 3.1.0-release (main/c586e79)

Other

https://renpy.org/doc/html/ios.html

@hugeBlack
Copy link
Collaborator

Well, after some investigation, I found that this is an issue with dlsym. DDLC linked against both OpenGLES and MetalENGLE , which both contain OpenGL api. If directly sideloaded, dlsym correctly returns OpenGL functions in MetalENGLE, while in LiveContainer, OpenGLES functions are returned, and since no OpenGL context is setup, glGetString returned 0 and DDLC crashed.

If I force dlsym to return functions in MetalENGLE, DDLC can launch without issue. I'm looking for a way to make dlsym behave "correctly" like when being sideloaded.

@HappyRespawnanchor
Copy link
Author

Well, after some investigation, I found that this is an issue with dlsym. DDLC linked against both OpenGLES and MetalENGLE , which both contain OpenGL api. If directly sideloaded, dlsym correctly returns OpenGL functions in MetalENGLE, while in LiveContainer, OpenGLES functions are returned, and since no OpenGL context is setup, glGetString returned 0 and DDLC crashed.

If I force dlsym to return functions in MetalENGLE, DDLC can launch without issue. I'm looking for a way to make dlsym behave "correctly" like when being sideloaded.

Before this issue is resolved, could you add a debug option to select which library (MetalENGLE or OpenGLES) OpenGL functions are returned from for testing? :)

hugeBlack added a commit to hugeBlack/LiveContainer that referenced this issue Dec 28, 2024
…hanhduytran0#200 by @khanhduytran0, separate lc app settings from info.plist, add ignore dlopen error, fix black screen option
@hugeBlack
Copy link
Collaborator

It's fixed, please try https://github.com/hugeBlack/LiveContainer/actions

@HappyRespawnanchor
Copy link
Author

It's fixed, please try https://github.com/hugeBlack/LiveContainer/actions

Thanks : )

感谢,确实解决了,话说hugeBlack/LiveContainer的commit未来会被推到khanhduytran0/LiveContainer吗

@hugeBlack
Copy link
Collaborator

hugeBlack commented Dec 28, 2024

会的,等内容足够多了就会合并到这个仓库里面

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

No branches or pull requests

2 participants