Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No camera/render on ubuntu (WSLg + vGPU) #920

Closed
6 tasks done
FirefoxMetzger opened this issue Jul 17, 2021 · 90 comments
Closed
6 tasks done

No camera/render on ubuntu (WSLg + vGPU) #920

FirefoxMetzger opened this issue Jul 17, 2021 · 90 comments
Labels
bug Something isn't working help wanted We accept pull requests! rendering Involves Ignition Rendering Windows Windows support

Comments

@FirefoxMetzger
Copy link
Contributor

FirefoxMetzger commented Jul 17, 2021

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

      • GUI rendering error: None reported, though there are warning messages
    • Generally, mention all circumstances that might affect rendering capabilities:

      • running in virtual machine
      • GPU is concurrently used for other tasks
        • desktop acceleration
        • 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.
        
    • 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 FirefoxMetzger added the bug Something isn't working label Jul 17, 2021
@chapulina chapulina added the rendering Involves Ignition Rendering label Jul 19, 2021
@chapulina chapulina added the help wanted We accept pull requests! label Jul 26, 2021
@traversaro
Copy link
Contributor

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: gazebosim/gazebo-classic#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
Copy link
Contributor

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

By the way, did you tested with Citadel? I just read in #1066 (comment) that @0smile was able to run Ign Gazebo in WSLg with Citadel, but has a crash with Fortress.

@FirefoxMetzger
Copy link
Contributor Author

@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
Copy link
Contributor Author

FirefoxMetzger commented Oct 16, 2021

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

@traversaro
Copy link
Contributor

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.

@FirefoxMetzger
Copy link
Contributor Author

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

@iche033
Copy link
Contributor

iche033 commented Oct 18, 2021

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.

@blakermchale
Copy link
Contributor

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.

@chapulina chapulina added the Windows Windows support label Nov 9, 2021
@chapulina
Copy link
Contributor

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

@blakermchale
Copy link
Contributor

blakermchale commented Nov 10, 2021

@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

@noelex
Copy link

noelex commented Jun 8, 2022

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

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

@mohseninima
Copy link

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.

@traversaro
Copy link
Contributor

traversaro commented Jul 1, 2022

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.

@darksylinc
Copy link
Contributor

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.

@traversaro
Copy link
Contributor

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
Copy link
Contributor

Since #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
Copy link
Contributor

traversaro commented Mar 15, 2023

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?

@bperseghetti
Copy link
Member

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.

@darksylinc
Copy link
Contributor

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.

@bperseghetti
Copy link
Member

I have been testing this with the latest Gazebo Harmonic on a stock Ubuntu 22.04, and it seems to be working fine without any use of LIBGL_ALWAYS_SOFTWARE=1. @PetervdPerk-NXP @bperseghetti (or anyone else that commented in the issue) did you have the occasion to test it? The idea is to "announce" on Discourse that the major known problem with WSLg/WSL2 have been solved, and suggest people that experience WSL-specific problems to report them.

From @PetervdPerk-NXP:

I've tested by building packages from source.
That's working fine on wsl2.
Haven't tested with the latest ppa packages.

I could spin up a WSL2 instance and test it. I just only use Ubuntu and Docker usually. But I guess I could add un-official support for our CogniPilot native install to work on WSL2 and that would give me the excuse to do it I suppose. Might be a week or so before I can invest that time though.

@blakermchale
Copy link
Contributor

blakermchale commented Oct 18, 2023

I tested it in WSL2 with Ubuntu 22.04 and it has been working well! Also tested it in a Docker image on WSL2.

The only note I would make is that ROS2 packages like ros-humble-ros-gz-sim still don't work and call the incorrect gz binary even when I download the new gz sim separately. Users using that method won't be able to out of the box right now.

@bperseghetti
Copy link
Member

bperseghetti commented Oct 18, 2023

I tested it in WSL2 with Ubuntu 22.04 and it has been working well! Also tested it in a Docker image on WSL2.

The only note I would make is that ROS2 packages like ros-humble-ros-gz-sim still don't work and call the incorrect gz binary even when I download the new gz sim separately. Users using that method won't be able to out of the box right now.

@blakermchale Did you install ros-humble-desktop-full? If you did, you should install ros-humble-desktop and instead of using the ros ppa use the gazebo ppa to install the ros-humble-ros-gz(garden/harmonic)-sim

This might help you: https://github.com/CogniPilot/helmet/blob/9518b50d865f4a5b674f12ec6ae7f4e77af4986b/install/scripts/gazebo.sh#L5-L20

@blakermchale
Copy link
Contributor

Installing ros-humble-ros-gzgarden-sim fixed the issue. It also works in WSL2. Thanks for the help 👍

@hamishwillee
Copy link

This seems to work for me with Garden in WSL2 (when running PX4 autopilot with current main). I still get the error libEGL warning: failed to open /dev/dri/renderD128: Permission denied but the UI does launch and all the other Ogre errors have disappeared.

@traversaro
Copy link
Contributor

This seems to work for me with Garden in WSL2 (when running PX4 autopilot with current main). I still get the error libEGL warning: failed to open /dev/dri/renderD128: Permission denied but the UI does launch and all the other Ogre errors have disappeared.

With which Ubuntu distro?

@hamishwillee
Copy link

Ubuntu 22.04.2. This is the highest version of Ubuntu on which PX4 works. Garden is the current supported simulator version.

@traversaro
Copy link
Contributor

Thanks!

@traversaro
Copy link
Contributor

Given the report of this working fine, I think we can close this issue @FirefoxMetzger @azeey (I do not have the permission to do it myself). As mentioned in https://community.gazebosim.org/t/wslg-with-gpu-support-available-on-latest-version-of-gazebo-garden-and-harmonic, new WSLg problems should be discussed in new dedicated issues.

@j-rivero
Copy link
Contributor

j-rivero commented Nov 2, 2023

your desires are my commands

@j-rivero j-rivero closed this as completed Nov 2, 2023
@bperseghetti
Copy link
Member

Poor issue, at least it had a nice long full discussion life.

@hamishwillee
Copy link

hamishwillee commented Nov 8, 2023

BTW, any thoughts on libEGL warning: failed to open /dev/dri/renderD128: Permission denied? It worries me that even though the simulation proceeds and I see "a" GUI that perhaps I am not seeing the expected GUI?

This is what renders if I do make px4_sitl gz_x500 on Ubuntu 22.04 in WSL2:

image

And when I close my window I get a seg fault

ubuntu@DESKTOP-QN38EN3:~/github/PX4-Autopilot$ Stack trace (most recent call last) in thread 51748:
#5    Object "[0xffffffffffffffff]", at 0xffffffffffffffff, in
#4    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f62748dea3f, in
#3    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f627484cac2, in
#2    Object "/usr/lib/wsl/drivers/nvdd.inf_amd64_67b1df330bec74ef/libnvwgf2umx.so", at 0x7f623ecf5375, in
#1    Object "/usr/lib/wsl/drivers/nvdd.inf_amd64_67b1df330bec74ef/libnvwgf2umx.so", at 0x7f623ecf53fd, in
#0    Object "/usr/lib/wsl/drivers/nvdd.inf_amd64_67b1df330bec74ef/libnvwgf2umx.so", at 0x7f623ecf67d6, in
Segmentation fault (Address not mapped to object [0x7f624c2a6000])

What I'm after here is confirmation whether this is a PX4 issue or a Gazebo issue.

@iche033
Copy link
Contributor

iche033 commented Nov 8, 2023

BTW, any thoughts on libEGL warning: failed to open /dev/dri/renderD128: Permission denied?

There is more info in gazebosim/gz-rendering#587. Long story short, it's harmless but we haven't found a way to prevent printing that msg yet. The segfault is likely due to something else.

@PetervdPerk-NXP
Copy link

It's recommended that you make sure you've got your latest gpu drivers installed and if possible a recent version of mesa so that most opengl features get emulated.
You can also install kisak mesa on Ubuntu distributions which is are more recent distribution of the mesa drivers.
https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa

Also it seems Microsoft is close in supporting Opengl 4.3 which would help in compatibility as well.
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26108

@hamishwillee
Copy link

The segfault is likely due to something else.

FYI, I installed the Kika mesa as recommended by @PetervdPerk-NXP and that went away. Thank you all for the help (Peter, I will update the PX4 docs with a note).

@traversaro
Copy link
Contributor

The segfault is likely due to something else.

FYI, I installed the Kika mesa as recommended by @PetervdPerk-NXP and that went away. Thank you all for the help (Peter, I will update the PX4 docs with a note).

If you have an NVIDIA card, perhaps it was related to microsoft/wslg#715 .

@hamishwillee
Copy link

If you have an NVIDIA card, perhaps it was related to microsoft/wslg#715 .

I do. However I updated to the latest Geoforce game ready driver and installed kika mesa and the error went away. For PX4 docs I'll just add a note that using latest drivers and installing kika mesa can improve compatibility. People can then choose to follow those if they want.

@traversaro
Copy link
Contributor

traversaro commented Dec 19, 2023

Interestingly, just after we fixed compatibility with the missing functionalities of d3d12 on older mesa releases, Microsoft implement the full OpenGL 4.6 functionality on d3d12:

So hopefully we should see less problems like this one even if ogre-next changes again as soon as Mesa 24 is used.

@hellototoro
Copy link

It's recommended that you make sure you've got your latest gpu drivers installed and if possible a recent version of mesa so that most opengl features get emulated. You can also install kisak mesa on Ubuntu distributions which is are more recent distribution of the mesa drivers. https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa

Also it seems Microsoft is close in supporting Opengl 4.3 which would help in compatibility as well. https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26108

Hi, when I update the mesa driver, I get a Segmentation fault error

test_user@z6-fgw:~$ dpkg -l | grep mesa
ii  libegl-mesa0:amd64                             23.3.2~kisak1~j                         amd64        free implementation of the EGL API -- Mesa vendor library
ii  libgl1-mesa-dri:amd64                          23.3.2~kisak1~j                         amd64        free implementation of the OpenGL API -- DRI modules
ii  libglapi-mesa:amd64                            23.3.2~kisak1~j                         amd64        free implementation of the GL API -- shared library
ii  libglu1-mesa:amd64                             9.0.2-1                                 amd64        Mesa OpenGL utility library (GLU)ii  libglu1-mesa-dev:amd64                         9.0.2-1                                 amd64        Mesa OpenGL utility library -- development files
ii  libglx-mesa0:amd64                             23.3.2~kisak1~j                         amd64        free implementation of the OpenGL API -- GLX vendor library
ii  mesa-utils                                     8.4.0-1ubuntu1                          amd64        Miscellaneous Mesa utilities -- symlinks
ii  mesa-utils-bin:amd64                           8.4.0-1ubuntu1                          amd64        Miscellaneous Mesa utilities -- native applications
ii  mesa-va-drivers:amd64                          23.3.2~kisak1~j                         amd64        Mesa VA-API video acceleration drivers
ii  mesa-vdpau-drivers:amd64                       23.3.2~kisak1~j                         amd64        Mesa VDPAU video acceleration drivers
ii  mesa-vulkan-drivers:amd64                      23.3.2~kisak1~j                         amd64        Mesa Vulkan graphics drivers
test_user@z6-fgw:~$ glxinfo -B
name of display: :0
WARNING: dzn is not a conformant Vulkan implementation, testing use only.
WARNING: Some incorrect rendering might occur because the selected Vulkan device (Microsoft Direct3D12 (NVIDIA T1000)) doesn't support base Zink requirements: feats.features.logicOp have_EXT_custom_border_color have_EXT_line_rasterization
glx: failed to create drisw screen
failed to load driver: zink
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Microsoft Corporation (0xffffffff)
    Device: D3D12 (NVIDIA T1000) (0xffffffff)
    Version: 23.3.2
    Accelerated: yes
    Video memory: 11992MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.2
    Max compat profile version: 4.2
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
OpenGL vendor string: Microsoft Corporation
OpenGL renderer string: D3D12 (NVIDIA T1000)
OpenGL core profile version string: 4.2 (Core Profile) Mesa 23.3.2 - kisak-mesa PPA
OpenGL core profile shading language version string: 4.20
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.2 (Compatibility Profile) Mesa 23.3.2 - kisak-mesa PPA
OpenGL shading language version string: 4.20
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.1 Mesa 23.3.2 - kisak-mesa PPA
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10

Segmentation fault

@traversaro
Copy link
Contributor

Hi, when I update the mesa driver, I get a Segmentation fault error

@hellototoro please avoid commenting closed issue, it is highly probable people will not see your comments. For this kind of problems, please open new issues or questions in Robotics StackExchange. In particular, your problem seems to be related to microsoft/wslg#715, that is quite independent from gz-sim .

@toenails6
Copy link

toenails6 commented Sep 4, 2024

It is 9/4/2024, still seeing this issue, and with newest MESA and newest other packages.

[ruby $(which gz) sim-1] MESA: error: ZINK: failed to choose pdev
[ruby $(which gz) sim-1] glx: failed to create drisw screen
[ruby $(which gz) sim-1] 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)
[ruby $(which gz) sim-1] 
[ruby $(which gz) sim-1] 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)
[ruby $(which gz) sim-1] 
[ruby $(which gz) sim-1] libEGL warning: NEEDS EXTENSION: falling back to kms_swrast

Using ROS2 official jazzy and corresponding Gazebo pazkages:

# Use official image. 
FROM ros:jazzy-ros-base

# ROS2 installs. 
RUN apt update && \
    apt install -y software-properties-common && \
    apt install -y wget && \
    apt install -y ros-jazzy-turtlesim && \
    apt install -y ros-jazzy-rqt* && \
    apt install -y ros-jazzy-ros-gz*

# Install MESA graphics utility tools. 
RUN apt install -y mesa-utils
RUN apt install -y ffmpeg libsm6 libxext6
RUN apt install -y libgl1-mesa-dev libosmesa6-dev

# Check versions. 
RUN apt update && \
    apt upgrade -y

# Install Chrome for GUI testing. 
RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN apt install -y ./google-chrome-stable_current_amd64.deb

# Display environment setup. 
ENV DISPLAY=host.docker.internal:0.0
RUN mkdir /opt/xdg && \
    echo "export XDG_RUNTIME_DIR=/usr/local/xdg" >> ~/.bashrc
# RUN echo "export RUNLEVEL=3" >> ~/.bashrc

# Use Stable version of MESA. 
# RUN add-apt-repository ppa:kisak/kisak-mesa && \
#     apt update && \
#     apt install -y mesa-utils && \
#     apt install -y ffmpeg libsm6 libxext6 && \
#     apt install -y libgl1-mesa-dev libosmesa6-dev && \
#     apt upgrade -y

# Source ROS2 for default terminal. 
RUN echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc

I tried using kisak MESA, does not work, shows:

[ruby $(which gz) sim-1] MESA: error: ZINK: failed to choose pdev
[ruby $(which gz) sim-1] glx: failed to create drisw screen

I might consider switching to an older set of everything, anyone got any suggestions on any versions that work with WSL2?

@traversaro
Copy link
Contributor

Can you open a new separate issue following the template? Thanks!

@toenails6
Copy link

Can you open a new separate issue following the template? Thanks!

New issue created, #2595.

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted We accept pull requests! rendering Involves Ignition Rendering Windows Windows support
Projects
None yet
Development

No branches or pull requests