Struggle to get the windtunnel modelbuilder running properly

Hi johnt,

Nice to meet you and thank you for your prompt feedback!

I already updated the WSL graphics driver for my NVIDIA RTX 2000 Ada Generation graphic card.
It seems that the glxinfo and glxgears command line are not recognized by my WSL terminal:

-bash: glxinfo: command not found
-bash: glxgears: command not found

Thanks for helping!

Glad to help, Julien, and thanks for trying modelbuilder. I have not run modelbuilder on windows or WSL in awhile. Checking back in my notes (thank goodness for Evernote), I needed to install these 2 libraries in order to run modelbuilder on WSL:

> sudo apt install libopengl0
> sudo apt install libxkbcommon-x11-0

Please try that and let us know. If modelbuilder still doesn’t start up, also check again for glxinfo and glxgears.

–john

I am a big user of paraview and VTK since a few years now.
It looks like what you developed with modelbuilder is really powerfull when you are into simulation.

I would like to be able to develop new plugins for other simulation code, like FEniCSx or code_aster.
But for now I need to be able to setup a proper installation.

Unfortunately the libraries you are talking about were already installed on my system.
What is strange is that I succeeded to run properly the common modelbuilder as well as cmb2d.
So I don’t understand why I end up with this issue for the WindTunnel version.

Anyway I appreciate your effort to help me fix this issue.
Do you have any other track to suggest to me?

Thanks!

Oh! It seems that glxinfo and glxgears commands were not recognized because I needed to install the following library:

sudo apt install mesa-utils

So the glxinfo command gives a very long message which starts with:

name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context,
    GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile,
    GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, 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_libglvnd, GLX_EXT_no_config_context,
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,
    GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, GLX_SGIS_multisample,
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
    GLX_SGI_make_current_read
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context,
    GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile,
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
    GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample,
    GLX_ATI_pixel_format_float, GLX_EXT_buffer_age,
    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_no_config_context, GLX_EXT_swap_control,
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap,
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event,
    GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control,
    GLX_NV_float_buffer, GLX_OML_swap_method, GLX_OML_sync_control,
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
    GLX_SGIX_visual_select_group, GLX_SGI_make_current_read,
    GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context,
    GLX_ARB_create_context_no_error, 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_no_config_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
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Microsoft Corporation (0xffffffff)
    Device: D3D12 (Intel(R) UHD Graphics) (0xffffffff)
    Version: 23.0.4
    Accelerated: yes
    Video memory: 16340MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.1
    Max compat profile version: 4.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL vendor string: Microsoft Corporation
OpenGL renderer string: D3D12 (Intel(R) UHD Graphics)
OpenGL core profile version string: 4.1 (Core Profile) Mesa 23.0.4-0ubuntu1~22.04.1
OpenGL core profile shading language version string: 4.10
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
    GL_AMD_conservative_depth, GL_AMD_draw_buffers_blend,
    GL_AMD_gpu_shader_int64, GL_AMD_multi_draw_indirect,
    GL_AMD_shader_stencil_export, GL_AMD_shader_trinary_minmax,
    GL_AMD_texture_texture4, GL_ANGLE_texture_compression_dxt3,
    GL_ANGLE_texture_compression_dxt5, GL_ARB_ES2_compatibility,
    GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance,
    GL_ARB_blend_func_extended, GL_ARB_buffer_storage,
    GL_ARB_clear_buffer_object, GL_ARB_clip_control,
    GL_ARB_compressed_texture_pixel_storage,
    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
    GL_ARB_copy_buffer, GL_ARB_debug_output, GL_ARB_depth_buffer_float,
    GL_ARB_depth_clamp, GL_ARB_direct_state_access, GL_ARB_draw_buffers,
    GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex,
    GL_ARB_draw_indirect, GL_ARB_draw_instanced,
    GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location,
    GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport,
    GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments,
    GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB,
    GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image,
    GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64,
    GL_ARB_half_float_pixel, GL_ARB_half_float_vertex,
    GL_ARB_indirect_parameters, GL_ARB_instanced_arrays,
    GL_ARB_internalformat_query, GL_ARB_internalformat_query2,
    GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment,
    GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect,
    GL_ARB_occlusion_query2, GL_ARB_parallel_shader_compile,
    GL_ARB_pixel_buffer_object, GL_ARB_point_sprite,
    GL_ARB_program_interface_query, GL_ARB_provoking_vertex,
    GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness,
    GL_ARB_sample_shading, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map,
    GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops,
    GL_ARB_shader_atomic_counters, GL_ARB_shader_bit_encoding,
    GL_ARB_shader_draw_parameters, GL_ARB_shader_objects,
    GL_ARB_shader_precision, GL_ARB_shader_stencil_export,
    GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine,
    GL_ARB_shader_texture_lod, GL_ARB_shading_language_420pack,
    GL_ARB_shading_language_include, GL_ARB_shading_language_packing,
    GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader,
    GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32,
    GL_ARB_texture_buffer_range, GL_ARB_texture_compression_bptc,
    GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map_array,
    GL_ARB_texture_filter_anisotropic, GL_ARB_texture_float,
    GL_ARB_texture_gather, GL_ARB_texture_multisample,
    GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels,
    GL_ARB_texture_query_lod, GL_ARB_texture_rectangle, GL_ARB_texture_rg,
    GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8,
    GL_ARB_texture_storage, GL_ARB_texture_storage_multisample,
    GL_ARB_texture_swizzle, GL_ARB_timer_query, GL_ARB_transform_feedback2,
    GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced,
    GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra,
    GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit,
    GL_ARB_vertex_attrib_binding, GL_ARB_vertex_buffer_object,
    GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev,
    GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array,
    GL_ATI_blend_equation_separate, GL_ATI_texture_float,
    GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, GL_EXT_abgr,
    GL_EXT_blend_equation_separate, GL_EXT_debug_label, GL_EXT_draw_buffers2,
    GL_EXT_draw_instanced, GL_EXT_framebuffer_blit,
    GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled,
    GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_memory_object,
    GL_EXT_memory_object_fd, GL_EXT_packed_depth_stencil, GL_EXT_packed_float,
    GL_EXT_pixel_buffer_object, GL_EXT_provoking_vertex, GL_EXT_semaphore,
    GL_EXT_semaphore_fd, GL_EXT_shader_integer_mix, GL_EXT_texture_array,
    GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_rgtc,
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_filter_anisotropic,
    GL_EXT_texture_integer, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode,
    GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm,
    GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback,
    GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit,
    GL_IBM_multimode_draw_arrays, GL_KHR_context_flush_control, GL_KHR_debug,
    GL_KHR_no_error, GL_KHR_parallel_shader_compile,
    GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness,
    GL_KHR_texture_compression_astc_ldr,
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_pack_invert,
    GL_MESA_shader_integer_functions, GL_MESA_texture_signed_rgba,
    GL_NV_conditional_render, GL_NV_copy_image, GL_NV_depth_clamp,
    GL_NV_packed_depth_stencil, GL_NV_vdpau_interop, GL_OES_EGL_image,
    GL_S3_s3tc

OpenGL version string: 4.1 (Compatibility Profile) Mesa 23.0.4-0ubuntu1~22.04.1
OpenGL shading language version string: 4.10
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
    GL_AMD_conservative_depth, GL_AMD_draw_buffers_blend,
    GL_AMD_multi_draw_indirect, GL_AMD_shader_stencil_export,
    GL_AMD_shader_trinary_minmax, GL_AMD_texture_texture4,
    GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5,
    GL_APPLE_packed_pixels, GL_ARB_ES2_compatibility,
    GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance,
    GL_ARB_blend_func_extended, GL_ARB_buffer_storage,
    GL_ARB_clear_buffer_object, GL_ARB_clip_control,
    GL_ARB_color_buffer_float, GL_ARB_compatibility,
    GL_ARB_compressed_texture_pixel_storage,
    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
    GL_ARB_copy_buffer, GL_ARB_debug_output, GL_ARB_depth_buffer_float,
    GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_direct_state_access,
    GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend,
    GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect,
    GL_ARB_draw_instanced, GL_ARB_explicit_attrib_location,
    GL_ARB_explicit_uniform_location, GL_ARB_fragment_coord_conventions,
    GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program,
    GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader,
    GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object,
    GL_ARB_framebuffer_sRGB, GL_ARB_get_program_binary,
    GL_ARB_get_texture_sub_image, GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64,
    GL_ARB_gpu_shader_int64, GL_ARB_half_float_pixel,
    GL_ARB_half_float_vertex, GL_ARB_indirect_parameters,
    GL_ARB_instanced_arrays, GL_ARB_internalformat_query,
    GL_ARB_internalformat_query2, GL_ARB_invalidate_subdata,
    GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_multi_bind,
    GL_ARB_multi_draw_indirect, GL_ARB_multisample, GL_ARB_multitexture,
    GL_ARB_occlusion_query, GL_ARB_occlusion_query2,
    GL_ARB_parallel_shader_compile, GL_ARB_pixel_buffer_object,
    GL_ARB_point_parameters, GL_ARB_point_sprite,
    GL_ARB_program_interface_query, GL_ARB_provoking_vertex,
    GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness,
    GL_ARB_sample_shading, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map,
    GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops,
    GL_ARB_shader_atomic_counters, GL_ARB_shader_bit_encoding,
    GL_ARB_shader_draw_parameters, GL_ARB_shader_objects,
    GL_ARB_shader_precision, GL_ARB_shader_stencil_export,
    GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine,
    GL_ARB_shader_texture_lod, GL_ARB_shading_language_100,
    GL_ARB_shading_language_420pack, GL_ARB_shading_language_include,
    GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_stencil_texturing,
    GL_ARB_sync, GL_ARB_tessellation_shader, GL_ARB_texture_border_clamp,
    GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32,
    GL_ARB_texture_buffer_range, GL_ARB_texture_compression,
    GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc,
    GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array,
    GL_ARB_texture_env_add, GL_ARB_texture_env_combine,
    GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3,
    GL_ARB_texture_filter_anisotropic, GL_ARB_texture_float,
    GL_ARB_texture_gather, GL_ARB_texture_mirrored_repeat,
    GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two,
    GL_ARB_texture_query_levels, GL_ARB_texture_query_lod,
    GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui,
    GL_ARB_texture_stencil8, GL_ARB_texture_storage,
    GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle,
    GL_ARB_timer_query, GL_ARB_transform_feedback2,
    GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced,
    GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object,
    GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object,
    GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding,
    GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader,
    GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev,
    GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_blend_equation_separate,
    GL_ATI_draw_buffers, GL_ATI_fragment_shader, GL_ATI_separate_stencil,
    GL_ATI_texture_env_combine3, GL_ATI_texture_float,
    GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, GL_EXT_abgr, GL_EXT_bgra,
    GL_EXT_blend_color, GL_EXT_blend_equation_separate,
    GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract,
    GL_EXT_compiled_vertex_array, GL_EXT_copy_texture, GL_EXT_debug_label,
    GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXT_draw_instanced,
    GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit,
    GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled,
    GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB,
    GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, GL_EXT_memory_object,
    GL_EXT_memory_object_fd, GL_EXT_multi_draw_arrays,
    GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels,
    GL_EXT_pixel_buffer_object, GL_EXT_point_parameters,
    GL_EXT_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color,
    GL_EXT_semaphore, GL_EXT_semaphore_fd, GL_EXT_separate_specular_color,
    GL_EXT_shader_integer_mix, GL_EXT_shadow_funcs, GL_EXT_stencil_two_side,
    GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,
    GL_EXT_texture_array, GL_EXT_texture_buffer_object,
    GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_rgtc,
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map,
    GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,
    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_integer,
    GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_texture_rectangle,
    GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode,
    GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm,
    GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback,
    GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit,
    GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip,
    GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate,
    GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error,
    GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior,
    GL_KHR_robustness, GL_KHR_texture_compression_astc_ldr,
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_pack_invert,
    GL_MESA_shader_integer_functions, GL_MESA_texture_signed_rgba,
    GL_MESA_window_pos, GL_NV_ES1_1_compatibility, GL_NV_blend_square,
    GL_NV_conditional_render, GL_NV_copy_image, GL_NV_depth_clamp,
    GL_NV_fog_distance, GL_NV_half_float, GL_NV_light_max_exponent,
    GL_NV_packed_depth_stencil, GL_NV_primitive_restart,
    GL_NV_texgen_reflection, GL_NV_texture_env_combine4,
    GL_NV_texture_rectangle, GL_NV_vdpau_interop, GL_OES_EGL_image,
    GL_OES_read_format, GL_S3_s3tc, GL_SGIS_generate_mipmap,
    GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp,
    GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays

OpenGL ES profile version string: OpenGL ES 3.0 Mesa 23.0.4-0ubuntu1~22.04.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
    GL_ANGLE_pack_reverse_row_order, GL_ANGLE_texture_compression_dxt3,
    GL_ANGLE_texture_compression_dxt5, GL_APPLE_texture_max_level,
    GL_EXT_EGL_image_storage, GL_EXT_base_instance,
    GL_EXT_blend_func_extended, GL_EXT_blend_minmax, GL_EXT_clip_control,
    GL_EXT_color_buffer_float, GL_EXT_compressed_ETC1_RGB8_sub_texture,
    GL_EXT_debug_label, GL_EXT_depth_clamp, GL_EXT_discard_framebuffer,
    GL_EXT_disjoint_timer_query, GL_EXT_draw_buffers,
    GL_EXT_draw_buffers_indexed, GL_EXT_draw_elements_base_vertex,
    GL_EXT_draw_instanced, GL_EXT_float_blend, GL_EXT_frag_depth,
    GL_EXT_map_buffer_range, GL_EXT_memory_object, GL_EXT_memory_object_fd,
    GL_EXT_multi_draw_arrays, GL_EXT_occlusion_query_boolean,
    GL_EXT_read_format_bgra, GL_EXT_robustness, GL_EXT_sRGB_write_control,
    GL_EXT_semaphore, GL_EXT_semaphore_fd, GL_EXT_separate_shader_objects,
    GL_EXT_shader_integer_mix, GL_EXT_texture_border_clamp,
    GL_EXT_texture_compression_bptc, GL_EXT_texture_compression_dxt1,
    GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc,
    GL_EXT_texture_compression_s3tc_srgb, GL_EXT_texture_filter_anisotropic,
    GL_EXT_texture_format_BGRA8888, GL_EXT_texture_query_lod,
    GL_EXT_texture_rg, GL_EXT_texture_sRGB_decode,
    GL_EXT_texture_type_2_10_10_10_REV, GL_EXT_unpack_subimage,
    GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error,
    GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior,
    GL_KHR_robustness, GL_KHR_texture_compression_astc_ldr,
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_bgra,
    GL_MESA_framebuffer_flip_y, GL_MESA_shader_integer_functions,
    GL_NV_conditional_render, GL_NV_draw_buffers, GL_NV_fbo_color_attachments,
    GL_NV_pack_subimage, GL_NV_pixel_buffer_object, GL_NV_read_buffer,
    GL_NV_read_depth, GL_NV_read_depth_stencil, GL_NV_read_stencil,
    GL_NV_shader_noperspective_interpolation, GL_OES_EGL_image,
    GL_OES_EGL_image_external, GL_OES_EGL_image_external_essl3,
    GL_OES_EGL_sync, GL_OES_compressed_ETC1_RGB8_texture, GL_OES_depth24,
    GL_OES_depth_texture, GL_OES_depth_texture_cube_map,
    GL_OES_draw_buffers_indexed, GL_OES_draw_elements_base_vertex,
    GL_OES_element_index_uint, GL_OES_fbo_render_mipmap,
    GL_OES_get_program_binary, GL_OES_mapbuffer, GL_OES_packed_depth_stencil,
    GL_OES_required_internalformat, GL_OES_rgb8_rgba8, GL_OES_sample_shading,
    GL_OES_sample_variables, GL_OES_shader_multisample_interpolation,
    GL_OES_standard_derivatives, GL_OES_stencil8, GL_OES_surfaceless_context,
    GL_OES_texture_3D, GL_OES_texture_border_clamp, GL_OES_texture_float,
    GL_OES_texture_float_linear, GL_OES_texture_half_float,
    GL_OES_texture_half_float_linear, GL_OES_texture_npot,
    GL_OES_texture_stencil8, GL_OES_vertex_array_object,
    GL_OES_vertex_half_float

456 GLX Visuals
    visual  x   bf lv rg d st  colorbuffer  sr ax dp st accumbuffer  ms  cav
  id dep cl sp  sz l  ci b ro  r  g  b  a F gb bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------------
0x023 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x024 24 dc  0  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x332 24 tc  0  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x333 24 tc  0  32  0 r  . .   8  8  8  8 .  .  0  0  0 16 16 16 16  0 0 Slow
0x334 24 tc  0  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
...

And the command glxgears command gives a funny animation:

image

But I am maybe confused about the GPU driver I need to install.
Should it be on my Windows11 system or in my Ubuntu system, through a WSL terminal?

Because what I previously did was the first option.
I tried the second one, but I get this message:

Never easy. Interesting that the other modelbuilder’s don’t crash - guess that’s a good thing . Perplexing because the windtunnel build uses the same CI resources as the other modelbuilders. A couple thoughts:

  • Would you try starting modelbuilder with the --dr command line argument. It shouldn’t make any difference but there’s nothing to lose.
  • One of the other developers here has a windows/wsl machine and volunteered to download and try the windtunnel app. I’ll report back on that.
  • If you have the time, it would also be interesting to try our WaveTank build. What is interesting is that the WaveTank package was built on an Ubuntu 20.04 machine, whereas all of the others were built on Fedora machines. I would be curious to see what happens in WSL. If that seems to run ok, I could try making an Ubuntu build of the windtunnel modelbuilder to try. If you are up for it, the WaveTank package file is at https://data.kitware.com/#collection/58fa68228d777f16d01e03e5/folder/65c7f4c64eafe12dcba8e19d

Unbelievable, starting the modelbuilder with the --dr command fixes the issue:

Thank you so much John!

Now I am going to test running some CFD simulations.
I’ll get back to you if I have new issues on my way.

But just a question, I’m not sure I get it all right.
Should I install openFOAM on my Ubuntu system or is it packaged within the WindTunnel package?

What I did first was to install openFOAM using apt-get.
But then I saw in the WindTunnel documentation that you recommend to install openFOAM with a Docker container engine.
So at the end, I have two different packages of openFOAM installed on my system.
Should I then tell to the modelbuilder which package of openFOAM to use?

For sure I will be able to test the WaveTank build later on.
It will be the next step of my exploration of modelbuilder.

I’ve just tried installing the WaveTank build.
But when I run ./moderbuilder, I get the following error:

Thanks for reporting back, Julien. I wasn’t expecting that…

This makes me think that the error log we got from modelbuilder was misleading. Instead of a graphics problem, the underlying cause is likely the “settings files” that modelbuilder uses for saving and restoring the application state. Basically the “–dr” option tells modelbuilder to ignore those files. In brief, I bet that the “CMB-2D” modelbuilder stored a setting that the “WindTunnel” modelbuilder couldn’t parse. There’s no easy fix for that, but it’s usually not a problem because few users switch between different modelbuilders.

You can find those settings files (.ini and .json files) in your WSL’s $HOME/Kitware Inc./ folder, which would have been created when you first ran modelbuilder. I suggest you delete all files in there (or move them if you want to be overly cautious) and then try modelbuilder-for-windtunnel without the “–dr” option. I expect that will run OK and you will then be able to continue using it without “–dr” option.

Also, thanks trying the wavetank version.

Oh, to answer your OpenFOAM question: you should NOT have to install OpenFOAM yourself. It looks like you already have docker installed in your wsl. If that is the case, modelbuilder should pull the OpenFOAM docker image when first needed (which might take awhile, like over a minute).

To check that, you can run docker images, which should list something like this

opencfd/openfoam-run         2112                                c9693bf0e888   2 years ago    647MB

If you’re familiar with docker, you can also pull the image manually. I’m pretty sure the command is docker pull opencfd/openfoam-run:2112.

Side note: there is a way to hack modelbuilder to use a native-installed OpenFOAM, but we discourage that because of possible version mismatch with what modelbuilder is expecting. So let’s see how the docker image works for you.

John, it looks like there is no folder $HOME/Kitware Inc./ which has been created when I first run modelbuilder.

So you suggest I should delete all the openFOAM packages I installed from apt-get and Docker container engine before to run the modelbuilder WindTunnel build?

The WindTunnel application is now running.
But when I run the surfaceFeatureExtract in the Model tab, I get the following error message:

  1. Well… building modelbuilder is a fairly heavy undertaking. I would advise holding off until we make a little more progress with the off-the-shelf build.

  2. Regarding the surfaceFeatureExtract error: The problem stems from the “–user=0:0” part of the docker invocation. It’s possible we’re not picking up your user & group ids right.

  • Are you running modelbuilder as root on WSL?
  • What does WSL return when you run id in the terminal?

John, I removed everybody in the $HOME/.config/Kitware Inc directory but the application still crashes when I run it without the --dr option.

I am now considering building ModelBuilder from source with the superBuild. Do you think it’s a better option?

Just checking to see if you are able to run some examples now? I posted an earler note about user/group ids but haven’t heard back from you.

So sorry John! I didn’t see your note about the user/group ids.

I am indeed running as root.
I previously did from a user account created on my WSL, but with the sudo command.

I just tried to run directly from root WSL.
But I end up with the same error concerning the surfaceFeatureExtract in the Model tab of the WindTunnel ModelBuilder.

But it’s important to note that I installed the ModelBuilder package from a user account created on my WSL Ubuntu 22.04.
Maybe I should re-install everything directly from root?

Here is what I get running the command id in the terminal:
image

Thanks for your feedback :pray:

I tried re-installing everything from root WSL, but the issue remains the same :man_shrugging:

The openfoam docker image will only run its executables as a non-root user. I don’t know for sure why that is, but I suspect it has to do with root being for developers (compiling, etc.) and the environment is set differently.

So instead of re-installing modelbuilder from root, I would suggest installing as the default WSL user (if that is not the case now).

Before starting modelbuilder, run the id command again to double check. If the uid or gid are zero, modelbuilder won’t be able to run OpenFOAM executables.

Hi John,

One of the mistake I did was to install the Docker Container Engine directly on the Ubuntu distribution installed through WSL, whereas I should rather install Docker Desktop on my Windows11 system and enable WSL as indicated in this tutorial :

Then I had to enable the default user on Ubuntu to run docker without sudo permission:

sudo usermod -aG docker ${USER}

I was finally able to run modelbuilder with my default user on Ubuntu :

And guess what? The WingTunnel example is now working as a charm:

Thanks for your valuable help on this topic John :pray:

After testing other examples, the next step for me is to be able to design my own plugins.
I would eventually like to develop a specific plugin to run the FEniCSx simulation code.
Can you confirm that I need to install modelbuilder from sources to do that?

That’s great! I admire your persistence and thank you for reporting back.

  1. I have very little experience with WSL, but I would have thought your first approach – installing docker-ce directly would, at least should, have worked for you.
  2. Good that you figured out you needed to add your user to the docker group. I had forgotten about that.
  3. In terms of implementing your own plugins, yes, you will need to build modelbuilder from source code. .
  • The starting point is the cmb-superbuild. The web page is https://gitlab.kitware.com/cmb/cmb-superbuild, which is used to build all of the dependent libraries. I am pretty sure you can pull the source without an account on our gitlab server.
  • Check the README.md for general requirements: cmake, ninja, gcc are the big ones. Ubuntu has a build-essential package that should have most or all of what you need.
  • Don’t install Qt from the ubuntu packages, but instead get the installer from Qt’s community page: Open Source Development | Open Source License | Qt. Go to that page and scroll down to find a green button labeled “Download the Qt Online Installer”. When you run that, you will need to create a (free) account with Qt before it will let you install.
  • When you get to the part where you can select what to install, open the “Qt” item, open its child item “Qt 5.15.2” and select “Desktop gcc 64-bit”. And unselected everything else, otherwise you will download a huge amount of other stuff you won’t need.
  • I might be getting ahead of things, but when you are ready to run cmake, be sure to set both DEVELOPER_MODE_cmb and DEVELOPER_MODE_smtk to ON. You’ll also need to set Qt5_DIR to point to your installed Qt.

That’s alot and we’re not done yet. Ping me back if you get stuck or when you are ready to build cmb-superbuild.

1 Like

Hi John,

Sorry for not getting back to you sooner.

Thank you for your instructions on the cmb-superbuild.
I didn’t try proceeding to this installation yet.
I will probably come back to you with more questions on this subject, but I think I will open a new topic for that, since it is not really the subject of this topic.

For now, I have a few more points to address with you concerning the operation of the windtunnel modelbuilder:

  • I still need to run modelbuilder with the --dr option to avoid the segmentation fault. So maybe it is something which the Kitware developers should investigate in the future.

  • I’m not sure using Docker Desktop directly on my Windows11 system rather than installing Docker Container Engine on my Ubuntu distribution was mandatory. But I red somewhere that it is rather recommended to use Docker Desktop when using Ubuntu through WSL, activating the WSL integration option.

  • I think the main issue was that I ran modelbuilder as root. This issue was solved by activating docker for the user account I created on my Ubuntu distribution, with the command:
    sudo usermod -aG docker ${USER}

  • Finally, I would be interested to know if it’s possible to run the windtunnel modelbuilder without going through the GUI. For example, if I want to run a parametric study with a python script, I would like to be able to set all the parameters directly in my python script. Do you think it’s possible to do that? I guess that the smtk library should allow that, right?

Thank you!

Hi Julien.

  • Thanks for reminding me that modelbuilder crashes when running out of the box on WSL. One thing that would be very helpful is for you to run modelbuilder with these command line arguments, which will write a logfile and (in most cases) write the strack trace where the system crashed:
.../bin/modelbuilder -l run.log,9 --enable-bt

That should create a file run.log. If you would try that and post the logfile and any terminal messages, I would appreciate it.

  • fyi we updated the readthedocs “installing the software” page to add some notes based on your observations. Thanks again your feedback.

  • Also yes, it is possible to run the examples from python scripts only, though I’ve never tried doing that end-to-end. The best guidance would be to look into the python tests in the wind tunnel plugin .

    • If you haven’t cloned it yet, the repository is at https://gitlab.kitware.com/cmb/plugins/openfoam-windtunnel
    • The test scripts are in the directory smtk/simulation/windtunnel/testing/python.
    • The scripts use some fairly standard testing infrastructure; I don’t think it would be hard for you to adapt them to a runtime script like you describe.
    • Also, theses test scripts don’t actually run OpenFOAM - they just create the OpenFOAM input files. I can show you how to add that; again it’s nothing tricky just not documented.