gz-sim icon indicating copy to clipboard operation
gz-sim copied to clipboard

No camera/render on ubuntu (WSLg + vGPU)

Open FirefoxMetzger opened this issue 2 years ago • 16 comments

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 5.10.43.3-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 5.10.43.3-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 = 3.3.0.0
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: 3.3.0.0
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.

screenshot-of-actual-behavior

Steps to reproduce

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

FirefoxMetzger avatar Jul 17 '21 10:07 FirefoxMetzger

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 avatar Oct 12 '21 16:10 traversaro

Source or binary build? Tested on: Fortress (binary) Edifice (binary + source)

By the way, did you tested with Citadel? I just read in https://github.com/ignitionrobotics/ign-gazebo/issues/1066#issuecomment-939471579 that @0smile was able to run Ign Gazebo in WSLg with Citadel, but has a crash with Fortress.

traversaro avatar Oct 12 '21 16:10 traversaro

@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.

FirefoxMetzger avatar Oct 13 '21 16:10 FirefoxMetzger

@traversaro I just tried Citadel with WSLg (binary build). 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)

FirefoxMetzger avatar Oct 16 '21 05:10 FirefoxMetzger

Cool, thanks! I wonder if this problem is related to Wayland that is used by WSLg, not sure if anyone ever tested Ignition Gazebo on actual Linux install using Wayland instead of using X.

traversaro avatar Oct 16 '21 09:10 traversaro

@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.

FirefoxMetzger avatar Oct 16 '21 09:10 FirefoxMetzger

one thing to try on Fortress is to launch ign-gazebo with the --headless arg, which asks it to use EGL instead of X, and see if that makes any difference.

iche033 avatar Oct 18 '21 19:10 iche033

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 avatar Nov 09 '21 08:11 blakermchale

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

chapulina avatar Nov 09 '21 22:11 chapulina

@chapulina, 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:

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 = 3.3.0.0
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: 3.3.0.0
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

blakermchale avatar Nov 10 '21 00:11 blakermchale

Is there any progress on this? I'm struggling with the same issue here.

Currently adding --render-engine ogre as a temporary workaround.

noelex avatar Jun 08 '22 06:06 noelex

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

rubenanapu avatar Jun 08 '22 12:06 rubenanapu

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.

mohseninima avatar Jun 26 '22 19:06 mohseninima

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, see https://github.com/OGRECave/ogre-next/blob/v2.2.5/RenderSystems/GL3Plus/src/OgreGL3PlusTextureGpu.cpp#L634 . I do not think you can workaround that by changing antialiasing settings. One solution is just wait for d3d12 to implement OpenGL 4.3 , that it is in the work (see https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14881 that is the PR that implemented OpenGL 4.2, where the author mentions "This will be the last version bump for a while. Reaching 4.3 requires new D3D12 features (which are in development)."). A possible alternative may be to provide CPU fallbacks for the OpenGL 4.3 functions used in ogre-next (such as GL_ARB_copy_image), but I do not know how feasible this is.

traversaro avatar Jul 01 '22 10:07 traversaro

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.

darksylinc avatar Jul 30 '22 21:07 darksylinc

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: GL_ARB_COPY_IMAGE

traversaro avatar Aug 26 '22 13:08 traversaro

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.

traversaro avatar Oct 15 '22 11:10 traversaro

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.

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?

traversaro avatar Mar 15 '23 22:03 traversaro

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.

bperseghetti avatar Mar 15 '23 22:03 bperseghetti

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.

darksylinc avatar Mar 15 '23 22:03 darksylinc

Thanks @darksylinc for the answer!

traversaro avatar Mar 15 '23 22:03 traversaro

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

traversaro avatar Mar 17 '23 22:03 traversaro

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.

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

darksylinc avatar Mar 17 '23 23:03 darksylinc

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.

traversaro avatar Mar 18 '23 00:03 traversaro

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.

kryptoniancode avatar May 03 '23 13:05 kryptoniancode

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.

traversaro avatar May 06 '23 17:05 traversaro

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

bailaC avatar May 15 '23 13:05 bailaC

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.

traversaro avatar May 15 '23 13:05 traversaro

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.

No, it is not using in docker(inside wsl2) but gpu is get used in WSL2, I have installed nvidia driver in WSL2 and then install following in docker images.

sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update
sudo apt upgrade
sudo apt install mesa-utils

Finally used this docker command.

docker run --rm -it --device /dev/dxg \
-e LD_LIBRARY_PATH="/usr/lib/wsl/lib  /usr/lib/x86_64-linux-gnu/libstdc++.so.6" \
--name ubuntu_22.04 \
--network host --gpus all \
--privileged \
-v /mnt/wslg:/mnt/wslg -v /usr/lib/wsl:/usr/lib/wsl \
-v $HOME/demos_ws:/home/spaceros-user/demos_ws2 \
-e DISPLAY=$DISPLAY \
-e WAYLAND_DISPLAY=$WAYLAND_DISPLAY \
-e XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR \
-e TERM=$TERM \
-e QT_X11_NO_MITSHM=1 \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /etc/localtime:/etc/localtime:ro <docker id>

kryptoniancode avatar May 15 '23 13:05 kryptoniancode

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)

bailaC avatar May 15 '23 13:05 bailaC