Topics

EUMETCastView on GNU/Linux


Christoph Neuhaus
 

Dear Olivier,


Furthermore, I tried it on the Intel NUC using Windows 10 and the
latest v1.4.7 .exe, which works fine, including 3D globe. So HW
works.
this indicates a driver issue; the currently installed linux mesa driver does not support the shader language GLSL version 3.30, obviously the windows counter part does.

For the NUC you could give the drivers from
https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers
a try. They should provide you with the most current version of the mesa and intel drivers, and according to
https://mesamatrix.net/
the GLSL version required by EUMETCastView is supported.

The drivers might even work on your other hardware, although it's always difficult to tell with older nVidia and AMD cards.

Good luck,
Christoph



Am 13.11.19 um 17:29 schrieb hb9erg.kd0hop@...:
Hi all,
thanks for all your valuable information and your EUMETCastView compilation HowTo!
Everything went very well, using EUMETCastView v1.4.7; I successfully compiled the software on Debian 10 and Xubuntu LTS (more details below).
*** BUT: Here's my Problem ***
Unfortunately, I don't get the 3D Globe to work. It will show green text: around "60 paintGL calls / s", and after activation of the ground station info also these "Maspalomas, Lannion" etc etc. It also lets me choose segments, but I have no Globe and no background (corona).
I tried it on different hardware:
- hp pavilion dv7 6c40ez (CPU: Intel Core i7-2670QM, 2,2GHz, 4 cores - GPU: AMD Radeon HD 7470M)
- ASUS K56CB (CPU: Intel Core i7-3537U, 4 cores - GPU: NVIDIA® GeForce® GT 740M)
- Intel NUC D54250WYK (CPU: Intel Core i5-4250U 1.3GHz, 2 cores - GPU: Intel® HD-Grafik 5000)
Furthermore, I tried it on the Intel NUC using Windows 10 and the latest v1.4.7 .exe, which works fine, including 3D globe. So HW works.
Now I'm trying to get it to work on the Intel NUC, using Xubuntu 18.04.3 LTS.
*** Console Outputs (for your information) ***
cat /etc/lsb-release | grep DESC ; uname -a; lscpu | grep "Model name"; glxinfo | grep OpenGL | head -3
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
Linux ops-nuc 5.0.0-35-generic #38~18.04.1-Ubuntu SMP Mon Nov 11 09:16:10 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile
OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.0.8
glxinfo | grep -i "version"
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
    Version: 19.0.8
    Max core profile version: 4.5
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.0.8
OpenGL core profile shading language version string: 4.50
OpenGL version string: 3.0 Mesa 19.0.8
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 19.0.8
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
    GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix,
ops@ops-nuc:~$ glxinfo | grep -i "OpenGL"
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile
OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.0.8
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 19.0.8
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 19.0.8
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
*** But Here's The Problem.... ***
When I start EUMETCastView from the terminal, choose the 3D globe menu, it outputs:
Release Debug: "0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, and 3.10 ES\n"
Release Debug: "0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, and 3.10 ES\n"
Release Warning: QOpenGLShader::compile(Vertex): 0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, and 3.10 ES
Release Warning: *** Problematic Vertex shader source code ***
#version 330
#define lowp
#define mediump
#define highp
#line 1
layout(location=0) in vec3 VertexPosition;
uniform mat4 MVP;
uniform mat3 NormalMatrix;
uniform vec4 outcolor;
out vec3 Normal;
void main()
{
    Normal = normalize(NormalMatrix * VertexPosition);
    gl_Position = MVP * vec4(VertexPosition,1.0);
}
***
Release Debug: "0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, and 3.10 ES\n"
Release Debug: "0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, and 3.10 ES\n"
Release Warning: QOpenGLShader::compile(Vertex): 0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, and 3.10 ES
Release Warning: *** Problematic Vertex shader source code ***
#version 330
#define lowp
#define mediump
#define highp
#line 1
layout(location=0) in vec3 VertexPosition;
uniform mat4 MVP;
uniform mat3 NormalMatrix;
out vec3 Normal;
out float angle;
void main()
{
    Normal = normalize(NormalMatrix * VertexPosition);
    angle = 1 / MVP[3].w;
    gl_Position = MVP * vec4(VertexPosition,1.0);
}
***
Release Debug: "0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, and 3.10 ES\n"
Release Debug: "0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, and 3.10 ES\n"
Release Warning: QOpenGLShader::compile(Vertex): 0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, and 3.10 ES
Release Warning: *** Problematic Vertex shader source code ***
#version 330
#define lowp
#define mediump
#define highp
#line 1
//layout(location=0) in vec2 VertexPosition;
//layout(location=1) in float VertexTexCoord;
in vec2 VertexPosition;
in float VertexTexCoord;
out float texCoord;
void main()
{
    gl_Position = vec4(VertexPosition, 0.0, 1.0);
    texCoord = VertexTexCoord;
}
***
Release Debug: "0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, and 3.10 ES\n"
Release Debug: "0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, and 3.10 ES\n"
Release Debug: "gshhsdata positions.size() = 0"
Release Debug: "gshhsdata totalverts = 0"
Release Debug: SkyBox::loadCubemap x loaded
Release Debug: SkyBox::loadCubemap _x loaded
Release Debug: SkyBox::loadCubemap y loaded
Release Debug: SkyBox::loadCubemap _y loaded
Release Debug: SkyBox::loadCubemap z loaded
Release Debug: SkyBox::loadCubemap _z loaded
Release Debug: "ID cubemapTexture = 2"
Release Debug: "setCylOrGlobe = 1"
Release Debug: "na setCylOrGlobe = 1"
*** May you help me? ***
On the ASUS laptop, I tried to install other Linux graphics drivers using (in dir. /usr/bin):
wget -Nc smxi.org/sgfxi && chmod +x sgfxi && sgfxi
Do I need to change something in the source code, so that it will let me use the GLSL 3.30?
Thank you a lot in advance for your assistance, it's very much appreciated!
Greetings from Olivier, HB9ERG - Basel, Switzerland

--
____________________________________________

University of Bern
Remote Sensing Research Group

Christoph Neuhaus
ICT expert

Hallerstrasse 12
3012 Bern - Switzerland

e-mail: christoph.neuhaus@...
skype: nihil14
___________________________________________


Ernst Lobsiger
 

Ho Oliver and Christoph

This is a common problem with 3D functions in Linux card drivers.
Windows drivers are normally provided by manufacturers while
Linux drivers are often reverse engineered. When I started to
make the 3D globe work I finally had to buy a cheap vNidia card
and go with the proprietary nVidia X-driver (that's normally not
done a on a Debian box). If you have an AMD card supported by
the amdgpu (not the older radeon) driver it might run out of
the box. Intel GPU (on board) graphics is well supported too.

Bottom line:

- nVidia: forget the nouveau driver, go propretary
- AMD: give open source and MESA a try
- Intel: try open source and hope for the best

As I have asked before: Please report working combinatione here.

My latest working HW combination out of the box:
- Debian 10 amd64 / MESA / amdgpu
- ATI FirePro W5000 2048MB
as usual on old I7 PCs that other people threw away.

Cheers,
Ernst


hb9erg.kd0hop@...
 

Good morning, Christoph and Ernst

Thank you a lot for your quick responses, I appreciate it very much!

After many hours of - unfortunately unsuccessfully! - trying to install different drivers by means of
- PPA oibaf,
- sgfxi script,
- linux internal driver management
on both the
- HP Pavilion dv7 laptop (AMD Radeon GPU) and
- Intel NUC (Intel Graphics 5000),

I managed to have found a working solution:
 - ASUS K56CB
 - Linux Mint Xfce 19.2 Tina
 - nVidia GeForce 740M >> Proprietary Driver chosen from Linux Mint "Treiberverwaltung": nvidia-driver-390 (metapackage)
 - 3D Globe now working, with about 220 paintGL calls / s
 - EUMETCastView had been compiled on Ubuntu 18.04 LTS, which works flawlessly also on Linux Mint 19.2 Tina.

glxinfo | grep OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 740M/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 390.116
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6.0 NVIDIA 390.116
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 390.116
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20


*** What's strange ***
Tthe nVidia proprietary driver chosen by the "Treiberverwaltung" didn't work on Ubuntu 18.04 LTS > system crashed or displaying was very slow... (llvs...)

Unfortunately, on the HP Pavilion dv7, Linux Mint always freezes after 10 seconds, so it's not usable there.

*** oibaf PPA ***
Is it correct how I "activated" the PPA oibaf drivers on the Intel NUC?
>> After adding the PPA repository and apt-get upgrade, apt dist-upgrade (or apt full-upgrade), I think it installed it, but OpenGL in EUMETCastView still didn't work...

glxinfo | grep OpenGL, it says (below is just an excerpt!) that it's using
OpenGL core profile version string: 4.5 Mesa 20.0.0 devel (bionic-oibaf-ppa)
OpenGL version string: 3.0 Mesa 20.0.0-devel (bionic-oibaf-ppa)
OpenGL ES GLSL ES 3.10
*** Intel NUC ***
My goal is it to run EUMETCastView on the Intel NUC - maybe you can help me with this driver issue further?

Vyle Dangg Euch und e sunnige Daag!

Cheers,
Olivier


Ernst Lobsiger
 

Oliver

I got my working Linux driver for my cheap ASUS Card with nvidia GEFORCE GT 710 chip directly from the nvidia web site.
For Intel graphics probably on your Intel NUC there is some basic information here:  https://01.org/linuxgraphics
I still mostly work at the console. Never heard of "oibaf PPA" up to now, so apparently "blind are trying to lead the blind ...".

Sounds like "die drei scheenschte dääg.", but my home is Bern not Basel

Cheers,
Ernst