MFIX opening error in CentOS7

Hi everyone,

I have installed MFIX 21.4 in CentOS7 according to the installing tutorial 2.3. Linux Installation — MFiX 21.4 documentation (doe.gov). When I try to open MFIX, it prints the following errors, even though I have updated Mesa by the codes.

$ sudo yum -y install yum install mesa*
$ sudo yum -y install yum install freeglut*

MFIX can only be opened if I type mfix --novtk, but the user interface seems to be abnormal and also shows something wrong.

How to solve the above errors?

Thanks.

(base) [yfei@node1 ~]$ conda activate mfix-21.4
(mfix-21.4) [yfei@node1 ~]$ mfix
2022-01-18 16:13:15.584 ( 79.887s) [ 37310740]vtkOpenGLRenderWindow.c:499 ERR| vtkXOpenGLRenderWindow (0x564d1d6848a0): Unable to find a valid OpenGL 3.2 or later implementation. Please update your video card driver to the latest version. If you are using Mesa please make sure you have version 11.2 or later and make sure your driver in Mesa supports OpenGL 3.2 such as llvmpipe or openswr. If you are on windows and using Microsoft remote desktop note that it only supports OpenGL 3.2 with nvidia quadro cards. You can use other remoting software such as nomachine to avoid this issue.
2022-01-18 16:13:15.584 ( 79.888s) [ 37310740] vtkOpenGLState.cxx:1795 WARN| Hardware does not support the number of textures defined.
2022-01-18 16:13:15.584 ( 79.888s) [ 37310740] vtkOpenGLState.cxx:1795 WARN| Hardware does not support the number of textures defined.
2022-01-18 16:13:15.587 ( 79.891s) [ 37310740] vtkOpenGLState.cxx:1795 WARN| Hardware does not support the number of textures defined.
2022-01-18 16:13:15.587 ( 79.891s) [ 37310740] vtkOpenGLState.cxx:1795 WARN| Hardware does not support the number of textures defined.
2022-01-18 16:13:15.587 ( 79.891s) [ 37310740] vtkOpenGLState.cxx:1795 WARN| Hardware does not support the number of textures defined.
2022-01-18 16:13:15.588 ( 79.891s) [ 37310740] vtkOpenGLState.cxx:1795 WARN| Hardware does not support the number of textures defined.
2022-01-18 16:13:15.588 ( 79.892s) [ 37310740] vtkOpenGLState.cxx:1795 WARN| Hardware does not support the number of textures defined.
2022-01-18 16:13:15.591 ( 79.894s) [ 37310740] vtkShaderProgram.cxx:437 ERR| vtkShaderProgram (0x564d1f4d9050): 1: #version 150
2: #ifndef GL_ES
3: #define highp
4: #define mediump
5: #define lowp
6: #endif // GL_ES
7: #define attribute in
8: #define varying out
9:
10:
11: /=========================================================================
12:
13: Program: Visualization Toolkit
14: Module: vtkPolyData2DVS.glsl
15:
16: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
17: All rights reserved.
18: See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
19:
20: This software is distributed WITHOUT ANY WARRANTY; without even
21: the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
22: PURPOSE. See the above copyright notice for more information.
23:
24: =========================================================================
/
25:
26: // all variables that represent positions or directions have a suffix
27: // indicating the coordinate system they are in. The possible values are
28: // MC - Model Coordinates
29: // WC - WC world coordinates
30: // VC - View Coordinates
31: // DC - Display Coordinates
32:
33: in vec4 vertexWC;
34:
35: // material property values
36: in vec4 diffuseColor;
37: out vec4 fcolorVSOutput;
38:
39: // Texture coordinates
40: //VTK::TCoord::Dec
41:
42: // Apple Bug
43: //VTK::PrimID::Dec
44:
45: uniform mat4 WCVCMatrix; // World to view matrix
46:
47: void main()
48: {
49: // Apple Bug
50: //VTK::PrimID::Impl
51:
52: gl_Position = WCVCMatrix*vertexWC;
53: //VTK::TCoord::Impl
54: fcolorVSOutput = diffuseColor;
55: }

2022-01-18 16:13:15.591 ( 79.895s) [ 37310740] vtkShaderProgram.cxx:438 ERR| vtkShaderProgram (0x564d1f4d9050): 0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.00 ES, and 3.00 ES

2022-01-18 16:13:15.595 ( 79.899s) [ 37310740] vtkShaderProgram.cxx:437 ERR| vtkShaderProgram (0x564d1f4e41b0): 1: #version 150
2: #ifndef GL_ES
3: #define highp
4: #define mediump
5: #define lowp
6: #endif // GL_ES
7: #define attribute in
8: #define varying out
9:
10:
11: /=========================================================================
12:
13: Program: Visualization Toolkit
14: Module: vtkPolyDataVS.glsl
15:
16: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
17: All rights reserved.
18: See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
19:
20: This software is distributed WITHOUT ANY WARRANTY; without even
21: the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
22: PURPOSE. See the above copyright notice for more information.
23:
24: =========================================================================
/
25:
26: in vec4 vertexMC;
27:
28:
29:
30: // frag position in VC
31: //VTK::PositionVC::Dec
32:
33: // optional normal declaration
34: //VTK::Normal::Dec
35:
36: // extra lighting parameters
37: //VTK::Light::Dec
38:
39: // Texture coordinates
40: //VTK::TCoord::Dec
41:
42: // material property values
43: //VTK::Color::Dec
44:
45: // clipping plane vars
46: //VTK::Clip::Dec
47:
48: // camera and actor matrix values
49: uniform mat4 MCDCMatrix;
50:
51: // Apple Bug
52: //VTK::PrimID::Dec
53:
54: // Value raster
55: //VTK::ValuePass::Dec
56:
57: // picking support
58: //VTK::Picking::Dec
59:
60: void main()
61: {
62: //VTK::CustomBegin::Impl
63:
64: //VTK::Color::Impl
65:
66: //VTK::Normal::Impl
67:
68: //VTK::TCoord::Impl
69:
70: //VTK::Clip::Impl
71:
72: //VTK::PrimID::Impl
73:
74: gl_Position = MCDCMatrix * vertexMC;
75:
76:
77: //VTK::ValuePass::Impl
78:
79: //VTK::Light::Impl
80:
81: //VTK::Picking::Impl
82:
83: //VTK::CustomEnd::Impl
84: }

2022-01-18 16:13:15.596 ( 79.900s) [ 37310740] vtkShaderProgram.cxx:438 ERR| vtkShaderProgram (0x564d1f4e41b0): 0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.00 ES, and 3.00 ES

Segmentation fault (core dumped)

The installation instructions suggest installing via Anaconda. Did you install in a Conda environment? Why are you installing mesa and freeglut?

There are 2 errors here - one is the lack of VTK support in your environment, and the second is the “Error saving file”.

The VTK problem is a platform issue. Either your platform is too old to support modern GL, or you have something misconfigured. Please run glxinfo, save the output to a file, and post it here.

I’ve never seen the “Error saving file” message before. Can you please make a zipfile of your project directory (“Submit bug report”) and upload it here? Thanks.

– Charles

Hi @cgw , thanks for your constructive suggestions. I installed and activated Anaconda in a computer cluster before installing MFIX. MFIX was installed in a Conda environment.

Mesa was also updated due to the reason of invalid OpenGL because Mesa may support OpenGL 3.2 as the solver reported.

The glxinfo file is attached here.
glxinfo.txt (20.8 KB)

The “error saving file” message reportes once a blank or tutorial MFIX GUI interface is opened without any operations.

I am uninstalling and reinstalling Anaconda and MFIX today, in order to check my installation first. I will feedback here if same or new errors happen.

Hi @cgw ,

I have reinstalled Anaconda and MFIX and the same errors show as follows.

The attached is my glxinfo file.
glxinfo.txt (20.8 KB)

And, the “Error saving file” message is also reported once I click to open a blank case.

The attached is a blank case file with “Error saving file” message reported.
a.zip (21.4 KB)

When I type conda env create -n mfix-21.4 mfix/mfix-21.4-linux64 according to the tutorial, it prompts that something is not found. Is this an error?

image

(mfix-21.4) [yfei@node1 ~]$ mfix
2022-01-20 15:15:31.743 ( 20.989s) [ C9F6F740]vtkOpenGLRenderWindow.c:499 ERR| vtkXOpenGLRenderWindow (0x560222fb04e0): Unable to find a valid OpenGL 3.2 or later implementation. Please update your video card driver to the latest version. If you are using Mesa please make sure you have version 11.2 or later and make sure your driver in Mesa supports OpenGL 3.2 such as llvmpipe or openswr. If you are on windows and using Microsoft remote desktop note that it only supports OpenGL 3.2 with nvidia quadro cards. You can use other remoting software such as nomachine to avoid this issue.
2022-01-20 15:15:31.744 ( 20.989s) [ C9F6F740] vtkOpenGLState.cxx:1795 WARN| Hardware does not support the number of textures defined.
2022-01-20 15:15:31.744 ( 20.989s) [ C9F6F740] vtkOpenGLState.cxx:1795 WARN| Hardware does not support the number of textures defined.
2022-01-20 15:15:31.747 ( 20.992s) [ C9F6F740] vtkOpenGLState.cxx:1795 WARN| Hardware does not support the number of textures defined.
2022-01-20 15:15:31.747 ( 20.992s) [ C9F6F740] vtkOpenGLState.cxx:1795 WARN| Hardware does not support the number of textures defined.
2022-01-20 15:15:31.747 ( 20.992s) [ C9F6F740] vtkOpenGLState.cxx:1795 WARN| Hardware does not support the number of textures defined.
2022-01-20 15:15:31.748 ( 20.993s) [ C9F6F740] vtkOpenGLState.cxx:1795 WARN| Hardware does not support the number of textures defined.
2022-01-20 15:15:31.748 ( 20.993s) [ C9F6F740] vtkOpenGLState.cxx:1795 WARN| Hardware does not support the number of textures defined.
2022-01-20 15:15:31.750 ( 20.995s) [ C9F6F740] vtkShaderProgram.cxx:437 ERR| vtkShaderProgram (0x560224e05690): 1: #version 150
2: #ifndef GL_ES
3: #define highp
4: #define mediump
5: #define lowp
6: #endif // GL_ES
7: #define attribute in
8: #define varying out
9:
10:
11: /=========================================================================
12:
13: Program: Visualization Toolkit
14: Module: vtkPolyData2DVS.glsl
15:
16: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
17: All rights reserved.
18: See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
19:
20: This software is distributed WITHOUT ANY WARRANTY; without even
21: the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
22: PURPOSE. See the above copyright notice for more information.
23:
24: =========================================================================
/
25:
26: // all variables that represent positions or directions have a suffix
27: // indicating the coordinate system they are in. The possible values are
28: // MC - Model Coordinates
29: // WC - WC world coordinates
30: // VC - View Coordinates
31: // DC - Display Coordinates
32:
33: in vec4 vertexWC;
34:
35: // material property values
36: in vec4 diffuseColor;
37: out vec4 fcolorVSOutput;
38:
39: // Texture coordinates
40: //VTK::TCoord::Dec
41:
42: // Apple Bug
43: //VTK::PrimID::Dec
44:
45: uniform mat4 WCVCMatrix; // World to view matrix
46:
47: void main()
48: {
49: // Apple Bug
50: //VTK::PrimID::Impl
51:
52: gl_Position = WCVCMatrix*vertexWC;
53: //VTK::TCoord::Impl
54: fcolorVSOutput = diffuseColor;
55: }

2022-01-20 15:15:31.751 ( 20.996s) [ C9F6F740] vtkShaderProgram.cxx:438 ERR| vtkShaderProgram (0x560224e05690): 0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.00 ES, and 3.00 ES

2022-01-20 15:15:31.755 ( 21.000s) [ C9F6F740] vtkShaderProgram.cxx:437 ERR| vtkShaderProgram (0x560224e11890): 1: #version 150
2: #ifndef GL_ES
3: #define highp
4: #define mediump
5: #define lowp
6: #endif // GL_ES
7: #define attribute in
8: #define varying out
9:
10:
11: /=========================================================================
12:
13: Program: Visualization Toolkit
14: Module: vtkPolyDataVS.glsl
15:
16: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
17: All rights reserved.
18: See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
19:
20: This software is distributed WITHOUT ANY WARRANTY; without even
21: the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
22: PURPOSE. See the above copyright notice for more information.
23:
24: =========================================================================
/
25:
26: in vec4 vertexMC;
27:
28:
29:
30: // frag position in VC
31: //VTK::PositionVC::Dec
32:
33: // optional normal declaration
34: //VTK::Normal::Dec
35:
36: // extra lighting parameters
37: //VTK::Light::Dec
38:
39: // Texture coordinates
40: //VTK::TCoord::Dec
41:
42: // material property values
43: //VTK::Color::Dec
44:
45: // clipping plane vars
46: //VTK::Clip::Dec
47:
48: // camera and actor matrix values
49: uniform mat4 MCDCMatrix;
50:
51: // Apple Bug
52: //VTK::PrimID::Dec
53:
54: // Value raster
55: //VTK::ValuePass::Dec
56:
57: // picking support
58: //VTK::Picking::Dec
59:
60: void main()
61: {
62: //VTK::CustomBegin::Impl
63:
64: //VTK::Color::Impl
65:
66: //VTK::Normal::Impl
67:
68: //VTK::TCoord::Impl
69:
70: //VTK::Clip::Impl
71:
72: //VTK::PrimID::Impl
73:
74: gl_Position = MCDCMatrix * vertexMC;
75:
76:
77: //VTK::ValuePass::Impl
78:
79: //VTK::Light::Impl
80:
81: //VTK::Picking::Impl
82:
83: //VTK::CustomEnd::Impl
84: }

2022-01-20 15:15:31.756 ( 21.001s) [ C9F6F740] vtkShaderProgram.cxx:438 ERR| vtkShaderProgram (0x560224e11890): 0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.00 ES, and 3.00 ES

Segmentation fault (core dumped)

Thank you very much.

From the glxinfo output, I see that you are running in a VM:

OpenGL vendor string: VMware, Inc.

Check this thread for info on enabling proper GL support in VMWare -

– Charles

The “Error saving file” is a side-effect of the VTK issue.

        try:
            with open('.visual_props', 'w', encoding='utf-8') as f:
                f.write(self.vtkwidget.visual_props_to_str())
        except Exception as e:
            self.error("Error saving file: %s" % e,
                       popup=True)

Since the VTK module was not loaded, vtkwidget is not initialized and visual_props_to_str returns None. This error can be ignored for now, it will go away once you straighten out the platform GL support. However, the GUI should operate in --novtk mode without errors, so I will fix this for the 22.1 release.

– Charles

I [created a post](https://mfix.netl.doe.gov/forum/t/mfix-21-4-rhel-7-5-with-x11-starts-and-fails-to-open-glew-could-not-be-initialized-missing-gl-version/3629) that may be related. I get an additional warning when running this in a cluster on a compute node. I can only start the GUI with the -k option.

QStandardPaths: XDG_RUNTIME_DIR points to non-existing path '/run/user/547289', please create it with 0700 permissions.
mfix - ERROR - Error saving file: write() argument must be str, not None
Error saving ui state write() argument must be str, not None

When will 22.1 be released?

MFiX 22.1 should be released before the end of March. However this will not fix all of the problems you are seeing, just some of the minor side-effects (“error saving file”).

I suggest you try running with vglrun (virtual GL). See also this thread:
https://mfix.netl.doe.gov/forum/t/working-difference-between-mfix-19-3-1-and-20-1-2/1798/3