No camera/render on ubuntu (WSLg + vGPU)

I am trying to set up Ignition on a Ubuntu VM (WSL2) that has GPU hardware acceleration for both rendering and computation (via the new WSLg). It works almost fine; I get a window that is rendered, responsive and GPU accelerated; however, I don't seem to be able to render the main camera's view (which instead remains black). The same setup using llvmpipe as a (CPU-based) renderer works without issue.
I remember having encountered a similar situation when I tried to install ignition on bare Windows, but I can't find the issue just now (perhaps someone else knows and can link it :) ).
There is another issue that the entire VM crashes whenever I close the GUI while a simulation is running (does not happen with other GUI windows), but that one is secondary for now.
Environment

OS Version: Ubuntu 20.04.2 LTS (Kernel <IP_ADDRESS>-microsoft-standard-WSL2)
Source or binary build? Tested on: Fortress (binary) Edifice (binary + source)
If this is a GUI or sensor rendering bug, describe your GPU and rendering system.

Rendering plugin: ogre2

[x] GUI rendering error: None reported, though there are warning messages

Generally, mention all circumstances that might affect rendering capabilities:

[x] running in virtual machine
[x] GPU is concurrently used for other tasks

[x] desktop acceleration
[x] video decoding (i.e. a playing Youtube video)

Rendering system info:

On Linux, provide the outputs of the following commands:

command output
firefoxmetzger@DESKTOP-2SO47AE:~/workspace$ LANG=C lspci -nn | grep VGA  # might require installing pciutils
firefoxmetzger@DESKTOP-2SO47AE:~/workspace$ echo "$DISPLAY"
:0
firefoxmetzger@DESKTOP-2SO47AE:~/workspace$ LANG=C glxinfo -B | grep -i '\(direct rendering\|opengl\|profile\)'  # might require installing mesa-utils package
direct rendering: Yes
    Preferred profile: core (0x1)
    Max core profile version: 3.3
    Max compat profile version: 3.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL vendor string: Microsoft Corporation
OpenGL renderer string: D3D12 (NVIDIA GeForce RTX 3070)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 21.1.5 - kisak-mesa PPA
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 3.1 Mesa 21.1.5 - kisak-mesa PPA
OpenGL shading language version string: 1.40
OpenGL context flags: (none)
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 21.1.5 - kisak-mesa PPA
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
firefoxmetzger@DESKTOP-2SO47AE:~/workspace$ ps aux | grep Xorg
firefox+ 10271  0.0  0.0   8164   728 pts/0    S+   12:14   0:00 grep --color=auto Xorg
firefoxmetzger@DESKTOP-2SO47AE:~/workspace$ sudo env LANG=C X -version  # if you don't have root access, try to tell the version of Xorg e.g. via package manager
[sudo] password for firefoxmetzger:

X.Org X Server 1.20.9
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.15.0-140-generic x86_64 Ubuntu
Current Operating System: Linux DESKTOP-2SO47AE <IP_ADDRESS>-microsoft-standard-WSL2 #1 SMP Wed Jun 16 23:47:55 UTC 2021 x86_64
Kernel command line: initrd=\initrd.img panic=-1 nr_cpus=16 swiotlb=force pty.legacy_count=0
Build Date: 08 April 2021  12:29:22PM
xorg-server 2:1.20.9-2ubuntu1.2~20.04.2 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.38.4
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.

[x] Please, attach the ogre.log or ogre2.log file from  ~/.ignition/rendering: ogre2.log

12:09:25: Creating resource group General
12:09:25: Creating resource group Internal
12:09:25: Creating resource group Autodetect
12:09:25: SceneManagerFactory for type 'DefaultSceneManager' registered.
12:09:25: Registering ResourceManager for type Material
12:09:25: Registering ResourceManager for type Mesh
12:09:25: Registering ResourceManager for type Mesh2
12:09:25: Registering ResourceManager for type OldSkeleton
12:09:25: MovableObjectFactory for type 'ParticleSystem' registered.
12:09:25: ArchiveFactory for archive type FileSystem registered.
12:09:25: ArchiveFactory for archive type Zip registered.
12:09:25: ArchiveFactory for archive type EmbeddedZip registered.
12:09:25: DDS codec registering
12:09:25: FreeImage version: 3.18.0
12:09:25: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
12:09:25: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,psb,cut,xbm,xpm,gif,hdr,g3,sgi,rgb,rgba,bw,exr,j2k,j2c,jp2,pfm,pct,pict,pic,3fr,arw,bay,bmq,cap,cine,cr2,crw,cs1,dc2,dcr,drf,dsc,dng,erf,fff,ia,iiq,k25,kc2,kdc,mdc,mef,mos,mrw,nef,nrw,orf,pef,ptx,pxn,qtk,raf,raw,rdc,rw2,rwl,rwz,sr2,srf,srw,sti,x3f,webp,jxr,wdp,hdp
12:09:25: OITD codec registering
12:09:25: Registering ResourceManager for type HighLevelGpuProgram
12:09:25: MovableObjectFactory for type 'Entity' registered.
12:09:25: MovableObjectFactory for type 'Item' registered.
12:09:25: MovableObjectFactory for type 'Light' registered.
12:09:25: MovableObjectFactory for type 'BillboardSet' registered.
12:09:25: MovableObjectFactory for type 'ManualObject2' registered.
12:09:25: MovableObjectFactory for type 'BillboardChain' registered.
12:09:25: MovableObjectFactory for type 'RibbonTrail' registered.
12:09:25: MovableObjectFactory for type 'WireAabb' registered.
12:09:25: *-*-* OGRE Initialising
12:09:25: *-*-* Version 2.1.0unstable ('B')
12:09:25: OverlayElementFactory for type Panel registered.
12:09:25: OverlayElementFactory for type BorderPanel registered.
12:09:25: OverlayElementFactory for type TextArea registered.
12:09:25: Registering ResourceManager for type Font
12:09:25: Loading library /usr/lib/x86_64-linux-gnu/OGRE-2.1/OGRE/RenderSystem_GL3Plus.so
12:09:25: Installing plugin: GL 3+ RenderSystem
12:09:25: OpenGL 3+ Rendering Subsystem created.
12:09:25: Plugin successfully installed
12:09:25: Loading library /usr/lib/x86_64-linux-gnu/OGRE-2.1/OGRE/Plugin_ParticleFX.so
12:09:25: Installing plugin: ParticleFX
12:09:25: Particle Emitter Type 'Point' registered
12:09:25: Particle Emitter Type 'Box' registered
12:09:25: Particle Emitter Type 'Ellipsoid' registered
12:09:25: Particle Emitter Type 'Cylinder' registered
12:09:25: Particle Emitter Type 'Ring' registered
12:09:25: Particle Emitter Type 'HollowEllipsoid' registered
12:09:25: Particle Affector Type 'LinearForce' registered
12:09:25: Particle Affector Type 'ColourFader' registered
12:09:25: Particle Affector Type 'ColourFader2' registered
12:09:25: Particle Affector Type 'ColourImage' registered
12:09:25: Particle Affector Type 'ColourInterpolator' registered
12:09:25: Particle Affector Type 'Scaler' registered
12:09:25: Particle Affector Type 'Rotator' registered
12:09:25: Particle Affector Type 'DirectionRandomiser' registered
12:09:25: Particle Affector Type 'DeflectorPlane' registered
12:09:25: Plugin successfully installed
12:09:25: CPU Identifier & Features
12:09:25: -------------------------
12:09:25:  *   CPU ID: AuthenticAMD: AMD Ryzen 7 5800X 8-Core Processor
12:09:25:  *   Logical cores: 16
12:09:25:  *      SSE: yes
12:09:25:  *     SSE2: yes
12:09:25:  *     SSE3: yes
12:09:25:  *      MMX: yes
12:09:25:  *   MMXEXT: yes
12:09:25:  *    3DNOW: no
12:09:25:  * 3DNOWEXT: no
12:09:25:  *     CMOV: yes
12:09:25:  *      TSC: yes
12:09:25:  *      FPU: yes
12:09:25:  *      PRO: yes
12:09:25:  *       HT: no
12:09:25: -------------------------
12:09:25: ******************************
*** Starting GLX Subsystem ***
******************************
12:09:25: GL3PlusRenderSystem::_createRenderWindow "OgreWindow(0)_0", 1x1 windowed  miscParams: FSAA=0 border=none contentScalingFactor=1.000000 currentGLContext=true externalGLControl=true gamma=true stereoMode=Frame Sequential
12:09:25: GLXWindow::create used FBConfigID = 363
12:09:25: GL_VERSION = <IP_ADDRESS>
12:09:25: GL_VENDOR = Microsoft Corporation
12:09:25: GL_RENDERER = D3D12 (NVIDIA GeForce RTX 3070)
12:09:25: GL_EXTENSIONS =
12:09:25: GL_AMD_conservative_depth
12:09:25: GL_AMD_draw_buffers_blend
12:09:25: GL_AMD_shader_trinary_minmax
12:09:25: GL_ANGLE_texture_compression_dxt3
12:09:25: GL_ANGLE_texture_compression_dxt5
12:09:25: GL_ARB_ES2_compatibility
12:09:25: GL_ARB_ES3_compatibility
12:09:25: GL_ARB_arrays_of_arrays
12:09:25: GL_ARB_blend_func_extended
12:09:25: GL_ARB_clear_buffer_object
12:09:25: GL_ARB_compressed_texture_pixel_storage
12:09:25: GL_ARB_conservative_depth
12:09:25: GL_ARB_copy_buffer
12:09:25: GL_ARB_debug_output
12:09:25: GL_ARB_depth_buffer_float
12:09:25: GL_ARB_depth_clamp
12:09:25: GL_ARB_direct_state_access
12:09:25: GL_ARB_draw_buffers
12:09:25: GL_ARB_draw_buffers_blend
12:09:25: GL_ARB_draw_elements_base_vertex
12:09:25: GL_ARB_draw_instanced
12:09:25: GL_ARB_explicit_attrib_location
12:09:25: GL_ARB_explicit_uniform_location
12:09:25: GL_ARB_fragment_coord_conventions
12:09:25: GL_ARB_fragment_shader
12:09:25: GL_ARB_framebuffer_object
12:09:25: GL_ARB_framebuffer_sRGB
12:09:25: GL_ARB_get_program_binary
12:09:25: GL_ARB_get_texture_sub_image
12:09:25: GL_ARB_half_float_pixel
12:09:25: GL_ARB_half_float_vertex
12:09:25: GL_ARB_instanced_arrays
12:09:25: GL_ARB_internalformat_query
12:09:25: GL_ARB_internalformat_query2
12:09:25: GL_ARB_invalidate_subdata
12:09:25: GL_ARB_map_buffer_alignment
12:09:25: GL_ARB_map_buffer_range
12:09:25: GL_ARB_multi_bind
12:09:25: GL_ARB_occlusion_query2
12:09:25: GL_ARB_parallel_shader_compile
12:09:25: GL_ARB_pixel_buffer_object
12:09:25: GL_ARB_point_sprite
12:09:25: GL_ARB_program_interface_query
12:09:25: GL_ARB_provoking_vertex
12:09:25: GL_ARB_robustness
12:09:25: GL_ARB_sampler_objects
12:09:25: GL_ARB_seamless_cube_map
12:09:25: GL_ARB_separate_shader_objects
12:09:25: GL_ARB_shader_bit_encoding
12:09:25: GL_ARB_shader_objects
12:09:25: GL_ARB_shader_subroutine
12:09:25: GL_ARB_shader_texture_lod
12:09:25: GL_ARB_shading_language_420pack
12:09:25: GL_ARB_shading_language_include
12:09:25: GL_ARB_shading_language_packing
12:09:25: GL_ARB_stencil_texturing
12:09:25: GL_ARB_sync
12:09:25: GL_ARB_texture_buffer_object
12:09:25: GL_ARB_texture_buffer_object_rgb32
12:09:25: GL_ARB_texture_buffer_range
12:09:25: GL_ARB_texture_compression_rgtc
12:09:25: GL_ARB_texture_filter_anisotropic
12:09:25: GL_ARB_texture_float
12:09:25: GL_ARB_texture_multisample
12:09:25: GL_ARB_texture_non_power_of_two
12:09:25: GL_ARB_texture_query_levels
12:09:25: GL_ARB_texture_query_lod
12:09:25: GL_ARB_texture_rectangle
12:09:25: GL_ARB_texture_rg
12:09:25: GL_ARB_texture_rgb10_a2ui
12:09:25: GL_ARB_texture_stencil8
12:09:25: GL_ARB_texture_storage
12:09:25: GL_ARB_texture_storage_multisample
12:09:25: GL_ARB_texture_swizzle
12:09:25: GL_ARB_timer_query
12:09:25: GL_ARB_uniform_buffer_object
12:09:25: GL_ARB_vertex_array_bgra
12:09:25: GL_ARB_vertex_array_object
12:09:25: GL_ARB_vertex_attrib_binding
12:09:25: GL_ARB_vertex_buffer_object
12:09:25: GL_ARB_vertex_shader
12:09:25: GL_ARB_vertex_type_10f_11f_11f_rev
12:09:25: GL_ARB_vertex_type_2_10_10_10_rev
12:09:25: GL_ATI_blend_equation_separate
12:09:25: GL_ATI_texture_float
12:09:25: GL_EXT_EGL_image_storage
12:09:25: GL_EXT_EGL_sync
12:09:25: GL_EXT_abgr
12:09:25: GL_EXT_blend_equation_separate
12:09:25: GL_EXT_draw_buffers2
12:09:25: GL_EXT_draw_instanced
12:09:25: GL_EXT_framebuffer_blit
12:09:25: GL_EXT_framebuffer_multisample
12:09:25: GL_EXT_framebuffer_multisample_blit_scaled
12:09:25: GL_EXT_framebuffer_object
12:09:25: GL_EXT_framebuffer_sRGB
12:09:25: GL_EXT_packed_depth_stencil
12:09:25: GL_EXT_packed_float
12:09:25: GL_EXT_pixel_buffer_object
12:09:25: GL_EXT_provoking_vertex
12:09:25: GL_EXT_shader_integer_mix
12:09:25: GL_EXT_texture_array
12:09:25: GL_EXT_texture_compression_dxt1
12:09:25: GL_EXT_texture_compression_rgtc
12:09:25: GL_EXT_texture_compression_s3tc
12:09:25: GL_EXT_texture_filter_anisotropic
12:09:25: GL_EXT_texture_integer
12:09:25: GL_EXT_texture_sRGB
12:09:25: GL_EXT_texture_sRGB_decode
12:09:25: GL_EXT_texture_shared_exponent
12:09:25: GL_EXT_texture_snorm
12:09:25: GL_EXT_texture_swizzle
12:09:25: GL_EXT_timer_query
12:09:25: GL_EXT_transform_feedback
12:09:25: GL_EXT_vertex_array_bgra
12:09:25: GL_IBM_multimode_draw_arrays
12:09:25: GL_KHR_context_flush_control
12:09:25: GL_KHR_debug
12:09:25: GL_KHR_no_error
12:09:25: GL_KHR_parallel_shader_compile
12:09:25: GL_KHR_texture_compression_astc_ldr
12:09:25: GL_KHR_texture_compression_astc_sliced_3d
12:09:25: GL_MESA_pack_invert
12:09:25: GL_MESA_shader_integer_functions
12:09:25: GL_MESA_texture_signed_rgba
12:09:25: GL_NV_conditional_render
12:09:25: GL_NV_copy_image
12:09:25: GL_NV_depth_clamp
12:09:25: GL_NV_packed_depth_stencil
12:09:25: GL_OES_EGL_image
12:09:25: GL_S3_s3tc
12:09:25: Supported GLX extensions: GLX_ARB_context_flush_control GLX_ARB_create_context GLX_ARB_create_context_profile GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_create_context_es2_profile GLX_EXT_create_context_es_profile GLX_EXT_fbconfig_packed_float GLX_EXT_framebuffer_sRGB GLX_EXT_import_context GLX_EXT_texture_from_pixmap GLX_EXT_visual_info GLX_EXT_visual_rating GLX_MESA_copy_sub_buffer GLX_MESA_query_renderer GLX_OML_swap_method GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_SGI_make_current_read
12:09:25: **************************************
12:09:25: ***   OpenGL 3+ Renderer Started   ***
12:09:25: **************************************
12:09:25: Registering ResourceManager for type GpuProgram
12:09:25: GL3+: Using FBOs for rendering to textures
12:09:25: FBO PF_UNKNOWN depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_L8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_L16 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_A8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_BYTE_LA depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R5G6B5 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_B5G6R5 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_A4R4G4B4 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_A1R5G5B5 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R8G8B8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_B8G8R8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_A8R8G8B8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_A8B8G8R8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_B8G8R8A8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_A2R10G10B10 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_A2B10G10R10 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_FLOAT16_RGB depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_FLOAT16_RGBA depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_FLOAT32_RGB depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_FLOAT32_RGBA depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_X8R8G8B8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_X8B8G8R8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R8G8B8A8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_DEPTH_DEPRECATED depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_SHORT_RGBA depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R3G3B2 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_FLOAT16_R depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_FLOAT32_R depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_SHORT_GR depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_FLOAT16_GR depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_FLOAT32_GR depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_SHORT_RGB depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R11G11B10_FLOAT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R8_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R8G8_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R8G8B8_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R8G8B8A8_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R16_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R16G16_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R16G16B16_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R16G16B16A16_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R32_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R32G32_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R32G32B32_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R32G32B32A32_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R8_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R8G8_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R8G8B8_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R8G8B8A8_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R16_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R16G16_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R16G16B16_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R16G16B16A16_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R32_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R32G32_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R32G32B32_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R32G32B32A32_SINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R9G9B9E5_SHAREDEXP depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_RG8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R8_SNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R8G8_SNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R8G8B8_SNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R8G8B8A8_SNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R16_SNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R16G16_SNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R16G16B16_SNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_R16G16B16A16_SNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_D24_UNORM_S8_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_D24_UNORM_X8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_X24_S8_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_D24_UNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_D16_UNORM depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_D32_FLOAT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_D32_FLOAT_X24_S8_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_D32_FLOAT_X24_X8 depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: FBO PF_X32_X24_S8_UINT depth/stencil support: D0S0 D0S1 D0S4 D0S8 D0S16 D16S0 D16S1 D16S4 D16S8 D16S16 D24S0 D24S1 D24S4 D24S8 D24S16 D32S0 D32S1 D32S4 D32S8 D32S16 D32S0 D32S1 D32S4 D32S8 D32S16 Packed-D24S8 Packed-D32S8
12:09:25: [GL] : Valid FBO targets PF_UNKNOWN PF_L8 PF_L16 PF_A8 PF_BYTE_LA PF_R5G6B5 PF_B5G6R5 PF_A4R4G4B4 PF_A1R5G5B5 PF_R8G8B8 PF_B8G8R8 PF_A8R8G8B8 PF_A8B8G8R8 PF_B8G8R8A8 PF_A2R10G10B10 PF_A2B10G10R10 PF_FLOAT16_RGB PF_FLOAT16_RGBA PF_FLOAT32_RGB PF_FLOAT32_RGBA PF_X8R8G8B8 PF_X8B8G8R8 PF_R8G8B8A8 PF_DEPTH_DEPRECATED PF_SHORT_RGBA PF_R3G3B2 PF_FLOAT16_R PF_FLOAT32_R PF_SHORT_GR PF_FLOAT16_GR PF_FLOAT32_GR PF_SHORT_RGB PF_R11G11B10_FLOAT PF_R8_UINT PF_R8G8_UINT PF_R8G8B8_UINT PF_R8G8B8A8_UINT PF_R16_UINT PF_R16G16_UINT PF_R16G16B16_UINT PF_R16G16B16A16_UINT PF_R32_UINT PF_R32G32_UINT PF_R32G32B32_UINT PF_R32G32B32A32_UINT PF_R8_SINT PF_R8G8_SINT PF_R8G8B8_SINT PF_R8G8B8A8_SINT PF_R16_SINT PF_R16G16_SINT PF_R16G16B16_SINT PF_R16G16B16A16_SINT PF_R32_SINT PF_R32G32_SINT PF_R32G32B32_SINT PF_R32G32B32A32_SINT PF_R9G9B9E5_SHAREDEXP PF_RG8 PF_R8_SNORM PF_R8G8_SNORM PF_R8G8B8_SNORM PF_R8G8B8A8_SNORM PF_R16_SNORM PF_R16G16_SNORM PF_R16G16B16_SNORM PF_R16G16B16A16_SNORM PF_D24_UNORM_S8_UINT PF_D24_UNORM_X8 PF_X24_S8_UINT PF_D24_UNORM PF_D16_UNORM PF_D32_FLOAT PF_D32_FLOAT_X24_S8_UINT PF_D32_FLOAT_X24_X8 PF_X32_X24_S8_UINT
12:09:25: RenderSystem capabilities
12:09:25: -------------------------
12:09:25: RenderSystem Name: OpenGL 3+ Rendering Subsystem
12:09:25: GPU Vendor: microsoft
12:09:25: Device Name: D3D12 (NVIDIA GeForce RTX 3070)
12:09:25: Driver Version: <IP_ADDRESS>
12:09:25:  * Fixed function pipeline: no
12:09:25:  * Hardware generation of mipmaps: yes
12:09:25:  * Texture blending: yes
12:09:25:  * Anisotropic texture filtering: yes
12:09:25:  * Dot product texture operation: yes
12:09:25:  * Cube mapping: yes
12:09:25:  * Hardware stencil buffer: yes
12:09:25:    - Stencil depth: 8
12:09:25:    - Two sided stencil support: yes
12:09:25:    - Wrap stencil values: yes
12:09:25:  * Hardware vertex / index buffers: yes
12:09:25:  * 32-bit index buffers: yes
12:09:25:  * Vertex programs: yes
12:09:25:  * Number of floating-point constants for vertex programs: 16352
12:09:25:  * Number of integer constants for vertex programs: 16352
12:09:25:  * Number of boolean constants for vertex programs: 16352
12:09:25:  * Fragment programs: yes
12:09:25:  * Number of floating-point constants for fragment programs: 16380
12:09:25:  * Number of integer constants for fragment programs: 16380
12:09:25:  * Number of boolean constants for fragment programs: 16380
12:09:25:  * Geometry programs: yes
12:09:25:  * Number of floating-point constants for geometry programs: 16352
12:09:25:  * Number of integer constants for geometry programs: 16352
12:09:25:  * Number of boolean constants for geometry programs: 16352
12:09:25:  * Tessellation Hull programs: no
12:09:25:  * Number of floating-point constants for tessellation hull programs: 0
12:09:25:  * Number of integer constants for tessellation hull programs: 0
12:09:25:  * Number of boolean constants for tessellation hull programs: 0
12:09:25:  * Tessellation Domain programs: no
12:09:25:  * Number of floating-point constants for tessellation domain programs: 0
12:09:25:  * Number of integer constants for tessellation domain programs: 0
12:09:25:  * Number of boolean constants for tessellation domain programs: 0
12:09:25:  * Compute programs: no
12:09:25:  * Number of floating-point constants for compute programs: 0
12:09:25:  * Number of integer constants for compute programs: 0
12:09:25:  * Number of boolean constants for compute programs: 0
12:09:25:  * Supported Shader Profiles: glsl glsl130 glsl140 glsl150 glsl330
12:09:25:  * Texture Compression: yes
12:09:25:    - DXT: yes
12:09:25:    - VTC: no
12:09:25:    - PVRTC: no
12:09:25:    - ATC: no
12:09:25:    - ETC1: no
12:09:25:    - ETC2: yes
12:09:25:    - BC4/BC5: yes
12:09:25:    - BC6H/BC7: no
12:09:25:    - ASTC: no
12:09:25:  * Hardware Occlusion Query: yes
12:09:25:  * User clip planes: yes
12:09:25:  * VET_UBYTE4 vertex element type: yes
12:09:25:  * Infinite far plane projection: yes
12:09:25:  * Hardware render-to-texture: yes
12:09:25:  * Floating point textures: yes
12:09:25:  * Non-power-of-two textures: yes
12:09:25:  * 1d textures: yes
12:09:25:  * Volume textures: yes
12:09:25:  * Max Texture resolution (2D) 16384
12:09:25:  * Max Texture resolution (3D) 1024
12:09:25:  * Max Texture resolution (Cubemaps) 8192
12:09:25:  * Multiple Render Targets: 8
12:09:25:    - With different bit depths: yes
12:09:25:  * Point Sprites: yes
12:09:25:  * Extended point parameters: yes
12:09:25:  * Max Point Size: 255
12:09:25:  * Vertex texture fetch: yes
12:09:25:  * Number of world matrices: 0
12:09:25:  * Number of texture units: 16
12:09:25:  * Stencil buffer depth: 8
12:09:25:  * Number of vertex blend matrices: 0
12:09:25:    - Max vertex textures: 32
12:09:25:    - Vertex textures shared: yes
12:09:25:  * Render to Vertex Buffer : yes
12:09:25:  * Hardware Atomic Counters: no
12:09:25:  * GL 1.5 without VBO workaround: no
12:09:25:  * Frame Buffer objects: yes
12:09:25:  * Frame Buffer objects (ARB extension): no
12:09:25:  * Frame Buffer objects (ATI extension): no
12:09:25:  * PBuffer support: no
12:09:25:  * GL 1.5 without HW-occlusion workaround: no
12:09:25:  * Vertex Array Objects: yes
12:09:25:  * Separate shader objects: no
12:09:25: Registering ResourceManager for type Texture
12:09:25: DefaultWorkQueue('Root') initialising on thread main.
12:09:25: Particle Renderer Type 'billboard' registered
12:09:25: Added resource location '/home/firefoxmetzger/workspace/install/share/ignition/ignition-rendering5/ogre2/media' of type 'FileSystem' to resource group 'General'
12:09:25: Added resource location '/home/firefoxmetzger/workspace/install/share/ignition/ignition-rendering5/ogre2/media/materials/programs' of type 'FileSystem' to resource group 'General'
12:09:25: Added resource location '/home/firefoxmetzger/workspace/install/share/ignition/ignition-rendering5/ogre2/media/materials/scripts' of type 'FileSystem' to resource group 'General'
12:09:25: Added resource location '/home/firefoxmetzger/workspace/install/share/ignition/ignition-rendering5/ogre2/media/materials/textures' of type 'FileSystem' to resource group 'General'
12:09:25: Added resource location '/home/firefoxmetzger/workspace/install/share/ignition/ignition-rendering5/ogre2/media/2.0/scripts/Compositors' of type 'FileSystem' to resource group 'General'
12:09:25: Added resource location '/home/firefoxmetzger/workspace/install/share/ignition/ignition-rendering5/ogre2/media/2.0/scripts/materials/Common' of type 'FileSystem' to resource group 'General'
12:09:25: Added resource location '/home/firefoxmetzger/workspace/install/share/ignition/ignition-rendering5/ogre2/media/2.0/scripts/materials/Common/GLSL' of type 'FileSystem' to resource group 'General'
12:09:25: Parsing scripts for resource group Autodetect
12:09:25: Finished parsing scripts for resource group Autodetect
12:09:25: Creating resources for group Autodetect
12:09:25: All done
12:09:25: Parsing scripts for resource group General
12:09:25: Parsing script Quad.program
12:09:25: Parsing script gaussian_noise.material
12:09:25: Parsing script skybox.material
12:09:25: Parsing script thermal.material
12:09:25: Parsing script picker.material
12:09:25: Parsing script depth_camera.material
12:09:25: Parsing script gpu_rays.material
12:09:25: Parsing script DepthUtils.material
12:09:25: Parsing script Copyback.material
12:09:25: Parsing script EsmGaussianBlurLogFilter.material
12:09:25: Parsing script DPSM.material
12:09:25: Parsing script GaussianNoise.compositor
12:09:25: Parsing script PbsMaterials.compositor
12:09:25: Finished parsing scripts for resource group General
12:09:25: Creating resources for group General
12:09:25: All done
12:09:25: Parsing scripts for resource group Internal
12:09:25: Finished parsing scripts for resource group Internal
12:09:25: Creating resources for group Internal
12:09:25: All done
12:09:25: Can't assign material scene::Material(65512) because this Material does not exist. Have you forgotten to define it in a .material script?
12:09:25: Can't assign material scene::Material(65506) because this Material does not exist. Have you forgotten to define it in a .material script?
12:09:25: Can't assign material scene::Material(65500) because this Material does not exist. Have you forgotten to define it in a .material script?
12:09:25: Can't assign material scene::Material(65494) because this Material does not exist. Have you forgotten to define it in a .material script?
12:09:25: GLSL compiled: 536969344PixelShader_ps
0:311(28): warning: `nNormal' used uninitialized
0:312(28): warning: `nNormal' used uninitialized
0:315(14): warning: `material' used uninitialized
0:315(30): warning: `material' used uninitialized
0:334(18): warning: `F0' used uninitialized
0:334(60): warning: `F0' used uninitialized
0:337(37): warning: `material' used uninitialized
0:341(21): warning: `material' used uninitialized
0:342(45): warning: `material' used uninitialized
0:343(50): warning: `material' used uninitialized
0:351(69): warning: `diffuseCol' used uninitialized
12:09:25: GLSL compiled: 537067648PixelShader_ps
0:312(28): warning: `nNormal' used uninitialized
0:313(28): warning: `nNormal' used uninitialized
0:316(14): warning: `material' used uninitialized
0:316(30): warning: `material' used uninitialized
0:335(18): warning: `F0' used uninitialized
0:335(60): warning: `F0' used uninitialized
0:338(37): warning: `material' used uninitialized
0:342(21): warning: `material' used uninitialized
0:343(45): warning: `material' used uninitialized
0:344(50): warning: `material' used uninitialized
0:352(69): warning: `diffuseCol' used uninitialized
12:09:25: Vertex Shader: 537067648VertexShader_vs
Fragment Shader: 537067648PixelShader_ps
 GLSL validation result :
active samplers with a different type refer to the same texture image unit
12:09:25: GLSL compiled: 537100416PixelShader_ps
0:311(28): warning: `nNormal' used uninitialized
0:312(28): warning: `nNormal' used uninitialized
0:315(14): warning: `material' used uninitialized
0:315(30): warning: `material' used uninitialized
0:334(18): warning: `F0' used uninitialized
0:334(60): warning: `F0' used uninitialized
0:337(37): warning: `material' used uninitialized
0:341(21): warning: `material' used uninitialized
0:342(45): warning: `material' used uninitialized
0:343(50): warning: `material' used uninitialized
0:351(69): warning: `diffuseCol' used uninitialized

Description

Expected behavior: the examples shapes.sdf and lights.sdf load correctly and the GUI camera renders the scene.
Actual behavior: The camera view remains gray.

Steps to reproduce

Setup WSL2 + https://github.com/microsoft/wslg
Install ignition using preferred method following the instructions (I tried source and binary versions)
ign shapes.sdf -v3
Wonder what is going wrong.

There is a similar problem when trying to run ignition gazebo 6.0.0 (installed via apt) on WSL2 with X server (no WSLg). I tried with both X410 and Xming, but the output is the same: nothing is rendered. Classic Gazebo works fine on both WSL1/2 with X server (there were some issue back in time, but they were solved, see: https://github.com/osrf/gazebo/issues/2351 ) and also WSLg (Classic Gazebo was actually one of the applications used by Microsoft to showcase https://devblogs.microsoft.com/commandline/the-initial-preview-of-gui-app-support-is-now-available-for-the-windows-subsystem-for-linux-2/).
I wonder if it may be worth to open an issue also in  https://github.com/microsoft/wslg for this issue.

@traversaro Good point; I have not tested Citadel. Mainly because gym-ignition targets the latest ign-gazebo, so it wouldn't do much for my use-case. I will give it a try next week (currently at a conference) and report back on how it goes.

@traversaro I just tried Citadel with WSLg. It doesn't render shapes.sdf either (on my machine) and looks the same as the issue I described in the original post. I do, however, get an error message that I don't get with the other ignition versions:
[GUI] [Err] [Application.cc:324] Failed to load plugin [Lights] : couldn't find shared library.

So it could simply be that the light sources are not working and, because of that, I only ever see a gray screen.
Here is the full log for reference in case that is interesting:

full log
$ ign gazebo -v4 shapes.sdf
[Msg] Ignition Gazebo GUI    v3.9.0
[Msg] Ignition Gazebo Server v3.9.0
[Msg] Loading SDF world file[/usr/share/ignition/ignition-gazebo3/worlds/shapes.sdf].
[Dbg] [Application.cc:87] Initializing application.
[GUI] [Dbg] [Application.cc:427] Create main window
[Dbg] [EntityComponentManager.cc:641] Using components of type [2251689575469537287] / [ign_gazebo_components.World].
[Dbg] [EntityComponentManager.cc:641] Using components of type [13994732549916512682] / [ign_gazebo_components.Name].
[Dbg] [EntityComponentManager.cc:641] Using components of type [12592746352568925681] / [ign_gazebo_components.Gravity].
[Dbg] [EntityComponentManager.cc:641] Using components of type [2188341333082264598] / [ign_gazebo_components.Physics].
[Dbg] [EntityComponentManager.cc:641] Using components of type [13224937992534617849] / [ign_gazebo_components.MagneticField].
[Dbg] [EntityComponentManager.cc:641] Using components of type [3630648173860223239] / [ign_gazebo_components.PhysicsEnginePlugin].
[Dbg] [EntityComponentManager.cc:641] Using components of type [17459188283658606303] / [ign_gazebo_components.RenderEngineServerPlugin].
[Dbg] [EntityComponentManager.cc:641] Using components of type [8705992680619689917] / [ign_gazebo_components.RenderEngineGuiPlugin].
[Dbg] [EntityComponentManager.cc:641] Using components of type [8753193699724811771] / [ign_gazebo_components.Wind].
[Dbg] [EntityComponentManager.cc:641] Using components of type [12173050716021724529] / [ign_gazebo_components.WorldLinearVelocity].
[Dbg] [EntityComponentManager.cc:641] Using components of type [15943768124495574352] / [ign_gazebo_components.WorldLinearVelocitySeed].
[Dbg] [EntityComponentManager.cc:641] Using components of type [3297509811873971798] / [ign_gazebo_components.ParentEntity].
[Dbg] [EntityComponentManager.cc:641] Using components of type [17100615127981600159] / [ign_gazebo_components.Scene].
[Dbg] [EntityComponentManager.cc:641] Using components of type [17605309075052480649] / [ign_gazebo_components.Atmosphere].
[Dbg] [EntityComponentManager.cc:641] Using components of type [8064491505919932473] / [ign_gazebo_components.Level].
[Dbg] [EntityComponentManager.cc:641] Using components of type [2668898242563798256] / [ign_gazebo_components.DefaultLevel].
[Dbg] [EntityComponentManager.cc:641] Using components of type [11371360182141354106] / [ign_gazebo_components.LevelEntityNames].
[Dbg] [EntityComponentManager.cc:641] Using components of type [4981278897826323946] / [ign_gazebo_components.WorldSdf].
[Dbg] [EntityComponentManager.cc:641] Using components of type [6687176221774458630] / [ign_gazebo_components.Model].
[Dbg] [EntityComponentManager.cc:641] Using components of type [6612894081701502240] / [ign_gazebo_components.Pose].
[Dbg] [EntityComponentManager.cc:641] Using components of type [8546580419506082455] / [ign_gazebo_components.Static].
[Dbg] [EntityComponentManager.cc:641] Using components of type [9712747055438129860] / [ign_gazebo_components.WindMode].
[Dbg] [EntityComponentManager.cc:641] Using components of type [5661073481138181711] / [ign_gazebo_components.SelfCollide].
[Dbg] [EntityComponentManager.cc:641] Using components of type [11683062252779233161] / [ign_gazebo_components.SourceFilePath].
[Dbg] [EntityComponentManager.cc:641] Using components of type [5081358965268446661] / [ign_gazebo_components.Link].
[Dbg] [EntityComponentManager.cc:641] Using components of type [8112400427272910195] / [ign_gazebo_components.Inertial].
[Dbg] [EntityComponentManager.cc:641] Using components of type [16454635107327670381] / [ign_gazebo_components.Visual].
[Dbg] [EntityComponentManager.cc:641] Using components of type [13011964647677164955] / [ign_gazebo_components.CastShadows].
[Dbg] [EntityComponentManager.cc:641] Using components of type [13440282432131634483] / [ign_gazebo_components.Transparency].
[Dbg] [EntityComponentManager.cc:641] Using components of type [17121648710877364109] / [ign_gazebo_components.Geometry].
[Dbg] [EntityComponentManager.cc:641] Using components of type [9853217982010720764] / [ign_gazebo_components.Material].
[Dbg] [EntityComponentManager.cc:641] Using components of type [17938588655714334139] / [ign_gazebo_components.Collision].
[Dbg] [EntityComponentManager.cc:641] Using components of type [9225962031573086509] / [ign_gazebo_components.CollisionElement].
[Dbg] [EntityComponentManager.cc:641] Using components of type [10522242218202596205] / [ign_gazebo_components.CanonicalLink].
[Dbg] [EntityComponentManager.cc:641] Using components of type [11536476718181283925] / [ign_gazebo_components.ModelSdf].
[Dbg] [EntityComponentManager.cc:641] Using components of type [3866641186784191835] / [ign_gazebo_components.Light].
[Msg] Loaded level [3]
[Msg] No systems loaded from SDF, loading defaults
[Dbg] [ServerConfig.cc:926] Loaded (3) plugins from file [/home/firefoxmetzger/.ignition/gazebo/server.config]
[Dbg] [Physics.cc:529] Loaded [ignition::physics::dartsim::Plugin] from library [/usr/lib/x86_64-linux-gnu/ign-physics-2/engine-plugins/libignition-physics-dartsim-plugin.so]
[Dbg] [SimulationRunner.cc:846] Loaded system [ignition::gazebo::systems::Physics] for entity [1]
[Msg] Create service on [/world/shapes/create]
[Msg] Remove service on [/world/shapes/remove]
[Msg] Pose service on [/world/shapes/set_pose]
[Msg] Physics service on [/world/shapes/set_physics]
[Dbg] [SimulationRunner.cc:846] Loaded system [ignition::gazebo::systems::UserCommands] for entity [1]
[Dbg] [SimulationRunner.cc:846] Loaded system [ignition::gazebo::systems::SceneBroadcaster] for entity [1]
[Msg] Serving world controls on [/world/shapes/control] and [/world/shapes/playback/control]
[Msg] Serving GUI information on [/world/shapes/gui/info]
[Msg] World [shapes] initialized with [default_physics] physics profile.
[Msg] Serving world SDF generation service on [/world/shapes/generate_world_sdf]
[Msg] Serving world names on [/gazebo/worlds]
[Msg] Resource path add service on [/gazebo/resource_paths/add].
[Msg] Resource path get service on [/gazebo/resource_paths/get].
[Msg] Resource paths published on [/gazebo/resource_paths].
NVD3D10: CPU cyclestats are disabled on client virtualization
NVD3D10: CPU cyclestats are disabled on client virtualization
[GUI] [Wrn] [Application.cc:669] [QT] file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102:33: QML Settings: Failed to initialize QSettings instance. Status code is: 1
[GUI] [Wrn] [Application.cc:669] [QT] file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102:33: QML Settings: The following application identifiers have not been set: QVector("organizationName", "organizationDomain")
[GUI] [Wrn] [Application.cc:669] [QT] file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102:33: QML Settings: Failed to initialize QSettings instance. Status code is: 1
[GUI] [Wrn] [Application.cc:669] [QT] file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102:33: QML Settings: The following application identifiers have not been set: QVector("organizationName", "organizationDomain")
[Msg] Found no publishers on /stats, adding root stats topic
[Msg] Found no publishers on /clock, adding root clock topic
[Dbg] [SimulationRunner.cc:497] Creating PostUpdate worker threads: 2
[Dbg] [SimulationRunner.cc:510] Creating postupdate worker thread (0)
[Msg] Serving scene information on [/world/shapes/scene/info]
[Msg] Serving graph information on [/world/shapes/scene/graph]
[Msg] Serving full state on [/world/shapes/state]
[Msg] Serving full state (async) on [/world/shapes/state_async]
[Msg] Publishing scene information on [/world/shapes/scene/info]
[Msg] Publishing entity deletions on [/world/shapes/scene/deletion]
[Msg] Publishing state changes on [/world/shapes/state]
[Msg] Publishing pose messages on [/world/shapes/pose/info]
[Msg] Publishing dynamic pose messages on [/world/shapes/dynamic_pose/info]
[GUI] [Dbg] [PathManager.cc:66] Requesting resource paths through [/gazebo/resource_paths/get]
[GUI] [Wrn] [Application.cc:669] [QT] file::/Gazebo/GazeboDrawer.qml:178:3: QML Dialog: Binding loop detected for property "implicitHeight"
[GUI] [Wrn] [Application.cc:669] [QT] file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102:33: QML Settings: Failed to initialize QSettings instance. Status code is: 1
[GUI] [Wrn] [Application.cc:669] [QT] file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102:33: QML Settings: The following application identifiers have not been set: QVector("organizationName", "organizationDomain")
[GUI] [Wrn] [Application.cc:669] [QT] file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102:33: QML Settings: Failed to initialize QSettings instance. Status code is: 1
[GUI] [Wrn] [Application.cc:669] [QT] file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102:33: QML Settings: The following application identifiers have not been set: QVector("organizationName", "organizationDomain")
[GUI] [Wrn] [Application.cc:669] [QT] file::/Gazebo/GazeboDrawer.qml:178:3: QML Dialog: Binding loop detected for property "implicitHeight"
[GUI] [Dbg] [Gui.cc:151] GUI requesting list of world names. The server may be busy downloading resources. Please be patient.
[GUI] [Dbg] [PathManager.cc:55] Received resource paths.
[GUI] [Dbg] [Gui.cc:202] Requesting GUI from [/world/shapes/gui/info]...
[GUI] [Dbg] [GuiRunner.cc:60] Requesting initial state from [/world/shapes/state]...
[Dbg] [EntityComponentManager.cc:961] Updated state thread iterators: 16 threads processing around 2 components each.
[Wrn] [Component.hh:144] Trying to serialize component with data type [[Wrn] [Component.hh:144] Trying to serialize component with data type [Trying to serialize component with data type [N3sdf2v95ModelEN3sdf2v95ModelE], which doesn't have ], which doesn't have [Wrn] [Component.hh:144] [Wrn] [Component.hh:144] Trying to serialize component with data type [N3sdf2v95ModelE], which doesn't have ], which doesn't have [Wrn] [Component.hh:144] Trying to serialize component with data type [Trying to serialize component with data type [[Wrn] [Component.hh:144] Trying to serialize component with data type [N3sdf2v95WorldE], which doesn't have N3sdf2v95ModelE`operator<<`. Component will not be serialized.`operator<<`. Component will not be serialized.], which doesn't have `operator<<`. Component will not be serialized.], which doesn't have

`operator<<`. Component will not be serialized.
`operator<<`. Component will not be serialized.

[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [17100615127981600159] / [ign_gazebo_components.Scene].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [12592746352568925681] / [ign_gazebo_components.Gravity].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [2188341333082264598] / [ign_gazebo_components.Physics].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [2251689575469537287] / [ign_gazebo_components.World].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [3630648173860223239] / [ign_gazebo_components.PhysicsEnginePlugin].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [13224937992534617849] / [ign_gazebo_components.MagneticField].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [17605309075052480649] / [ign_gazebo_components.Atmosphere].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [13994732549916512682] / [ign_gazebo_components.Name].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [8753193699724811771] / [ign_gazebo_components.Wind].
[GUI] [Msg] Loading config [/home/firefoxmetzger/.ignition/gazebo/gui.config]
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [3297509811873971798] / [] / [[GUI] [Dbg] [Application.cc:307] Loading plugin [GzScene3DLoading plugin [ign_gazebo_components.ParentEntity]
].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [15943768124495574352] / [ign_gazebo_components.WorldLinearVelocitySeed].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [12173050716021724529] / [ign_gazebo_components.WorldLinearVelocity].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [2668898242563798256] / [ign_gazebo_components.DefaultLevel].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [8064491505919932473] / [ign_gazebo_components.Level].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [11371360182141354106] / [ign_gazebo_components.LevelEntityNames].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [9712747055438129860] / [ign_gazebo_components.WindMode].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [6687176221774458630] / [ign_gazebo_components.Model].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [8546580419506082455] / [ign_gazebo_components.Static].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [11683062252779233161] / [ign_gazebo_components.SourceFilePath].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [5661073481138181711] / [ign_gazebo_components.SelfCollide].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [6612894081701502240] / [ign_gazebo_components.Pose].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [10522242218202596205] / [ign_gazebo_components.CanonicalLink].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [8112400427272910195] / [ign_gazebo_components.Inertial].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [5081358965268446661] / [ign_gazebo_components.Link].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [13440282432131634483] / [ign_gazebo_components.Transparency].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [13011964647677164955] / [ign_gazebo_components.CastShadows].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [9853217982010720764] / [ign_gazebo_components.Material].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [17121648710877364109] / [ign_gazebo_components.Geometry].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [16454635107327670381] / [ign_gazebo_components.Visual].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [17938588655714334139] / [ign_gazebo_components.Collision].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [9225962031573086509] / [ign_gazebo_components.CollisionElement].
[GUI] [Dbg] [EntityComponentManager.cc:641] Using components of type [3866641186784191835] / [ign_gazebo_components.Light].
[GUI] [Msg] Video recorder stats topic advertised on [/gui/record_video/stats]
[GUI] [Msg] Transform mode service on [/gui/transform_mode]
[GUI] [Msg] Record video service on [/gui/record_video]
[GUI] [Msg] Move to service on [/gui/move_to]
[GUI] [Msg] Follow service on [/gui/follow]
[GUI] [Msg] View angle service on [/gui/view_angle]
[GUI] [Msg] Move to pose service on [/gui/move_to/pose]
[GUI] [Msg] Camera pose topic advertised on [/gui/camera/pose]
[GUI] [Msg] View collisions service on [/gui/view/collisions]
[GUI] [Msg] Added plugin [3D View] to main window
[GUI] [Msg] Loaded plugin [GzScene3D] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-3/plugins/gui/libGzScene3D.so]
[GUI] [Dbg] [Application.cc:307] Loading plugin [WorldControl]
[GUI] [Wrn] [Application.cc:669] [QT] file::/WorldControl/WorldControl.qml:88:3: QML RoundButton: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Msg] Using world control service [/world/shapes/control]
[GUI] [Wrn] [Application.cc:669] [QT] file::/WorldControl/WorldControl.qml:88:3: QML RoundButton: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Msg] Listening to stats on [/world/shapes/stats]
[GUI] [Dbg] [Scene3D.cc:2663] RenderEngineGuiPlugin component not found, render engine won't be set from the ECM
[GUI] [Msg] Added plugin [World control] to main window
[GUI] [Msg] Loaded plugin [WorldControl] from path [/usr/lib/x86_64-linux-gnu/ign-gui-3/plugins/libWorldControl.so]
[GUI] [Dbg] [Application.cc:307] Loading plugin [WorldStats]
[GUI] [Msg] Listening to stats on [/world/shapes/stats]
[GUI] [Msg] Added plugin [World stats] to main window
[GUI] [Msg] Loaded plugin [WorldStats] from path [/usr/lib/x86_64-linux-gnu/ign-gui-3/plugins/libWorldStats.so]
[GUI] [Dbg] [Application.cc:307] Loading plugin [Shapes]
[GUI] [Msg] Added plugin [Shapes] to main window
[GUI] [Msg] Loaded plugin [Shapes] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-3/plugins/gui/libShapes.so]
[GUI] [Dbg] [Application.cc:307] Loading plugin [Lights]
[GUI] [Err] [Application.cc:324] Failed to load plugin [Lights] : couldn't find shared library.
[GUI] [Dbg] [Application.cc:307] Loading plugin [TransformControl]
[GUI] [Msg] Added plugin [Transform control] to main window
[GUI] [Msg] Loaded plugin [TransformControl] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-3/plugins/gui/libTransformControl.so]
[GUI] [Dbg] [Application.cc:307] Loading plugin [Screenshot]
[GUI] [Wrn] [Application.cc:669] [QT] file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102:33: QML Settings: Failed to initialize QSettings instance. Status code is: 1
[GUI] [Wrn] [Application.cc:669] [QT] file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102:33: QML Settings: The following application identifiers have not been set: QVector("organizationName", "organizationDomain")
[GUI] [Msg] Screenshot service on [/gui/screenshot]
[GUI] [Msg] Added plugin [Screenshot] to main window
[GUI] [Msg] Loaded plugin [Screenshot] from path [/usr/lib/x86_64-linux-gnu/ign-gui-3/plugins/libScreenshot.so]
[GUI] [Dbg] [Application.cc:307] Loading plugin [ComponentInspector]
[GUI] [Msg] Added plugin [Component inspector] to main window
[GUI] [Msg] Loaded plugin [ComponentInspector] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-3/plugins/gui/libComponentInspector.so]
[GUI] [Dbg] [Application.cc:307] Loading plugin [EntityTree]
[GUI] [Msg] Added plugin [Entity tree] to main window
[GUI] [Msg] Loaded plugin [EntityTree] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-3/plugins/gui/libEntityTree.so]
[GUI] [Dbg] [Application.cc:260] Loading window config
[GUI] [Dbg] [Application.cc:441] Applying config
[GUI] [Wrn] [Application.cc:669] [QT] file::/Gazebo/GazeboDrawer.qml:178:3: QML Dialog: Binding loop detected for property "implicitHeight"
[GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[GUI] [Wrn] [Application.cc:669] [QT] file::/ComponentInspector/Physics.qml:89:5: QML Image: Cannot open: file::/ComponentInspector/plottable_icon.svg
[GUI] [Wrn] [Application.cc:669] [QT] file::/ComponentInspector/Physics.qml:89:5: QML Image: Cannot open: file::/ComponentInspector/plottable_icon.svg
[GUI] [Dbg] [RenderUtil.cc:1201] Create scene [scene]
[GUI] [Dbg] [Gui.cc:292] Shutting down ign-gazebo-gui
[GUI] [Dbg] [Application.cc:130] Terminating application.
[GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[GUI] [Dbg] [Scene3D.cc:1694] Destroy scene [scene]
[Dbg] [SignalHandler.cc:141] Received signal[2].
[Dbg] [ServerPrivate.cc:108] Server received signal[2]
[Dbg] [ign.cc:362] Shutting down ign-gazebo-server
[Dbg] [SimulationRunner.cc:526] Exiting postupdate worker thread (0)

@traversaro I agree, there could be a high chance that it is a Wayland vs X problem.
After my current project finishes, I will hard-reset my Linux machine at work. I'll use that as an opportunity to get a clean bare-bones Ubuntu 20.04 + Wayland. Let's see what happens then.

I've been trying to use ign-gazebo on WSLg with WIndows 11 also and tried with the headless command ign gazebo shapes.sdf --headless-rendering. It still doesn't render the scene.

@blakermchale , what version of Ignition and Ogre 2 do you have installed? Are you able to get Ogre logs when running with headless rendering?

When I run ign gazebo --version I get: Ignition Gazebo, version 6.1.0
My ogre version is Ogre 2.2
Here are my ogre logs from ~/.ignition/rendering/ogre2.log:
19:00:54: Creating resource group General
19:00:54: Creating resource group Internal
19:00:54: Creating resource group Autodetect
19:00:54: SceneManagerFactory for type 'DefaultSceneManager' registered.
19:00:54: Registering ResourceManager for type Material
19:00:54: Registering ResourceManager for type Mesh
19:00:54: Registering ResourceManager for type Mesh2
19:00:54: Registering ResourceManager for type OldSkeleton
19:00:54: MovableObjectFactory for type 'ParticleSystem' registered.
19:00:54: ArchiveFactory for archive type FileSystem registered.
19:00:54: ArchiveFactory for archive type Zip registered.
19:00:54: ArchiveFactory for archive type EmbeddedZip registered.
19:00:54: DDS codec registering
19:00:54: FreeImage version: 3.18.0
19:00:54: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
19:00:54: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,psb,cut,xbm,xpm,gif,hdr,g3,sgi,rgb,rgba,bw,exr,j2k,j2c,jp2,pfm,pct,pict,pic,3fr,arw,bay,bmq,cap,cine,cr2,crw,cs1,dc2,dcr,drf,dsc,dng,erf,fff,ia,iiq,k25,kc2,kdc,mdc,mef,mos,mrw,nef,nrw,orf,pef,ptx,pxn,qtk,raf,raw,rdc,rw2,rwl,rwz,sr2,srf,srw,sti,x3f,webp,jxr,wdp,hdp
19:00:54: OITD codec registering
19:00:54: Registering ResourceManager for type HighLevelGpuProgram
19:00:54: MovableObjectFactory for type 'Decal' registered.
19:00:54: MovableObjectFactory for type 'InternalCubemapProbe' registered.
19:00:54: MovableObjectFactory for type 'Entity' registered.
19:00:54: MovableObjectFactory for type 'Item' registered.
19:00:54: MovableObjectFactory for type 'Light' registered.
19:00:54: MovableObjectFactory for type 'Rectangle2Dv2' registered.
19:00:54: MovableObjectFactory for type 'BillboardSet' registered.
19:00:54: MovableObjectFactory for type 'ManualObject2' registered.
19:00:54: MovableObjectFactory for type 'BillboardChain' registered.
19:00:54: MovableObjectFactory for type 'RibbonTrail' registered.
19:00:54: MovableObjectFactory for type 'WireAabb' registered.
19:00:54: *-*-* OGRE Initialising
19:00:54: *-*-* Version 2.2.6 (Cerberus)
19:00:54: OverlayElementFactory for type Panel registered.
19:00:54: OverlayElementFactory for type BorderPanel registered.
19:00:54: OverlayElementFactory for type TextArea registered.
19:00:54: Registering ResourceManager for type Font
19:00:54: Loading library /usr/lib/x86_64-linux-gnu/OGRE-2.2/OGRE/RenderSystem_GL3Plus.so
19:00:54: Installing plugin: GL 3+ RenderSystem
19:00:54: OpenGL 3+ Rendering Subsystem created.
19:00:54: Found Num EGL Devices: 1
19:00:54: EGL Device: EGL_MESA_device_software #0
19:00:54: Trying to init device: EGL_MESA_device_software #0...
19:00:54: Created GL 3.3 context for device EGL_MESA_device_software #0
19:00:54: Destroying device: EGL_MESA_device_software #0...
19:00:54: Plugin successfully installed
19:00:54: Loading library /usr/lib/x86_64-linux-gnu/OGRE-2.2/OGRE/Plugin_ParticleFX.so
19:00:54: Installing plugin: ParticleFX
19:00:54: Particle Emitter Type 'Point' registered
19:00:54: Particle Emitter Type 'Box' registered
19:00:54: Particle Emitter Type 'Ellipsoid' registered
19:00:54: Particle Emitter Type 'Cylinder' registered
19:00:54: Particle Emitter Type 'Ring' registered
19:00:54: Particle Emitter Type 'HollowEllipsoid' registered
19:00:54: Particle Affector Type 'LinearForce' registered
19:00:54: Particle Affector Type 'ColourFader' registered
19:00:54: Particle Affector Type 'ColourFader2' registered
19:00:54: Particle Affector Type 'ColourImage' registered
19:00:54: Particle Affector Type 'ColourInterpolator' registered
19:00:54: Particle Affector Type 'Scaler' registered
19:00:54: Particle Affector Type 'Rotator' registered
19:00:54: Particle Affector Type 'DirectionRandomiser' registered
19:00:54: Particle Affector Type 'DeflectorPlane' registered
19:00:54: Plugin successfully installed
19:00:54: CPU Identifier & Features
19:00:54: -------------------------
19:00:54:  *   CPU ID: AuthenticAMD: AMD Ryzen 7 3700X 8-Core Processor
19:00:54:  *   Logical cores: 8
19:00:54:  *      SSE: yes
19:00:54:  *     SSE2: yes
19:00:54:  *     SSE3: yes
19:00:54:  *      MMX: yes
19:00:54:  *   MMXEXT: yes
19:00:54:  *    3DNOW: no
19:00:54:  * 3DNOWEXT: no
19:00:54:  *     CMOV: yes
19:00:54:  *      TSC: yes
19:00:54:  *      FPU: yes
19:00:54:  *      PRO: yes
19:00:54:  *       HT: no
19:00:54: -------------------------
19:00:54: ******************************
*** Starting GLX Subsystem ***
******************************
19:00:54: GL3PlusRenderSystem::_createRenderWindow "OgreWindow(0)_0", 1x1 windowed  miscParams: FSAA=0 border=none contentScalingFactor=1.000000 currentGLContext=true externalGLControl=true gamma=Yes parentWindowHandle=4194317 stereoMode=Frame Sequential
19:00:54: GLXWindow::create used FBConfigID = 376
19:00:54: GL Version = <IP_ADDRESS>
19:00:54: GL_VERSION = 3.3 (Compatibility Profile) Mesa 21.0.3
19:00:54: GL_VENDOR = Microsoft Corporation
19:00:54: GL_RENDERER = D3D12 (NVIDIA GeForce RTX 2080 SUPER)
19:00:54: GL_EXTENSIONS =
19:00:54: GL_AMD_conservative_depth
19:00:54: GL_AMD_draw_buffers_blend
19:00:54: GL_AMD_shader_trinary_minmax
19:00:54: GL_ANGLE_texture_compression_dxt3
19:00:54: GL_ANGLE_texture_compression_dxt5
19:00:54: GL_APPLE_packed_pixels
19:00:54: GL_ARB_ES2_compatibility
19:00:54: GL_ARB_ES3_compatibility
19:00:54: GL_ARB_arrays_of_arrays
19:00:54: GL_ARB_blend_func_extended
19:00:54: GL_ARB_clear_buffer_object
19:00:54: GL_ARB_color_buffer_float
19:00:54: GL_ARB_compatibility
19:00:54: GL_ARB_compressed_texture_pixel_storage
19:00:54: GL_ARB_conservative_depth
19:00:54: GL_ARB_copy_buffer
19:00:54: GL_ARB_debug_output
19:00:54: GL_ARB_depth_buffer_float
19:00:54: GL_ARB_depth_clamp
19:00:54: GL_ARB_depth_texture
19:00:54: GL_ARB_direct_state_access
19:00:54: GL_ARB_draw_buffers
19:00:54: GL_ARB_draw_buffers_blend
19:00:54: GL_ARB_draw_elements_base_vertex
19:00:54: GL_ARB_draw_instanced
19:00:54: GL_ARB_explicit_attrib_location
19:00:54: GL_ARB_explicit_uniform_location
19:00:54: GL_ARB_fragment_coord_conventions
19:00:54: GL_ARB_fragment_program
19:00:54: GL_ARB_fragment_program_shadow
19:00:54: GL_ARB_fragment_shader
19:00:54: GL_ARB_framebuffer_object
19:00:54: GL_ARB_framebuffer_sRGB
19:00:54: GL_ARB_get_program_binary
19:00:54: GL_ARB_get_texture_sub_image
19:00:54: GL_ARB_half_float_pixel
19:00:54: GL_ARB_half_float_vertex
19:00:54: GL_ARB_instanced_arrays
19:00:54: GL_ARB_internalformat_query
19:00:54: GL_ARB_internalformat_query2
19:00:54: GL_ARB_invalidate_subdata
19:00:54: GL_ARB_map_buffer_alignment
19:00:54: GL_ARB_map_buffer_range
19:00:54: GL_ARB_multi_bind
19:00:54: GL_ARB_multisample
19:00:54: GL_ARB_multitexture
19:00:54: GL_ARB_occlusion_query
19:00:54: GL_ARB_occlusion_query2
19:00:54: GL_ARB_parallel_shader_compile
19:00:54: GL_ARB_pixel_buffer_object
19:00:54: GL_ARB_point_parameters
19:00:54: GL_ARB_point_sprite
19:00:54: GL_ARB_program_interface_query
19:00:54: GL_ARB_provoking_vertex
19:00:54: GL_ARB_robustness
19:00:54: GL_ARB_sampler_objects
19:00:54: GL_ARB_seamless_cube_map
19:00:54: GL_ARB_separate_shader_objects
19:00:54: GL_ARB_shader_bit_encoding
19:00:54: GL_ARB_shader_objects
19:00:54: GL_ARB_shader_subroutine
19:00:54: GL_ARB_shader_texture_lod
19:00:54: GL_ARB_shading_language_100
19:00:54: GL_ARB_shading_language_420pack
19:00:54: GL_ARB_shading_language_include
19:00:54: GL_ARB_shading_language_packing
19:00:54: GL_ARB_shadow
19:00:54: GL_ARB_stencil_texturing
19:00:54: GL_ARB_sync
19:00:54: GL_ARB_texture_border_clamp
19:00:54: GL_ARB_texture_buffer_object
19:00:54: GL_ARB_texture_buffer_object_rgb32
19:00:54: GL_ARB_texture_buffer_range
19:00:54: GL_ARB_texture_compression
19:00:54: GL_ARB_texture_compression_rgtc
19:00:54: GL_ARB_texture_cube_map
19:00:54: GL_ARB_texture_env_add
19:00:54: GL_ARB_texture_env_combine
19:00:54: GL_ARB_texture_env_crossbar
19:00:54: GL_ARB_texture_env_dot3
19:00:54: GL_ARB_texture_filter_anisotropic
19:00:54: GL_ARB_texture_float
19:00:54: GL_ARB_texture_mirrored_repeat
19:00:54: GL_ARB_texture_multisample
19:00:54: GL_ARB_texture_non_power_of_two
19:00:54: GL_ARB_texture_query_levels
19:00:54: GL_ARB_texture_query_lod
19:00:54: GL_ARB_texture_rectangle
19:00:54: GL_ARB_texture_rg
19:00:54: GL_ARB_texture_rgb10_a2ui
19:00:54: GL_ARB_texture_stencil8
19:00:54: GL_ARB_texture_storage
19:00:54: GL_ARB_texture_storage_multisample
19:00:54: GL_ARB_texture_swizzle
19:00:54: GL_ARB_timer_query
19:00:54: GL_ARB_transpose_matrix
19:00:54: GL_ARB_uniform_buffer_object
19:00:54: GL_ARB_vertex_array_bgra
19:00:54: GL_ARB_vertex_array_object
19:00:54: GL_ARB_vertex_attrib_binding
19:00:54: GL_ARB_vertex_buffer_object
19:00:54: GL_ARB_vertex_program
19:00:54: GL_ARB_vertex_shader
19:00:54: GL_ARB_vertex_type_10f_11f_11f_rev
19:00:54: GL_ARB_vertex_type_2_10_10_10_rev
19:00:54: GL_ARB_window_pos
19:00:54: GL_ATI_blend_equation_separate
19:00:54: GL_ATI_draw_buffers
19:00:54: GL_ATI_fragment_shader
19:00:54: GL_ATI_separate_stencil
19:00:54: GL_ATI_texture_env_combine3
19:00:54: GL_ATI_texture_float
19:00:54: GL_EXT_EGL_image_storage
19:00:54: GL_EXT_EGL_sync
19:00:54: GL_EXT_abgr
19:00:54: GL_EXT_bgra
19:00:54: GL_EXT_blend_color
19:00:54: GL_EXT_blend_equation_separate
19:00:54: GL_EXT_blend_func_separate
19:00:54: GL_EXT_blend_minmax
19:00:54: GL_EXT_blend_subtract
19:00:54: GL_EXT_compiled_vertex_array
19:00:54: GL_EXT_copy_texture
19:00:54: GL_EXT_direct_state_access
19:00:54: GL_EXT_draw_buffers2
19:00:54: GL_EXT_draw_instanced
19:00:54: GL_EXT_draw_range_elements
19:00:54: GL_EXT_fog_coord
19:00:54: GL_EXT_framebuffer_blit
19:00:54: GL_EXT_framebuffer_multisample
19:00:54: GL_EXT_framebuffer_multisample_blit_scaled
19:00:54: GL_EXT_framebuffer_object
19:00:54: GL_EXT_framebuffer_sRGB
19:00:54: GL_EXT_gpu_program_parameters
19:00:54: GL_EXT_gpu_shader4
19:00:54: GL_EXT_multi_draw_arrays
19:00:54: GL_EXT_packed_depth_stencil
19:00:54: GL_EXT_packed_float
19:00:54: GL_EXT_packed_pixels
19:00:54: GL_EXT_pixel_buffer_object
19:00:54: GL_EXT_point_parameters
19:00:54: GL_EXT_provoking_vertex
19:00:54: GL_EXT_rescale_normal
19:00:54: GL_EXT_secondary_color
19:00:54: GL_EXT_separate_specular_color
19:00:54: GL_EXT_shader_integer_mix
19:00:54: GL_EXT_shadow_funcs
19:00:54: GL_EXT_stencil_two_side
19:00:54: GL_EXT_stencil_wrap
19:00:54: GL_EXT_subtexture
19:00:54: GL_EXT_texture
19:00:54: GL_EXT_texture3D
19:00:54: GL_EXT_texture_array
19:00:54: GL_EXT_texture_buffer_object
19:00:54: GL_EXT_texture_compression_dxt1
19:00:54: GL_EXT_texture_compression_rgtc
19:00:54: GL_EXT_texture_compression_s3tc
19:00:54: GL_EXT_texture_cube_map
19:00:54: GL_EXT_texture_edge_clamp
19:00:54: GL_EXT_texture_env_add
19:00:54: GL_EXT_texture_env_combine
19:00:54: GL_EXT_texture_env_dot3
19:00:54: GL_EXT_texture_filter_anisotropic
19:00:54: GL_EXT_texture_integer
19:00:54: GL_EXT_texture_lod_bias
19:00:54: GL_EXT_texture_object
19:00:54: GL_EXT_texture_rectangle
19:00:54: GL_EXT_texture_sRGB
19:00:54: GL_EXT_texture_sRGB_decode
19:00:54: GL_EXT_texture_shared_exponent
19:00:54: GL_EXT_texture_snorm
19:00:54: GL_EXT_texture_swizzle
19:00:54: GL_EXT_timer_query
19:00:54: GL_EXT_transform_feedback
19:00:54: GL_EXT_vertex_array
19:00:54: GL_EXT_vertex_array_bgra
19:00:54: GL_IBM_multimode_draw_arrays
19:00:54: GL_IBM_rasterpos_clip
19:00:54: GL_IBM_texture_mirrored_repeat
19:00:54: GL_INGR_blend_func_separate
19:00:54: GL_KHR_context_flush_control
19:00:54: GL_KHR_debug
19:00:54: GL_KHR_no_error
19:00:54: GL_KHR_parallel_shader_compile
19:00:54: GL_KHR_texture_compression_astc_ldr
19:00:54: GL_KHR_texture_compression_astc_sliced_3d
19:00:54: GL_MESA_pack_invert
19:00:54: GL_MESA_shader_integer_functions
19:00:54: GL_MESA_texture_signed_rgba
19:00:54: GL_MESA_window_pos
19:00:54: GL_NV_blend_square
19:00:54: GL_NV_conditional_render
19:00:54: GL_NV_copy_depth_to_color
19:00:54: GL_NV_copy_image
19:00:54: GL_NV_depth_clamp
19:00:54: GL_NV_fog_distance
19:00:54: GL_NV_half_float
19:00:54: GL_NV_light_max_exponent
19:00:54: GL_NV_packed_depth_stencil
19:00:54: GL_NV_primitive_restart
19:00:54: GL_NV_texgen_reflection
19:00:54: GL_NV_texture_env_combine4
19:00:54: GL_NV_texture_rectangle
19:00:54: GL_OES_EGL_image
19:00:54: GL_OES_read_format
19:00:54: GL_S3_s3tc
19:00:54: GL_SGIS_generate_mipmap
19:00:54: GL_SGIS_texture_border_clamp
19:00:54: GL_SGIS_texture_edge_clamp
19:00:54: GL_SGIS_texture_lod
19:00:54: GL_SUN_multi_draw_arrays
19:00:54: **************************************
19:00:54: ***   OpenGL 3+ Renderer Started   ***
19:00:54: **************************************
19:00:54: Registering ResourceManager for type GpuProgram
19:00:54: RenderSystem capabilities
19:00:54: -------------------------
19:00:54: RenderSystem Name: OpenGL 3+ Rendering Subsystem
19:00:54: GPU Vendor: microsoft
19:00:54: Device Name: D3D12 (NVIDIA GeForce RTX 2080 SUPER)
19:00:54: Driver Version: <IP_ADDRESS>
19:00:54:  * Fixed function pipeline: no
19:00:54:  * Hardware generation of mipmaps: yes
19:00:54:  * Texture blending: yes
19:00:54:  * Anisotropic texture filtering: yes
19:00:54:  * Dot product texture operation: yes
19:00:54:  * Cube mapping: yes
19:00:54:  * Hardware stencil buffer: yes
19:00:54:    - Stencil depth: 8
19:00:54:    - Two sided stencil support: yes
19:00:54:    - Wrap stencil values: yes
19:00:54:  * Hardware vertex / index buffers: yes
19:00:54:  * 32-bit index buffers: yes
19:00:54:  * Vertex programs: yes
19:00:54:  * Number of floating-point constants for vertex programs: 16384
19:00:54:  * Number of integer constants for vertex programs: 16384
19:00:54:  * Number of boolean constants for vertex programs: 16384
19:00:54:  * Fragment programs: yes
19:00:54:  * Number of floating-point constants for fragment programs: 16384
19:00:54:  * Number of integer constants for fragment programs: 16384
19:00:54:  * Number of boolean constants for fragment programs: 16384
19:00:54:  * Geometry programs: yes
19:00:54:  * Number of floating-point constants for geometry programs: 16384
19:00:54:  * Number of integer constants for geometry programs: 16384
19:00:54:  * Number of boolean constants for geometry programs: 16384
19:00:54:  * Tessellation Hull programs: no
19:00:54:  * Number of floating-point constants for tessellation hull programs: 0
19:00:54:  * Number of integer constants for tessellation hull programs: 0
19:00:54:  * Number of boolean constants for tessellation hull programs: 0
19:00:54:  * Tessellation Domain programs: no
19:00:54:  * Number of floating-point constants for tessellation domain programs: 0
19:00:54:  * Number of integer constants for tessellation domain programs: 0
19:00:54:  * Number of boolean constants for tessellation domain programs: 0
19:00:54:  * Compute programs: no
19:00:54:  * Number of floating-point constants for compute programs: 0
19:00:54:  * Number of integer constants for compute programs: 0
19:00:54:  * Number of boolean constants for compute programs: 0
19:00:54:  * Supported Shader Profiles: glsl glsl130 glsl140 glsl150 glsl330
19:00:54:  * Texture Compression: yes
19:00:54:    - DXT: yes
19:00:54:    - VTC: no
19:00:54:    - PVRTC: no
19:00:54:    - ATC: no
19:00:54:    - ETC1: no
19:00:54:    - ETC2: yes
19:00:54:    - BC4/BC5: yes
19:00:54:    - BC6H/BC7: no
19:00:54:    - ASTC: yes
19:00:54:  * Hardware Occlusion Query: yes
19:00:54:  * User clip planes: yes
19:00:54:  * VET_UBYTE4 vertex element type: yes
19:00:54:  * Infinite far plane projection: yes
19:00:54:  * Hardware render-to-texture: yes
19:00:54:  * Floating point textures: yes
19:00:54:  * Non-power-of-two textures: yes
19:00:54:  * 1d textures: yes
19:00:54:  * Volume textures: yes
19:00:54:  * Max Texture resolution (2D) 16384
19:00:54:  * Max Texture resolution (3D) 1024
19:00:54:  * Max Texture resolution (Cubemaps) 8192
19:00:54:  * Multiple Render Targets: 8
19:00:54:    - With different bit depths: yes
19:00:54:  * Point Sprites: yes
19:00:54:  * Extended point parameters: yes
19:00:54:  * Max Point Size: 255
19:00:54:  * Vertex texture fetch: yes
19:00:54:  * Number of world matrices: 0
19:00:54:  * Number of texture units: 16
19:00:54:  * Stencil buffer depth: 8
19:00:54:  * Number of vertex blend matrices: 0
19:00:54:    - Max vertex textures: 32
19:00:54:    - Vertex textures shared: yes
19:00:54:  * Render to Vertex Buffer : yes
19:00:54:  * Hardware Atomic Counters: no
19:00:54:  * GL 1.5 without VBO workaround: no
19:00:54:  * Frame Buffer objects: yes
19:00:54:  * Frame Buffer objects (ARB extension): no
19:00:54:  * Frame Buffer objects (ATI extension): no
19:00:54:  * PBuffer support: no
19:00:54:  * GL 1.5 without HW-occlusion workaround: no
19:00:54:  * Vertex Array Objects: yes
19:00:54:  * Separate shader objects: no
19:00:54:  * Using Reverse Z: yes
19:00:54: DefaultWorkQueue('Root') initialising on thread main.
19:00:54: Particle Renderer Type 'billboard' registered
19:00:54: Added resource location '/usr/share/ignition/ignition-rendering6/ogre2/media/2.0/scripts/Compositors' of type 'FileSystem' to resource group 'General'
19:00:54: Added resource location '/usr/share/ignition/ignition-rendering6/ogre2/media/2.0/scripts/materials/Common' of type 'FileSystem' to resource group 'General'
19:00:54: Added resource location '/usr/share/ignition/ignition-rendering6/ogre2/media/2.0/scripts/materials/Common/GLSL' of type 'FileSystem' to resource group 'General'
19:00:54: Added resource location '/usr/share/ignition/ignition-rendering6/ogre2/media/2.0/scripts/materials/Common/GLSLES' of type 'FileSystem' to resource group 'General'
19:00:54: Added resource location '/usr/share/ignition/ignition-rendering6/ogre2/media/2.0/scripts/materials/Terra' of type 'FileSystem' to resource group 'General'
19:00:54: Added resource location '/usr/share/ignition/ignition-rendering6/ogre2/media/2.0/scripts/materials/Terra/GLSL' of type 'FileSystem' to resource group 'General'
19:00:54: Added resource location '/usr/share/ignition/ignition-rendering6/ogre2/media' of type 'FileSystem' to resource group 'General'
19:00:54: Added resource location '/usr/share/ignition/ignition-rendering6/ogre2/media/materials/programs' of type 'FileSystem' to resource group 'General'
19:00:54: Added resource location '/usr/share/ignition/ignition-rendering6/ogre2/media/materials/scripts' of type 'FileSystem' to resource group 'General'
19:00:54: Added resource location '/usr/share/ignition/ignition-rendering6/ogre2/media/materials/textures' of type 'FileSystem' to resource group 'General'
19:00:54: Parsing scripts for resource group Autodetect
19:00:54: Finished parsing scripts for resource group Autodetect
19:00:54: Creating resources for group Autodetect
19:00:54: All done
19:00:54: Parsing scripts for resource group General
19:00:54: Parsing script Quad.program
19:00:54: Parsing script DepthUtils.material
19:00:54: Parsing script Copyback.material
19:00:54: Parsing script EsmGaussianBlurLogFilter.material
19:00:54: Parsing script DPSM.material
19:00:54: Parsing script GpuNormalMapper.material
19:00:54: Parsing script gaussian_noise.material
19:00:54: Parsing script selection_buffer.material
19:00:54: Compiler error: reference to a non existing object in selection_buffer.material(37)
19:00:54: Parsing script skybox.material
19:00:54: Parsing script thermal.material
19:00:54: Parsing script picker.material
19:00:54: Parsing script depth_camera.material
19:00:54: Parsing script gpu_rays.material
19:00:54: Parsing script point_cloud_point.material
19:00:54: Compiler error: invalid parameters in point_cloud_point.material(34): incorrect type specified; only variants of int, uint, float, double, and bool allowed
19:00:54: Parsing script TerraShadowGenerator.compositor
19:00:54: Parsing script GpuNormalMapper.compositor
19:00:54: Parsing script EsmGaussianBlurLogFilter.material.json
19:00:54: Parsing script Mipmaps.material.json
19:00:54: Parsing script TerraShadowGenerator.material.json
19:00:54: Finished parsing scripts for resource group General
19:00:54: Creating resources for group General
19:00:54: All done
19:00:54: Parsing scripts for resource group Internal
19:00:54: Finished parsing scripts for resource group Internal
19:00:54: Creating resources for group Internal
19:00:54: All done
19:00:54: Added resource location '/usr/share/ignition/ignition-rendering6/media/materials/textures/' of type 'FileSystem' to resource group 'General'
19:00:54: Can't assign material scene::Material(65503) because this Material does not exist. Have you forgotten to define it in a .material script?
19:00:54: Can't assign material scene::Material(65497) because this Material does not exist. Have you forgotten to define it in a .material script?
19:00:54: Can't assign material scene::Material(65491) because this Material does not exist. Have you forgotten to define it in a .material script?
19:00:54: Can't assign material scene::Material(65485) because this Material does not exist. Have you forgotten to define it in a .material script?
19:00:54: Can't assign material scene::Material(65478) because this Material does not exist. Have you forgotten to define it in a .material script?
19:00:54: Can't assign material scene::Material(65485) because this Material does not exist. Have you forgotten to define it in a .material script?
19:00:54: Can't assign material scene::Material(65466) because this Material does not exist. Have you forgotten to define it in a .material script?
19:00:54: Vertex Shader: 100000001VertexShader_vs
Fragment Shader: 100000001PixelShader_ps
 GLSL validation result :
active samplers with a different type refer to the same texture image unit

Is there any progress on this? I'm struggling with the same issue here.
Currently adding --render-engine ogre as a temporary workaround.

If you compile from source, disabling anti-aliasing, it works.
More details on the links below:

https://answers.gazebosim.org/question/28144/ignition-fortress-shows-a-black-screen-where-the-scene-should-be-with-opengl-45-on-docker-on-aws/
https://github.com/gazebosim/gz-sim/issues/1116#issuecomment-1142388038

Has there been any progress on this? I am stuck using Gazebo 11 since that works fine. Considering all future versions will be based on Ignition-Gazebo, I don't want to have to compile from source each time and disable anti-aliasing to get this working.

If you compile from source, disabling anti-aliasing, it works. More details on the links below:
* https://answers.gazebosim.org/question/28144/ignition-fortress-shows-a-black-screen-where-the-scene-should-be-with-opengl-45-on-docker-on-aws/

* [When OpenGL ogre2 rendering is happening via mesa's llvmpipe 21 or 22 with Ignition Fortress a black area is displayed instead of the 3D rendering #1116 (comment)](https://github.com/gazebosim/gz-sim/issues/1116#issuecomment-1142388038)

I am not sure that is the case. That workaround works for a problem that occurs with Mesa software rendering, i.e. llvmpipe, this issue is about the problem related to running ign gazebo under the d3d12 driver, i.e. the one that maps OpenGL calls to Direct3D 12 calls.
According to my tests, when using d3d12 with a recent mesa version (22.0.6, the one available in Ubuntu 22.04), ign gazebo crashes with:
straversaro@IITICUBLAP257:~$ ign gazebo shapes.sdf
terminate called after throwing an instance of 'Ogre::UnimplementedException'
  what():  OGRE EXCEPTION(9:UnimplementedException):  in GL3PlusTextureGpu::copyTo at /build/ogre-next-UFfg83/ogre-next-2.2.5+dfsg3/RenderSystems/GL3Plus/src/OgreGL3PlusTextureGpu.cpp (line 677)
Stack trace (most recent call last) in thread 3740:
#10   Object "[0xffffffffffffffff]", at 0xffffffffffffffff, in
#9    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f5543e699ff, in
#8    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f5543dd7b42, in
#7    Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7f553e22399d, in
#6    Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7f553e221f90, in qTerminate()
#5    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f553fe642f6, in std::terminate()
#4    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f553fe6428b, in
#3    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f553fe58bfd, in
#2    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f5543d6b7f2, in abort
#1    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f5543d85475, in raise
#0    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f5543dd9a7c, in pthread_kill
Aborted (Signal sent by tkill() 3665 1000)

Basically, the problem is that d3d12 does not support OpenGL 4.3 or at least the extension GL_ARB_copy_image. I do not think you can workaround that by changing antialiasing settings.

GL_ARB_copy_image is a very old extension (introduced in 2012).
Someone may want to contact the maintainer of the d3d12 driver to implement GL_ARB_copy_image. It shouldn't be hard for the d3d12 driver (it's literally a GPU-side memcpy).
The maintainer is probably referring to the difficulty other GL 4.3 features that have nothing to do with GL_ARB_copy_image that are gatekeeping this feature.

GL_ARB_copy_image is a very old extension (introduced in 2012).
Someone may want to contact the maintainer of the d3d12 driver to implement GL_ARB_copy_image. It shouldn't be hard for the d3d12 driver (it's literally a GPU-side memcpy).
The maintainer is probably referring to the difficulty other GL 4.3 features that have nothing to do with GL_ARB_copy_image that are gatekeeping this feature.

I checked on https://mesamatrix.net/, and as of today apparently GL_ARB_copy_image  and GL_ARB_texture_view are the only two extensions missing of OpenGL 4.3 on d3d12:

Since https://github.com/gazebosim/gz-sim/issues/1116 was fixed and landed in a release, a workaround for this issue is to set the env variable LIBGL_ALWAYS_SOFTWARE=1 . This would use the CPU rendering instead of the GPU one (resulting in more CPU use), but at least should start fine.

Interestingly @bperseghetti noted that at least on mesa 22/23 d3d12 does not list compatibility with GL_ARB_copy_image extension, but it list compatibility with GL_NV_copy_image:
traversaro@IITICUBLAP257:~$ glxinfo | grep copy_image
    GL_NV_conditional_render, GL_NV_copy_image, GL_NV_depth_clamp,
    GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_depth_clamp,

So, a possible thing to check is to use the function defined by the GL_NV_copy_image extension if GL_ARB_copy_image is not supported. Indeed, by checking the ogre-next source code it seems that some code to try to support a GL_NV_copy_image is already there, but commented, see https://github.com/OGRECave/ogre-next/blob/v2.3.1/RenderSystems/GL3Plus/src/OgreGL3PlusTextureGpu.cpp#L653-L660 .
The code was already committed commented back when that code was introduced, see https://github.com/OGRECave/ogre-next/commit/22dc290dcae1692a8577ced093c46fb7e4a66ffa . However, it is probably relatively easy to fix the commented code by copying the arguments passed to glCopyImageSubData in the latest version of the code, and check if it works.

Interestingly @bperseghetti noted that at least on mesa 22/23 d3d12 does not list compatibility with GL_ARB_copy_image extension, but it list compatibility with GL_NV_copy_image:
traversaro@IITICUBLAP257:~$ glxinfo | grep copy_image
    GL_NV_conditional_render, GL_NV_copy_image, GL_NV_depth_clamp,
    GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_depth_clamp,

So, a possible thing to check is to use the function defined by the GL_NV_copy_image extension if GL_ARB_copy_image is not supported. Indeed, by checking the ogre-next source code it seems that some code to try to support a GL_NV_copy_image is already there, but commented, see https://github.com/OGRECave/ogre-next/blob/v2.3.1/RenderSystems/GL3Plus/src/OgreGL3PlusTextureGpu.cpp#L653-L660 .
The code was already committed commented back when that code was introduced, see OGRECave/ogre-next@22dc290 . However, it is probably relatively easy to fix the commented code by copying the arguments passed to glCopyImageSubData in the latest version of the code, and check if it works.
Another interesting question (that perhaps it is more appropriate for the mesa issue tracker) is: if GL_NV_copy_image is implemented for d3d12, probably it should be possible to easily support GL_ARB_copy_image as well?

Found it out from @PetervdPerk-NXP who is using our simulation on WSL.

Hi!
Enabling that path in OgreNext should be easy and straightforward. It seems the commented out code is now out of date, so it probably should have the same function signature as its GL_ARB_copy_image counterpart.
It would need testing though.

Another interesting question (that perhaps it is more appropriate for the mesa issue tracker) is: if GL_NV_copy_image is implemented for d3d12

A quick eye glance over the specs suggest GL_ARB_copy_image handles compressed format reinterpretation* while GL_NV_copy_image does not. This is a very advanced use case and shouldn't be a problem for Gazebo, I'm just pointing out that might be the reason GL_ARB_copy_image support isn't exposed.
* Compressed format reinterpretation is when e.g. BC1_UNORM is copied to a RGBA16_UINT texture for raw binary access. This is mostly relevant for Compute Shader encoders/decoders.

Hi!
Enabling that path in OgreNext should be easy and straightforward. It seems the commented out code is now out of date, so it probably should have the same function signature as its GL_ARB_copy_image counterpart.
It would need testing though.

Another interesting question (that perhaps it is more appropriate for the mesa issue tracker) is: if GL_NV_copy_image is implemented for d3d12

A quick eye glance over the specs suggest GL_ARB_copy_image handles compressed format reinterpretation* while GL_NV_copy_image does not. This is a very advanced use case and shouldn't be a problem for Gazebo, I'm just pointing out that might be the reason GL_ARB_copy_image support isn't exposed while NV is.
* Compressed format reinterpretation is when e.g. BC1_UNORM is copied to a RGBA16_UINT texture for raw binary access. This is mostly relevant for Compute Shader encoders/decoders.

Thanks @darksylinc for the answer!

Even after patching ogre-next to use GL_NV_copy_image (see https://github.com/conda-forge/ogre-next-feedstock/blob/4fee59f304adfd6d1e3074fb11a028fe80bcfbde/recipe/wslg_support.patch, it took some time to understand how gl3w worked for extensions), I tried gz sim and now when used with d3d12 it fails with another error (I am no sure how related or not):
terminate called after throwing an instance of 'Ogre::RenderingAPIException'
  what():  OGRE EXCEPTION(3:RenderingAPIException): Vertex Program 100000000VertexShader_vs failed to compile. See compile log above for details. in GLSLShader::compile at /home/conda/feedstock_root/build_artifacts/ogre-next_1679090885365/work/RenderSystems/GL3Plus/src/GLSL/OgreGLSLShader.cpp (line 361)
Stack trace (most recent call last) in thread 2006:

In ogre2.log the error is similar:
23:40:44: GLSL compile log: 100000000VertexShader_vs
0:390(29): error: syntax error, unexpected NEW_IDENTIFIER
23:40:44: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program 100000000VertexShader_vs failed to compile. See compile log above for details. in GLSLShader::compile at /home/conda/feedstock_root/build_artifacts/ogre-next_1679090885365/work/RenderSystems/GL3Plus/src/GLSL/OgreGLSLShader.cpp (line 361

Hi!
It's complaining about an unrelated shader compilation error.
To debug this problem you'll have to go to: https://github.com/gazebosim/gz-rendering/blob/c2e72ee51a7e4dba5156faa96c972c63ca5ab437/ogre2/src/Ogre2RenderEngine.cc#L849
and change that line into:
hlmsUnlit->setDebugOutputPath(true, true, "/tmp/path/to/dump");

Then do the same for hlmsPbs and hlmsTerra.
In the folder you'll find the generated shaders and upload them here for further analysis.
PS: Slightly unrelated question: Does Vulkan work on WSLg?

Hi!
It's complaining about an unrelated shader compilation error (unrelated to GL_NV_copy_image I mean).
To debug this problem you'll have to go to: https://github.com/gazebosim/gz-rendering/blob/c2e72ee51a7e4dba5156faa96c972c63ca5ab437/ogre2/src/Ogre2RenderEngine.cc#L849
and change that line into:
hlmsUnlit->setDebugOutputPath(true, true, "/tmp/path/to/dump");

Then do the same for hlmsPbs and hlmsTerra.
In the folder you'll find the generated shaders and upload them here for further analysis.

Thanks! Thanks a lot for the hints.

PS: Slightly unrelated question: Does Vulkan work on WSLg?

As for opengl,  there is the software implementation (lavapipe/lvp, equivalent of llvmpipe) and the the one that actually implements vulkan on top of DirectX12 (dozen/dzn, equivalent of d3d12). However, dozen is still a work in progress, and I never tested it with ogre-next.

In docker wsl2,
No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
[ign gazebo-1]
[ign gazebo-1] libEGL warning: NEEDS EXTENSION: falling back to kms_swrast
[INFO] [ros2-8]: process has finished cleanly [pid 209]
[INFO] [ros2-9]: process started with pid [256]
[ign gazebo-1] terminate called after throwing an instance of 'Ogre::UnimplementedException'
[ign gazebo-1]   what():  OGRE EXCEPTION(9:UnimplementedException):  in GL3PlusTextureGpu::copyTo at /build/ogre-next-UFfg83/ogre-next-2.2.5+dfsg3/RenderSystems/GL3Plus/src/OgreGL3PlusTextureGpu.cpp (line 677)
[ign gazebo-1] Stack trace (most recent call last) in thread 243:
[ign gazebo-1] #10   Object "[0xffffffffffffffff]", at 0xffffffffffffffff, in
[ign gazebo-1] #9    Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7f2c465ce9ff, in
[ign gazebo-1] #8    Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7f2c4653cb42, in
[ign gazebo-1] #7    Object "/usr/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7f2c40ba299d, in
[ign gazebo-1] #6    Object "/usr/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7f2c40ba0f90, in qTerminate()
[ign gazebo-1] #5    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f2c427fc2b6, in std::terminate()
[ign gazebo-1] #4    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f2c427fc24b, in
[ign gazebo-1] #3    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f2c427f0bbd, in
[ign gazebo-1] #2    Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7f2c464d07f2, in abort
[ign gazebo-1] #1    Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7f2c464ea475, in raise
[ign gazebo-1] #0    Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7f2c4653ea7c, in pthread_kill
[ign gazebo-1] Aborted (Signal sent by tkill() 149 0)

After using this it works.
docker .... LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu/libstdc++.so.6"

But don't know how to use it in wsl2 not in docker.

After using this it works.

Are you sure that it is using the GPU in this case? I do not understand how the d3d12 mesa driver could start working by just setting LD_LIBRARY_PATH to that location.

Nothing worked for me. I am using wsl with my windows 11 host.

Just to clarify, at least setting export LIBGL_ALWAYS_SOFTWARE=true works, even if slow as no GPU is used? Otherwise there could be some strange problem in your setup.

Well, when I set the env variable, I get one black screen and below error.
root@baila:~# export LIBGL_ALWAYS_SOFTWARE=1 root@baila:~# gz sim shapes.sdf QStandardPaths: runtime directory '/run/user/0/' is not owned by UID 0, but a directory permissions 0700 owned by UID 1000 GID 1000 libEGL warning: Not allowed to force software rendering when API explicitly selects a hardware device. libEGL warning: MESA-LOADER: failed to open vgem: /usr/lib/dri/vgem_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
When it is not set, the gui comes and close with the below crash message,

root@baila:~# export LIBGL_ALWAYS_SOFTWARE=0
root@baila:~# gz sim shapes.sdf
QStandardPaths: runtime directory '/run/user/0/' is not owned by UID 0, but a directory permissions 0700 owned by UID 1000 GID 1000
libEGL warning: MESA-LOADER: failed to open vgem: /usr/lib/dri/vgem_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
libEGL warning: NEEDS EXTENSION: falling back to kms_swrast
terminate called after throwing an instance of 'Ogre::UnimplementedException'
what():  OGRE EXCEPTION(9:UnimplementedException):  in GL3PlusTextureGpu::copyTo at ./RenderSystems/GL3Plus/src/OgreGL3PlusTextureGpu.cpp (line 685)
Stack trace (most recent call last):
#31   Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7fe27cc6b75a, in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag)
#30   Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7fe27ccc60b7, in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag)
#29   Object "/lib/x86_64-linux-gnu/libglib-2.0.so.0", at 0x7fe27a8423e2, in g_main_context_iteration
#28   Object "/lib/x86_64-linux-gnu/libglib-2.0.so.0", at 0x7fe27a8996c7, in
#27   Object "/lib/x86_64-linux-gnu/libglib-2.0.so.0", at 0x7fe27a844d3a, in g_main_context_dispatch
#26   Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7fe27ccc6a66, in
#25   Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7fe27cc6ff26, in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)
#24   Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7fe27cc6ce39, in QCoreApplication::notifyInternal2(QObject*, QEvent*)
#23   Object "/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7fe27c3c4712, in QApplicationPrivate::notify_helper(QObject*, QEvent*)
#22   Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7fe27cc9a41d, in QObject::event(QEvent*)
#21   Object "/usr/lib/x86_64-linux-gnu/gz-gui-7/plugins/libMinimalScene.so", at 0x7fe22611d513, in gz::gui::plugins::RenderWindowItem::Ready()
#20   Object "/usr/lib/x86_64-linux-gnu/gz-gui-7/plugins/libMinimalScene.so", at 0x7fe22611d120, in gz::gui::plugins::RenderThread::Initializeabi:cxx11
#19   Object "/usr/lib/x86_64-linux-gnu/gz-gui-7/plugins/libMinimalScene.so", at 0x7fe226129c7d, in gz::gui::plugins::RenderThreadRhiOpenGL::Initializeabi:cxx11
#18   Object "/usr/lib/x86_64-linux-gnu/gz-gui-7/plugins/libMinimalScene.so", at 0x7fe226120c87, in gz::gui::plugins::GzRenderer::Initializeabi:cxx11
#17   Object "/lib/x86_64-linux-gnu/libgz-rendering7.so.7", at 0x7fe224e9a768, in gz::rendering::v7::BaseRenderEngine::CreateScene(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)
#16   Object "/lib/x86_64-linux-gnu/libgz-rendering7.so.7", at 0x7fe224ea2cfe, in gz::rendering::v7::BaseRenderEngine::CreateScene(unsigned int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)
#15   Object "/lib/x86_64-linux-gnu/libgz-rendering7.so.7", at 0x7fe224eb423a, in gz::rendering::v7::BaseScene::CreateMaterials()
#14   Object "/usr/lib/x86_64-linux-gnu/gz-rendering-7/engine-plugins/libgz-rendering-ogre2.so", at 0x7fe1d20acd1a, in gz::rendering::v7::Ogre2Material::SetTextureMapImpl(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, Ogre::PbsTextureTypes)
#13   Object "/usr/lib/x86_64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1", at 0x7fe1d1d1a224, in Ogre::TextureGpuManager::_waitFor(Ogre::TextureGpu*, bool)
#12   Object "/usr/lib/x86_64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1", at 0x7fe1d1d19e4a, in Ogre::TextureGpuManager::_update(bool)
#11   Object "/usr/lib/x86_64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1", at 0x7fe1d1be755c, in Ogre::ObjCmdBuffer::execute()
#10   Object "/usr/lib/x86_64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1", at 0x7fe1d1be58cd, in Ogre::ObjCmdBuffer::NotifyDataIsReady::execute()
#9    Object "/usr/lib/x86_64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1", at 0x7fe1d1d09d9b, in Ogre::TextureFilter::GenerateHwMipmaps::_executeSerial(Ogre::TextureGpu*)
#8    Object "/usr/lib/x86_64-linux-gnu/OGRE-2.3/OGRE/RenderSystem_GL3Plus.so", at 0x7fe1d1687ac3, in
#7    Object "/usr/lib/x86_64-linux-gnu/OGRE-2.3/OGRE/RenderSystem_GL3Plus.so", at 0x7fe1d16843da, in
#6    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7fe27e6c4517, in __cxa_throw
#5    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7fe27e6c42b6, in std::terminate()
#4    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7fe27e6c424b, in
#3    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7fe27e6b8bbd, in
#2    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7fe28238b7f2, in abort
#1    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7fe2823a5475, in raise
#0    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7fe2823f9a7c, in pthread_kill
Aborted (Signal sent by tkill() 1753 0)

@kryptoniancode , so I need to use docker inside wsl to work with gazebo?

@kryptoniancode , thanks for your help. After executing you suggested cmds and the LIBGL_ALWAYS_SOFTWARE set, the GUI is opened and I can interact with it well. One doubt, how to identify whether it is using CPU or GPU? I want to use my GPU as I have plenty of it.

so I need to use docker inside wsl to work with gazebo?

In some case you have to use following in wsl2. (command needs to check)
gz sim shapes.sdf --render-engine ogre

how to identify whether it is using CPU or GPU?

Use mesa-utils

@traversaro , is there any fix for this?
I have tried many things to run gazebo with some demos I have, but still get errors similar to below.
I have tried following options and command in terminal.
1. export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
2. --render-engine ogre
3. sudo chmod 777 /dev/dri/renderD128
4. LIBGL_ALWAYS_SOFTWARE=1

But still get this errors.
[ign gazebo --render-engine ogre-1] libEGL warning: MESA-LOADER: failed to open i965: /usr/lib/dri/i965_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
[ign gazebo --render-engine ogre-1]
[ign gazebo --render-engine ogre-1] libEGL warning: MESA-LOADER: failed to open i965: /usr/lib/dri/i965_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
[ign gazebo --render-engine ogre-1]
[ign gazebo --render-engine ogre-1] terminate called after throwing an instance of 'Ogre::UnimplementedException'
[ign gazebo --render-engine ogre-1]   what():  OGRE EXCEPTION(9:UnimplementedException):  in GL3PlusTextureGpu::copyTo at /build/ogre-next-UFfg83/ogre-next-2.2.5+dfsg3/RenderSystems/GL3Plus/src/OgreGL3PlusTextureGpu.cpp (line 677)
[ign gazebo --render-engine ogre-1] Stack trace (most recent call last) in thread 200442:
[ign gazebo --render-engine ogre-1] #10   Object "[0xffffffffffffffff]", at 0xffffffffffffffff, in
[ign gazebo --render-engine ogre-1] #9    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1ec9c879ff, in
[ign gazebo --render-engine ogre-1] #8    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1ec9bf5b42, in
[ign gazebo --render-engine ogre-1] #7    Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7f1ec472499d, in
[ign gazebo --render-engine ogre-1] #6    Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7f1ec4722f90, in qTerminate()
[ign gazebo --render-engine ogre-1] #5    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f1eca1d72b6, in std::terminate()
[ign gazebo --render-engine ogre-1] #4    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f1eca1d724b, in
[ign gazebo --render-engine ogre-1] #3    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f1eca1cbbbd, in
[ign gazebo --render-engine ogre-1] #2    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1ec9b897f2, in abort
[ign gazebo --render-engine ogre-1] #1    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1ec9ba3475, in raise
[ign gazebo --render-engine ogre-1] #0    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1ec9bf7a7c, in pthread_kill
[ign gazebo --render-engine ogre-1] Aborted (Signal sent by tkill()<PHONE_NUMBER>)
[ign gazebo --render-engine ogre-1] [INFO] [1684184455.617174698] [rclcpp]: signal_handler(signum=2)
[INFO] [ign gazebo --render-engine ogre-1]: process has finished cleanly [pid 200248]

In theory only one of export LIBGL_ALWAYS_SOFTWARE=1 or --render-engine ogre is needed.

Hi!
It's complaining about an unrelated shader compilation error (unrelated to GL_NV_copy_image I mean).
To debug this problem you'll have to go to: https://github.com/gazebosim/gz-rendering/blob/c2e72ee51a7e4dba5156faa96c972c63ca5ab437/ogre2/src/Ogre2RenderEngine.cc#L849
and change that line into:
hlmsUnlit->setDebugOutputPath(true, true, "/tmp/path/to/dump");

Then do the same for hlmsPbs and hlmsTerra.
In the folder you'll find the generated shaders and upload them here for further analysis.

I finally tried to do this (sorry but setting up a local environment was not trivial), and after this modification:
diff --git a/ogre2/src/Ogre2RenderEngine.cc b/ogre2/src/Ogre2RenderEngine.cc
index 049781b4..d88dabdb 100644
--- a/ogre2/src/Ogre2RenderEngine.cc
+++ b/ogre2/src/Ogre2RenderEngine.cc
@@ -862,7 +862,7 @@ void Ogre2RenderEngine::RegisterHlms()
     Ogre::Root::getSingleton().getHlmsManager()->registerHlms(hlmsUnlit);

     // disable writting debug output to disk
-    hlmsUnlit->setDebugOutputPath(false, false);
+    hlmsUnlit->setDebugOutputPath(true, true, "/home/traversaro/gz-ws/srctst/ogrelog");
     hlmsUnlit->setListener(hlmsUnlit);

     this->dataPtr->gzHlmsUnlit = hlmsUnlit;
@@ -907,7 +907,7 @@ void Ogre2RenderEngine::RegisterHlms()
     Ogre::Root::getSingleton().getHlmsManager()->registerHlms(hlmsPbs);

     // disable writting debug output to disk
-    hlmsPbs->setDebugOutputPath(false, false);
+    hlmsPbs->setDebugOutputPath(true, true, "/home/traversaro/gz-ws/srctst/ogrelog");
     hlmsPbs->setListener(hlmsPbs);

     dataPtr->gzHlmsPbs = hlmsPbs;
@@ -942,7 +942,7 @@ void Ogre2RenderEngine::RegisterHlms()
     Ogre::Root::getSingleton().getHlmsManager()->registerHlms(hlmsTerra);

     // disable writting debug output to disk
-    hlmsTerra->setDebugOutputPath(false, false);
+    hlmsTerra->setDebugOutputPath(true, true, "/home/traversaro/gz-ws/srctst/ogrelog");
     hlmsTerra->setListener(hlmsTerra);

     this->dataPtr->terraWorkspaceListener.reset(

After the execution I do not find anything in /home/traversaro/gz-ws/srctst/ogrelog, I am not sure if I am doing anything wrong.
Anyhow, by concentrating on the error in ogre2.log :
17:16:12: GLSL compile log: 100000000VertexShader_vs
0:317(29): error: syntax error, unexpected NEW_IDENTIFIER
17:16:12: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program 100000000VertexShader_vs failed to compile. See compile log above for details. in GLSLShader::compile at /home/traversaro/gz-ws/srctst/ogre-next/RenderSystems/GL3Plus/src/GLSL/OgreGLSLShader.cpp (line 361)

I think I understood the error occurs on line https://github.com/gazebosim/gz-rendering/blob/gz-rendering7_7.4.0/ogre2/src/media/Hlms/Pbs/GLSL/VertexShader_vs.glsl#L50, even if I am not able to understand more at the moment unfortunatly.

After the execution I do not find anything in /home/traversaro/gz-ws/srctst/ogrelog, I am not sure if I am doing anything wrong.

OgreNext will not create the folder, so the dump will fail if the path doesn't exist.
Run mkdir -p /home/traversaro/gz-ws/srctst/ogrelog and try again.

After the execution I do not find anything in /home/traversaro/gz-ws/srctst/ogrelog, I am not sure if I am doing anything wrong.

I think I got the problem. For some reason ogre was trying to save the files to  /home/traversaro/gz-ws/srctst/ogrelog., by inserting the path as  /home/traversaro/gz-ws/srctst/ogrelog/` everything works and I can save the 100000000VertexShader_vs shader:

 Click to see the saved `100000000VertexShader_vs.glsl`
#if 0
	***	[Hash 0x01cc1123]	0
	***	[Hash 0x0790ba12]	0
	***	[Hash 0x08ffb38a]	0
	***	[Hash 0x123606a9]	0
	***	[Hash 0x1b3509dd]	1
	***	[Hash 0x201f84c0]	0
	***	[Hash 0x25dc73c6]	635204550
	***	[Hash 0x2dd3a2cd]	0
	***	[Hash 0x354d66c0]	0
	***	[Hash 0x359e8062]	0
	***	[Hash 0x378f5735]	1
	***	[Hash 0x38942648]	1
	***	[Hash 0x3b038020]	0
	***	[Hash 0x3fcb60f1]<PHONE_NUMBER>
	***	[Hash 0x4508a85c]	1
	***	[Hash 0x516d43dd]	1
	***	[Hash 0x57643473]	0
	***	[Hash 0x5ad27ea7]	0
	***	[Hash 0x5b0b2416]	0
	***	[Hash 0x5cb4719a]	0
	***	[Hash 0x61e63948]	1
	***	[Hash 0x675280f4]	0
	***	[Hash 0x6962e498]	0
	***	[Hash 0x6bf5b20f]	1
	***	[Hash 0x6dc6cf58]<PHONE_NUMBER>
	***	[Hash 0x74824502]	1
	***	[Hash 0x8421366d]	240
	***	[Hash 0x86319b9f]	1
	***	[Hash 0x875516cf]	0
	***	[Hash 0x8a7512d7]	0
	***	[Hash 0x93f2327b]	635204550
	***	[Hash 0x962aeb1a]	0
	***	[Hash 0x9abd84b5]	-1698855755
	***	[Hash 0xa1b3cd70]	1
	***	[Hash 0xa461daa9]	0
	***	[Hash 0xa6ac776b]	0
	***	[Hash 0xafaf1bb3]	410
	***	[Hash 0xb22f037a]	0
	***	[Hash 0xb967bb7b]	1
	***	[Hash 0xe4120c6e]	4
	***	[Hash 0xe79b3190]	1
	***	[Hash 0xe7bd0fde]	0
	***	[Hash 0xebcb8569]	-338983575
	***	[Hash 0xec133132]	-334286542
	***	[Hash 0xf742ff75]	1
	DONE DUMPING PROPERTIES
	DONE DUMPING PIECES
#endif

			#version 330 core

    #extension GL_ARB_shading_language_420pack: require
    #define layout_constbuffer(x) layout( std140, x )

	#define bufferFetch texelFetch
	#define structuredBufferFetch texelFetch

	#extension GL_AMD_shader_trinary_minmax: require

#define float2 vec2
#define float3 vec3
#define float4 vec4

#define int2 ivec2
#define int3 ivec3
#define int4 ivec4

#define uint2 uvec2
#define uint3 uvec3
#define uint4 uvec4

#define float2x2 mat2
#define float3x3 mat3
#define float4x4 mat4
#define ogre_float4x3 mat3x4

#define ushort uint
#define ushort3 uint3
#define ushort4 uint4

//Short used for read operations. It's an int in GLSL & HLSL. An ushort in Metal
#define rshort int
#define rshort2 int2
#define rint int
//Short used for write operations. It's an int in GLSL. An ushort in HLSL & Metal
#define wshort2 int2
#define wshort3 int3

#define toFloat3x3( x ) mat3( x )
#define buildFloat3x3( row0, row1, row2 ) mat3( row0, row1, row2 )

#define mul( x, y ) ((x) * (y))
#define saturate(x) clamp( (x), 0.0, 1.0 )
#define lerp mix
#define rsqrt inversesqrt
#define INLINE
#define NO_INTERPOLATION_PREFIX flat
#define NO_INTERPOLATION_SUFFIX

#define PARAMS_ARG_DECL
#define PARAMS_ARG

	#define inVs_vertexId gl_VertexID
#define inVs_vertex vertex
#define inVs_normal normal
#define inVs_tangent tangent
#define inVs_binormal binormal
#define inVs_blendWeights blendWeights
#define inVs_blendIndices blendIndices
#define inVs_qtangent qtangent
#define inVs_colour colour

	#define inVs_drawId drawId

#define finalDrawId inVs_drawId

#define outVs_Position gl_Position
#define outVs_viewportIndex gl_ViewportIndex
#define outVs_clipDistance0 gl_ClipDistance[0]

#define gl_SampleMaskIn0 gl_SampleMaskIn[0]
#define reversebits bitfieldReverse

#define outPs_colour0 outColour

	#define OGRE_Sample( tex, sampler, uv ) texture( tex, uv )
	#define OGRE_SampleLevel( tex, sampler, uv, lod ) textureLod( tex, uv, lod )
	#define OGRE_SampleArray2D( tex, sampler, uv, arrayIdx ) texture( tex, vec3( uv, arrayIdx ) )
	#define OGRE_SampleArray2DLevel( tex, sampler, uv, arrayIdx, lod ) textureLod( tex, vec3( uv, arrayIdx ), lod )
	#define OGRE_SampleArrayCubeLevel( tex, sampler, uv, arrayIdx, lod ) textureLod( tex, vec4( uv, arrayIdx ), lod )
	#define OGRE_SampleGrad( tex, sampler, uv, ddx, ddy ) textureGrad( tex, uv, ddx, ddy )
	#define OGRE_SampleArray2DGrad( tex, sampler, uv, arrayIdx, ddx, ddy ) textureGrad( tex, vec3( uv, arrayIdx ), ddx, ddy )

	#define texture2D sampler2D
	#define texture2DArray sampler2DArray
	#define texture3D sampler3D
	#define textureCube samplerCube
	#define textureCubeArray samplerCubeArray
#define OGRE_ddx( val ) dFdx( val )
#define OGRE_ddy( val ) dFdy( val )
#define OGRE_Load2D( tex, iuv, lod ) texelFetch( tex, ivec2( iuv ), lod )
#define OGRE_LoadArray2D( tex, iuv, arrayIdx, lod ) texelFetch( tex, ivec3( iuv, arrayIdx ), lod )
#define OGRE_Load2DMS( tex, iuv, subsample ) texelFetch( tex, iuv, subsample )

#define OGRE_Load3D( tex, iuv, lod ) texelFetch( tex, ivec3( iuv ), lod )

#define bufferFetch1( buffer, idx ) texelFetch( buffer, idx ).x

	#define OGRE_SAMPLER_ARG_DECL( samplerName )
	#define OGRE_SAMPLER_ARG( samplerName )

	#define CONST_BUFFER( bufferName, bindingPoint ) layout_constbuffer(binding = bindingPoint) uniform bufferName
	#define CONST_BUFFER_STRUCT_BEGIN( structName, bindingPoint ) layout_constbuffer(binding = bindingPoint) uniform structName
	#define CONST_BUFFER_STRUCT_END( variableName ) variableName

			#define ReadOnlyBufferF( slot, varType, varName ) layout(std430, binding = slot) readonly restrict buffer _##varName { varType varName[]; }
		#define ReadOnlyBufferU( slot, varType, varName ) layout(std430, binding = slot) readonly restrict buffer _##varName { varType varName[]; }
		#define ReadOnlyBufferVarF( varType ) varType
		#define readOnlyFetch( bufferVar, idx ) bufferVar[idx]
		#define readOnlyFetch1( bufferVar, idx ) bufferVar[idx]

#define OGRE_Texture3D_float4 texture3D

#define OGRE_ArrayTex( declType, varName, arrayCount ) declType varName[arrayCount]

#define FLAT_INTERPOLANT( decl, bindingPoint ) flat decl
#define INTERPOLANT( decl, bindingPoint ) decl

#define OGRE_OUT_REF( declType, variableName ) out declType variableName
#define OGRE_INOUT_REF( declType, variableName ) inout declType variableName

#define OGRE_ARRAY_START( type ) type[](
#define OGRE_ARRAY_END )

out gl_PerVertex
{
	vec4 gl_Position;

};

layout(std140) uniform;

		#define worldViewMat worldView

#define UNPACK_MAT4( matrixBuf, pixelIdx ) mat4( matrixBuf[(pixelIdx) << 2u], matrixBuf[((pixelIdx) << 2u)+1u], matrixBuf[((pixelIdx) << 2u)+2u], matrixBuf[((pixelIdx) << 2u)+3u] )

#define UNPACK_MAT4x3( matrixBuf, pixelIdx ) mat3x4( matrixBuf[(pixelIdx) << 2u], matrixBuf[((pixelIdx) << 2u)+1u], matrixBuf[((pixelIdx) << 2u)+2u] )

	// START UNIFORM DECLARATION

struct ShadowReceiverData
{
	float4x4 texViewProj;
	float2 shadowDepthRange;
	float normalOffsetBias;
	float padding;
	float4 invShadowMapSize;
};

struct Light
{

		float4 position;	//.w contains the objLightMask
		float4 diffuse;		//.w contains numNonCasterDirectionalLights
	float3 specular;

#define lightTexProfileIdx spotDirection.w
};

#define numNonCasterDirectionalLights lights[0].diffuse.w

#define areaLightDiffuseMipmapStart areaApproxLights[0].diffuse.w
#define areaLightNumMipmapsSpecFactor areaApproxLights[0].specular.w

#define numAreaApproxLights areaApproxLights[0].doubleSided.y
#define numAreaApproxLightsWithMask areaApproxLights[0].doubleSided.z

#define numAreaLtcLights areaLtcLights[0].points[0].w
#define numAreaLtcLights areaLtcLights[0].points[0].w

struct AreaLight
{

		float4 position;	//.w contains the objLightMask
		float4 diffuse;		//[0].w contains diffuse mipmap start
	float4 specular;	//[0].w contains mipmap scale
	float4 attenuation;	//.w contains texture array idx
	//Custom 2D Shape:
	//  direction.xyz direction
	//  direction.w invHalfRectSize.x
	//  tangent.xyz tangent
	//  tangent.w invHalfRectSize.y
	float4 direction;
	float4 tangent;
	float4 doubleSided;	//.y contains numAreaApproxLights
						//.z contains numAreaApproxLightsWithMask
	};

struct AreaLtcLight
{

		float4 position;	//.w contains the objLightMask
		float4 diffuse;			//.w contains attenuation range
	float4 specular;		//.w contains doubleSided
	float4 points[4];		//.w contains numAreaLtcLights
							//points[1].w, points[2].w, points[3].w contain obbFadeFactorLtc.xyz
	};

//Uniforms that change per pass
CONST_BUFFER_STRUCT_BEGIN( PassBuffer, 0 )
{
	//Vertex shader (common to both receiver and casters)

	float4x4 viewProj;

	//Vertex shader
		float2 depthRange;

#define pccVctMinDistance		pccVctMinDistance_invPccVctInvDistance_rightEyePixelStartX_envMapNumMipmaps.x
#define invPccVctInvDistance	pccVctMinDistance_invPccVctInvDistance_rightEyePixelStartX_envMapNumMipmaps.y
#define rightEyePixelStartX		pccVctMinDistance_invPccVctInvDistance_rightEyePixelStartX_envMapNumMipmaps.z
#define envMapNumMipmaps		pccVctMinDistance_invPccVctInvDistance_rightEyePixelStartX_envMapNumMipmaps.w

#define aspectRatio			aspectRatio_planarReflNumMips_unused2.x
#define planarReflNumMips	aspectRatio_planarReflNumMips_unused2.y
}
CONST_BUFFER_STRUCT_END( passBuf );

#define light0Buf		passBuf
#define light1Buf		passBuf
#define light2Buf		passBuf

// use_light_buffers

		//Uniforms that change per Item/Entity
		CONST_BUFFER( InstanceBuffer, 2 )
		{
			//.x =
			//The lower 9 bits contain the material's start index.
			//The higher 23 bits contain the world matrix start index.
			//
			//.y =
			//shadowConstantBias. Send the bias directly to avoid an
			//unnecessary indirection during the shadow mapping pass.
			//Must be loaded with uintBitsToFloat
			//
			//.z =
			//lightMask. Ogre must have been compiled with OGRE_NO_FINE_LIGHT_MASK_GRANULARITY
							uint4 worldMaterialIdx[4096];
					};

	// END UNIFORM DECLARATION

vulkan_layout( OGRE_POSITION ) in vec4 vertex;

	vulkan_layout( OGRE_DRAWID ) in uint drawId;

// START UNIFORM GL DECLARATION
ReadOnlyBufferF( 0, float4, worldMatBuf );

// END UNIFORM GL DECLARATION

void main()
{

	// Define inputPos using inVs_vertex.

		#define inputPos inVs_vertex

	// Define inputNormal and inputTangent using inVs_normal, inVs_tangent, inVs_qtangent

			#define inputNormal inVs_normal

			#define inputTangent inVs_tangent

		ogre_float4x3 worldMat = UNPACK_MAT4x3( worldMatBuf, inVs_drawId );

		float4 worldPos = float4( mul(inVs_vertex, worldMat).xyz, 1.0f );

	//Lighting is in view space

				outVs_Position = mul( worldPos, passBuf.viewProj );

							float shadowConstantBias = -uintBitsToFloat( worldMaterialIdx[inVs_drawId].y ) * passBuf.depthRange.y;

			//We can't make the depth buffer linear without Z out in the fragment shader;
			//however we can use a cheap approximation ("pseudo linear depth")
			//see http://www.yosoygames.com.ar/wp/2014/01/linear-depth-buffer-my-ass/

				outVs_Position.z = outVs_Position.z + shadowConstantBias;

	/// hlms_uv_count will be 0 on shadow caster passes w/out alpha test

}

(reposting because it was from the wrong account)

After the execution I do not find anything in /home/traversaro/gz-ws/srctst/ogrelog, I am not sure if I am doing anything wrong.

OgreNext will not create the folder, so the dump will fail if the path doesn't exist.
Run mkdir -p /home/traversaro/gz-ws/srctst/ogrelog and try again.

OgreNext will not create the folder, so the dump will fail if the path doesn't exist.

The folder was there, but for some reason ogre-next 2.3.1 was addng a . to the folder name, adding \ at the end of the path solved the problem.

Thanks!
I looked into the error.
There should be a file in gz's data folder called CrossPlatformSettings_piece_all.glsl
It starts with this:
@piece( SetCrossPlatformSettings )
@property( syntax == glslvk )
	#version 450 core
@else
	@property( GL3+ >= 430 )
		#version 430 core
	@else
		#version 330 core
	@end
@end

Change it to this:
@piece( SetCrossPlatformSettings )
@property( syntax == glslvk )
	#version 450 core
@else
	@property( GL3+ >= 430 )
		#version 430 core
	@else
		#version 330 core

		@property( hlms_readonly_is_tex )
			#extension GL_ARB_shader_storage_buffer_object: require
		@end
	@end
@end

And let me know if that fixes it. If so, I'll add a fix to OgreNext.

This fixes it (at least on mesa 23.1), thanks a lot!

Ok, I opened two PRs to fix this issue:

https://github.com/OGRECave/ogre-next/pull/388
https://github.com/gazebosim/gz-rendering/pull/851

Related conda-forge backports:

https://github.com/conda-forge/ogre-next-feedstock/pull/16
https://github.com/conda-forge/gz-rendering-feedstock/pull/10

Even if the basic functionality with d3d12/WSLg is fixed by the two aforementioned PR, the gz-rendering test suite has still some failures, that anyhow I reported in https://github.com/gazebosim/gz-rendering/issues/852 as this issue is already quite noisy, and I think we can consider it closed once the fixes are merged and released in apt packages.

Even if the basic functionality with d3d12/WSLg is fixed by the two aforementioned PR, the gz-rendering test suite has still some failures, that anyhow I reported in gazebosim/gz-rendering#852 as this issue is already quite noisy, and I think we can consider it closed once the fixes are merged and released in apt packages.

Hi @traversaro I'm facing a similar issue in WSL2 Ubuntu 22.04 with WSLg (though using llvmpipe still works fine). This was on Gazebo Garden (installed from binaries).
I wanted to try using your patched OGRECave/ogre-next#388 to fix this issue, and run gz sim, but I'm not sure how to do so. Would rebuilding gazebo-garden from the master branch be enough? Would I need to build ogre-next as well?

Hello @traversaro I am facing the same issue. Same as @drustanyjt I want to try using your approach, could you provide some guidance on how you managed to solve it?

Sorry  @drustanyjt, I missed your comment. Thanks @alexdrc00 for the ping.

Would rebuilding gazebo-garden from the master branch be enough? Would I need to build ogre-next as well?

For what regards gz-rendering, indeed just building from master is ok as https://github.com/gazebosim/gz-rendering/pull/851 was merged. For what regard ogre-next, the fix was merged in https://github.com/OGRECave/ogre-next/tree/v2-3, so I guess you should build from that branch (even if more my tests I actually just cherry-picked the change on top of the ogre-next v2.3.1 packaged in conda-forge).

For what regards long term, unfortunatly ogre-next is packaged via official Ubuntu repositories, so excluding complicated procedures like SRU or setting up a PPA just with patched ogre-next, probably the most important thing is to make sure that in Ubuntu 24.04 a new version of ogre-next with this fix is released.

Is there some kind of read that will walk me through applying this patch? I don't have much experience with ubuntu packages, and I am worried that if I uninstall the apt package, other packages will be broken due to missing dependency before I compile patched version, am I right?

Is there some kind of read that will walk me through applying this patch?

Unfortunatly I do not have one, as I have developed the patches working with conda-forge packages.

Is there some kind of read that will walk me through applying this patch? I don't have much experience with ubuntu packages, and I am worried that if I uninstall the apt package, other packages will be broken due to missing dependency before I compile patched version, am I right?

That is correct, if you uninstall an apt package in general you need to recompile all the downstram packages by source.

For what regards long term, unfortunatly ogre-next is packaged via official Ubuntu repositories, so excluding complicated procedures like SRU or setting up a PPA just with patched ogre-next, probably the most important thing is to make sure that in Ubuntu 24.04 a new version of ogre-next with this fix is released.

Apparently ogre-next is actually packaged in the gazebo apt repository, so we can just backport the fix https://github.com/OGRECave/ogre-next/pull/388 there and that should fix the issue.