Unable to rotate raster, Tutorial 3.2

Apple Macbook Pro Retina mid-2015
MacOS HighSierra 10.13.6
Gplates 2.3.0 (from gplates_2.3.0_Darwin-x86_64.dmg downloaded on 5 April 2022)

Hello,
I am a beginner with Gplates.
I am following tutorial 3.2 “Rotating rasters and age-based masking of Raster data”.
After the 2nd step 3 of exercice 1 (3. In the “Inputs” section of the layer, click the “Add new connection” button under “Reconstructed Polygons:” and select the static polygons file from the list (Figure 2).), I noticed my raster data is not rotating when I go back in time.
In the log window, I have these messages, I am not sure it’s the reason for it :
“Error: Missing GL version
libpng warning: iCCP: known incorrect sRGB profile
RECONSTRUCTED rasters NOT supported by this graphics hardware - requires four texture units.
Most graphics hardware for over a decade supports this -
most likely software renderer fallback has occurred - possibly via remote desktop software.”

Any clue would be most appreciated !
Thanks a lot,
Pierre

Hi Pierre,

That’s very unusual for your hardware. Can you post your log? As in go to Window > Log, tick Debug and copy that here.

You should see a bunch of OpenGL extensions like the following. In particular for raster reconstruction, you should see GL_ARB_multitexture, GL_ARB_texture_env_combine and GL_ARB_texture_env_dot3 extensions…

Log started at Thu Apr 7 11:56:44 2022 by GPlates 2.3.0
On this system GPlates supports the following OpenGL extensions...
  GL_ARB_viewport_array
  GL_EXT_framebuffer_object
  GL_ARB_draw_buffers
  GL_EXT_packed_depth_stencil
  GL_EXT_blend_equation_separate
  GL_EXT_blend_func_separate
  GL_EXT_blend_minmax
  GL_ARB_shader_objects
  GL_ARB_vertex_shader
  GL_ARB_fragment_shader
  GL_EXT_geometry_shader4
  GL_EXT_gpu_shader4
  GL_ARB_gpu_shader_fp64
  GL_ARB_vertex_attrib_64bit
  GL_ARB_texture_cube_map
  GL_ARB_texture_non_power_of_two
  GL_ARB_multitexture
  GL_EXT_texture_edge_clamp
  GL_EXT_texture_filter_anisotropic
  GL_ARB_texture_env_combine
  GL_ARB_texture_env_dot3
  GL_EXT_texture3D
  GL_EXT_texture_array
  GL_EXT_texture_buffer_object
  GL_ARB_texture_float
  GL_ARB_texture_rg
  GL_ARB_color_buffer_float
  GL_EXT_draw_range_elements
  GL_ARB_vertex_buffer_object
  GL_ARB_pixel_buffer_object
  GL_ARB_map_buffer_range
...end of OpenGL extension list.
The script "AbsoluteAge" has been registered.

Hi John,
Thank you. Actually it seems that no openGL extension is loaded.
The log shows:

Log started at mer. avr. 6 14:59:08 2022 by GPlates 2.3.0
Error:  Missing GL version
On this system GPlates supports the following OpenGL extensions...
...end of OpenGL extension list.
Falling back to main frame buffer for render targets.
libpng warning: iCCP: known incorrect sRGB profile
RECONSTRUCTED rasters NOT supported by this graphics hardware - requires four texture units.
  Most graphics hardware for over a decade supports this -
  most likely software renderer fallback has occurred - possibly via remote desktop software.

A screenshot :
https://sharebox.lsce.ipsl.fr/index.php/s/vWcrBpHgOHOnyCC

Also, not sure it’s the reason of the problem, but searching I found my mac had a quite old version of openGL:

server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL version string: 2.1 INTEL-10.36.22
OpenGL shading language version string: 1.20

and my graphic card is an integrated one : Iris Intel Pro 1536 Mo.

There’s no way, from I read, ti update openGL on mac, so I might need to wait for my new machine to use Gplates :sob:

Hi Pierre,

That is unusual for a Mac (since Apple controls the OpenGL drivers and you can’t change them). Usually it happens on Windows where the user typically must download and install the OpenGL drivers (depending on their particular graphics card).

Also in this post Paul had the same issue (Error: Missing GL version) and he fixed it by selecting the high-performance GPU instead of integrated GPU. I had a look at your specs and it appears you also have a dual-GPU setup (it mentions a AMD Radeon R9 M370X and a Intel Iris Pro with automatic graphics switching).

I just saw your latest post now. For a mid-2015 Macbook it should be no problem. You should be getting OpenGL 2.1 minimum. Actually I can see that’s what you’re getting which should be enough for GPlates, so there’s something else going on. It might still be a dual-GPU issue. If you could somehow manually switch to the AMD GPU then it might work - but I’m not sure how/if you can do that on macOS.

Actually try this to switch to using the high-performance GPU at all times, and then run GPlates again.

Unfortunately I do not have this option, cause I think the graphic card is integrated.

Sorry I just read this post.
Unfortunately, i don’t have AMD Radeon on this machine. Just the Intel Iris Pro, and it seems to be “bus-integrated”, meaning that i cannot switch.

Ah right, maybe you have the 256GB version (maybe only the 512GB has an AMD GPU).

The problem is GPlates is not detecting any OpenGL extensions, even though your laptop should definitely have some. So you could try an OpenGL extension viewer such as GLview and check that you have the three extensions required for reconstructed rasters mentioned above ( GL_ARB_multitexture, GL_ARB_texture_env_combine and GL_ARB_texture_env_dot3). I’ve not used this particular viewer though.

Thank you John,
I just used GLview and from its output, it seems none of this extension are present on my system.

Hmm, definitely something not right. So you don’t see something like this (from my 2017 MacBook Pro)…

I do ! But I cannot find the extensions you mentioned.

That’s good that extensions are showing up. So if you scroll down in your first screenshot you should see the three extensions listed previously for raster reconstruction?

Your second screenshot will only show extensions that fall under OpenGL 3 and 4, whereas GPlates is using extensions under OpenGL 1 and 2. The same happens for me as well.

Yes, they show up!

That’s good, so the required extensions are available on your system.

Looking more into the possible reasons for your GPlates error it should only really happen if the OpenGL rendering context is not initialised prior to querying these extensions. But, as far as I know, with GPlates that has only ever happened on dual-GPU systems (which must somehow be delaying context creation until the window shows - perhaps not knowing which GPU will be used until then due to automatic switching).

Can you perhaps double-check that you’re not on a dual-GPU system? Can you provide a screenshot like the following (which is my single-GPU system) using About This Mac > System Report and then click on Graphics/Displays

Hi John,
Here it is.


Thanks.

Dear John,
I decided to update my MacOS to see if it changes anything.
I just upgraded from High Sierra to Monterey, and… tadaaaa ! Gplates is now working, openGL is loading, continents are moving :slight_smile:
I copy here the log, which is still bizarre, but anyway, it’s working now.

Hi Pierre,

That’s great! I had contemplated sending you a slightly tweaked test build (to see what the issue is) but I think your new error messages confirm my suspicion that this is happening at a low level in the macOS Windowing system.

The Qt code emitting that new error message appears to be attempting to recreate the native window. So maybe before (on High Sierra) that was affecting when the rendering context got initialised on the window (and GPlates happened to query the OpenGL extensions before that happened). Upgrading to Monterey probably changed the order of that enough to make it work. But it is interesting that this is happening on your computer and not others - a bit of a mystery.

Regarding your new error message, from what I’ve seen on the internet it message appears to be relatively innocuous, but I’d be interested to know if you encounter any further issues running GPlates.