-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
(SDL) Invisible window with EGL and OpenGL #11637
Comments
From the log I think this is the issue.
I certainly have higher than OpenGL 2.0 so... |
Do you have USING_FBDEV? This might just be a configuration issue: https://github.com/hrydgard/ppsspp/blob/master/SDL/SDLGLGraphicsContext.cpp#L177 -[Unknown] |
No difference with or without From
Note I reproduced this when using only |
I'm just shooting in the dark, but maybe its choosing the wrong EGL config? See this commit that fixed an issue like that in kmscube. Also another unfixed issue in RetroArch. Is this the right direction? |
You can try tweaking the weights above: https://github.com/hrydgard/ppsspp/blob/master/SDL/SDLGLGraphicsContext.cpp#L140 But ultimately it is only going to pick a config your device says is available. Be warned: the current weight based approach fixed issues a lot of people were having on embedded devices. -[Unknown] |
The problem was that mesa added more formats and where before it would just happen to work, now it actually needs to iterate through the possible formats and choose the right one. This comment explains it well. Honestly I'm not sure how to implement this or the RetroArch issue would have been solved already... |
Looping through the exposed EGL formats is exactly what the code I linked to does. It scores each possible format and picks the one with the best score. Maybe this extension needs to be used? I know nothing about GBM. https://www.khronos.org/registry/EGL/extensions/MESA/EGL_MESA_platform_gbm.txt -[Unknown] |
The change in #11839 might help if it's just about formats. -[Unknown] |
I'll assume they were merged in #11845, unfortunately the master still seems to show the same behavior. |
I think there were a few more changes recently, see here: Has this improved the issue at all? -[Unknown] |
The original issue seems fixed, but it does not seem possible to use OpenGL and not GLES with |
Hm, it should work as long as USING_GLES2 is not defined. -[Unknown] |
I intentionally used |
Well, it looks at the available contexts your device provides, and picks among them: ppsspp/SDL/SDLGLGraphicsContext.cpp Line 200 in 2857e0f
If the best context happens to be GLES, it'll use that. -[Unknown] |
I would expect an OpenGL 4.5 core profile to be preferable? |
Well, if you only have HDR contexts that don't support depth buffers with OpenGL 4.5 Core, but you have a perfect RGBA 8/8/8/8 profile with 24 bit depth that has GLES 3.0, we'll go with GLES 3.0. We get a list of options from your card, and OpenGL desktop support is not the only variable. You can try listing what your device is offering, to see. We'd rather give you working GLES than unusable OpenGL. -[Unknown] |
I'm not sure how to check this on my system, but the mesa matrix should give a pretty good idea of what my card supports. Look under AMD/radeonsi. It seems I should have complete support up to OpenGL 4.5 and OpenGL ES 3.2. |
What happens?
When using the SDL2 frontend with
-DUSING_EGL=ON
and OpenGL or OpenGL ES ppsspp will immediately open an invisible window which only shows a static image of the desktop (i.e. the terminal used to open ppsspp). I am not sure if its frozen or only not rendering correctly and it can be closed normally with akill -3
(SIGQUIT).This is not a problem when using the SDL2 frontend with vulkan and its not a problem when using the Qt frontend.
ppsspp + EGL + OpenGL / OpenGL ES
I built with debugging symbols and used gdb where I pressed ctrl+c while it was open, I am not sure which thread is the useful one if any?
What should happen?
ppsspp should render normally with
-DUSING_EGL=ON
.What hardware, operating system, and PPSSPP version? On desktop, GPU matters for graphical issues.
OS:
Slackware64-current
Linux:
4.19.5
ppsspp: 80e7f08
mesa: https://github.com/mesa3d/mesa/commit/94bfb8bf386b560e8e6095727ed1cf08522a027d
SDL:
2.0.9
xorg: https://cgit.freedesktop.org/xorg/xserver/commit/?id=82f8cf8990009f6cac567814dd6b7fd41cfad82d
window manager: conformal/spectrwm@b365987
GPU:
AMD RX Vega 56
(amdgpu + radeonsi)The text was updated successfully, but these errors were encountered: