GLSL version doesn't match OpenGL version

I’m porting an application with OSG Earth from windows to Linux. The OS and softwares are basically the same (Qt 5.9, Linux kernel 3.18.24, Mesa 18.2.3). However, after override export MESA_GL_VERSION_OVERRIDE=“4.5” OpenGL behaves very differently on different hardware:

On a Intel i7-4770T:

server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.2.3
OpenGL core profile shading language version string: 3.30
OpenGL version string: 4.5 (Compatibility Profile) Mesa 18.2.3
OpenGL shading language version string: 3.30

You can see shading language only 3.3 which is below my requirement. On a i7 6700 it’s 4.5.

This is weird due to:

[ul]
[li]GLSL should match OpenGL version[/li][li]Intel specs said i7-4770T should support at least OpenGL 4.3.[/li][/ul]

Sadly “MESA_GLSL_VERSION_OVERRIDE” doesn’t work. My app still runs with anomalies like random black or violet on the GUI.

Mesa is built on libdrm-2.4.96 and with this configuration.

/autogen.sh --enable-debug --with-egl-platforms=x11,drm --with-dri-drivers=i915,i965,nouveau --with-gallium-drivers=i915,nouveau --disable-gallium-llvm --prefix=/usr