Older devices (GL2/OpenGLES2) cannot use glcore, since it needs at least GL3/OpenGL3 to work.
Can you elaborate on that sentence above, though?
Some cores need a specific OpenGL and/or Vulkan version to work and if the front-end driver (i.e. RetroArch's) does not support that version, the core won't work.
For instance, Flycast can be compiled for Vulkan and when started will request a Vulkan context from RetroArch. But if RetroArch doesn't support Vulkan, the core cannot start and the emulation stops.