[Turnip] Flightgear crash
On Android in VNC thanks to Turnip, I decided to see how gl4es works and if there are differences compared to zink (as I understand it, it converts Vulkan to OpenGL?). In any case, I noticed that Flightgear crashes on gl4es.
root@localhost:~# dbus-launch fgfs
dbus[16232]: Unable to set up transient service directory: XDG_RUNTIME_DIR "/tmp" can be written by others (mode 041777)
LIBGL: Initialising gl4es
LIBGL: v1.1.5 built on Jul 9 2022 08:33:17
LIBGL: Using GLES 2.0 backend
LIBGL: loaded: libGLESv2.so
LIBGL: loaded: libEGL.so
LIBGL: Using GLES 2.0 backend
WARNING: Some incorrect rendering might occur because the selected Vulkan device (Turnip Adreno (TM) 650) doesn't support base Zink requirements: feats.features.wideLines
LIBGL: Hardware Full NPOT detected and used
LIBGL: Extension GL_EXT_blend_minmax detected and used
LIBGL: Extension GL_EXT_draw_buffers detected and used
LIBGL: FBO are in core, and so used
LIBGL: PointSprite are in core, and so used
LIBGL: CubeMap are in core, and so used
LIBGL: BlendColor is in core, and so used
LIBGL: Blend Subtract is in core, and so used
LIBGL: Blend Function and Equation Separation is in core, and so used
LIBGL: Texture Mirrored Repeat is in core, and so used
LIBGL: Extension GL_OES_mapbuffer detected
LIBGL: Extension GL_OES_element_index_uint detected and used
LIBGL: Extension GL_OES_packed_depth_stencil detected and used
LIBGL: Extension GL_OES_depth24 detected and used
LIBGL: Extension GL_OES_rgb8_rgba8 detected and used
LIBGL: Extension GL_EXT_multi_draw_arrays detected
LIBGL: Extension GL_EXT_texture_format_BGRA8888 detected and used
LIBGL: Extension GL_OES_depth_texture detected and used
LIBGL: Extension GL_OES_texture_stencil8 detected and used
LIBGL: Extension GL_EXT_texture_rg detected and used
LIBGL: Extension GL_OES_texture_float detected and used
LIBGL: Extension GL_OES_texture_half_float detected and used
LIBGL: Extension GL_EXT_color_buffer_float detected and used
LIBGL: Extension GL_EXT_color_buffer_half_float detected and used
LIBGL: high precision float in fragment shader available and used
LIBGL: Extension GL_EXT_frag_depth detected and used
LIBGL: Max vertex attrib: 16
LIBGL: Extension GL_OES_standard_derivatives detected and used
LIBGL: Max texture size: 16384
LIBGL: Max Varying Vector: 16
LIBGL: Texture Units: 16/16 (hardware: 32), Max lights: 8, Max planes: 6
LIBGL: Extension GL_EXT_texture_filter_anisotropic detected and used
LIBGL: Max Anisotropic filtering: 16
LIBGL: Max Color Attachments: 8 / Draw buffers: 8
LIBGL: Hardware vendor is Collabora Ltd
LIBGL: GLSL 300 es supported
LIBGL: GLSL 310 es supported and used
LIBGL: sRGB surface supported
LIBGL: EGLImage to Texture2D supported
LIBGL: EGLImage to RenderBuffer supported
LIBGL: Targeting OpenGL 2.1
LIBGL: Not trying to batch small subsequent glDrawXXXX
LIBGL: try to use VBO
LIBGL: Force texture for Attachment color0 on FBO
LIBGL: Hack to trigger a SwapBuffers when a Full Framebuffer Blit on default FBO is done
LIBGL: glX Will try to recycle EGL Surface
LIBGL: Current folder is:/root
0.06 [WARN]:gui QStandardPaths: wrong permissions on runtime directory /tmp, 0777 instead of 0700
Now checking for plug-in osgPlugins-3.6.5/osgdb_nvtt.so
WARNING: Some incorrect rendering might occur because the selected Vulkan device (Turnip Adreno (TM) 650) doesn't support base Zink requirements: feats.features.wideLines
0.74 [WARN]:general Enabling ATI/AMD viewport hack
Mesa: User error: GL_INVALID_OPERATION in glGenerateMipmap(zero size base image)
38.54 [ALRT]:io mipmapping: texture size not a power-of-two: /usr/share/games/flightgear/Aircraft/c172p/Models/Interior/Panel/Instruments/gear/breakers-switches.png
38.55 [ALRT]:io mipmapping: texture size not a power-of-two: /usr/share/games/flightgear/Aircraft/c172p/Models/Effects/interior/lm_gear-breakers.png
49.36 [INFO]:OSG
49.36 [WARN]:OSG PNG lib warning : iCCP: known incorrect sRGB profile
50.00 [WARN]:OSG PNG lib warning : iCCP: known incorrect sRGB profile
56.93 [ALRT]:io mipmapping: texture size not a power-of-two: /usr/share/games/flightgear/Aircraft/c172p/Models/Exterior/rbf/rbf.png
57.32 [WARN]:OSG PNG lib warning : iCCP: known incorrect sRGB profile
57.38 [WARN]:OSG PNG lib warning : iCCP: known incorrect sRGB profile
58.55 [ALRT]:io mipmapping: texture size not a power-of-two: /usr/share/games/flightgear/Aircraft/c172p/Models/Effects/interior/lm_fuel-selector.png
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1334:(snd_func_refer) error evaluating name
ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5701:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM default
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
76.50 [ALRT]:sound Error: Default audio device not available.
80.66 [ALRT]:nasal ERROR: Cannot add listener to tied property /sim[0]/current-view[0]/heading-offset-deg[0]
81.07 [INFO]:nasal KMA20 audio panel initialized
81.09 [INFO]:nasal Hobbs system stopped
81.09 [INFO]:nasal Hobbs system stopped
81.09 [INFO]:nasal Starter off
81.09 [INFO]:nasal KI266 dme indicator #0 initialized
81.20 [INFO]:nasal Electrical system initialized
81.44 [ALRT]:nasal ERROR: Cannot add listener to tied property /instrumentation[0]/gps[0]/mode[0]
81.45 [INFO]:nasal Astro Tech LC-2 Chronometer Loaded
83.60 [WARN]:OSG PNG lib warning : iCCP: known incorrect sRGB profile
87.05 [INFO]:nasal Primer reset to 0
89.25 [ALRT]:flight Failed to save initial FDM property state
Mesa: User error: GL_INVALID_ENUM in glHint(target)
../src/mesa/main/bufferobj.c:471:_mesa_bufferobj_map_range: Assertion `offset < obj->Size' failed.
Aborted
So this is OpenGL -> GLES -> Vulkan ... That's some transformations!
Thanks for the test, but that will be tricky to fix as I have to duplicate on my side (maybe I don't need turnip to reproduce).
All in all, I don't know what the chain is. I think GLES is native, but maybe not.
In any case, on Turnip and Zink Flightgear works (but unfortunately on high details, and the smartphone does not do well with such graphics quality, and it is impossible to change :D)
The GL4ES project itself is interesting and I will test different games. Flightgear should work, because I think it supports OpenGL 1.4.