Intel uhd 620 no es compatible con opengl 4, Ubuntu 18.04

Intel uhd 620 no es compatible con opengl 4, Ubuntu 18.04

Recientemente compré una Dell Inspiron 15" 5570, la versión con Intel i5 8250u y solo la iGPU intel UHD 620. Después de instalar Ubuntu, la pantalla parpadeaba un poco y lo administré usando elLa solución de Joakimpero ahora me enfrento a otro problema que no pude resolver. Necesito OpenGL 4, que admite la gpu integrada, pero no sé cómo "habilitarlo". Ese es el glxinfo | grep -i openglresultado:

glxinfo | grep -i opengl
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2) 
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.2.0-devel
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 18.2.0-devel
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.2.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

Y esta es otra parte de glxinfo que podría resultar útil:

Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel Open Source Technology Center (0x8086)
    Device: Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2)  (0x5917)
    Version: 18.2.0
    Accelerated: yes
    Video memory: 3072MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2

Y este es el error de salida cuando intento iniciar el programa que necesita opengl 4:

X Error of failed request:  GLXBadFBConfig
  Major opcode of failed request:  155 (GLX)
  Minor opcode of failed request:  34 ()
  Serial number of failed request:  40
  Current serial number in output stream:  39

Escuché sobre una opción de arranque alfa para habilitar el controlador alfa para mi CPU, pero la extraño, gracias de antemano por la ayuda.

--ACTUALIZACIÓN-- De hecho, "gestioné" el error, probé otros programas que necesitan la funcionalidad openGL 4, el contexto openGL 4.5 y funcionan sin problemas, pero cuando quiero usar este programa OpenGL "heredado" que necesita un contexto 4.5

#include <cstdlib>
#include <cmath>
#include <iostream>

#ifdef __APPLE__
#  include <GL/glew.h>
#  include <GL/freeglut.h>
#  include <OpenGL/glext.h>
#else
#  include <GL/glew.h>
#  include <GL/freeglut.h>
#  include <GL/glext.h>
#pragma comment(lib, "glew32.lib")
#endif

#define PI 3.14159265358979324

using namespace std;

// Globals.
static float R = 40.0; // Radius of circle.
static float X = 50.0; // X-coordinate of center of circle.
static float Y = 50.0; // Y-coordinate of center of circle.
static int numVertices = 10; // Number of vertices on circle.

// Drawing routine.
void drawScene(void)
{
   float t = 0; // Angle parameter.

   glClear(GL_COLOR_BUFFER_BIT);

   glColor3f(0.0, 0.0, 0.0);

   // Draw a line loop with vertices at equal angles apart on a circle
   // with center at (X, Y) and radius R, The vertices are colored randomly.
   /* Funzione seno esercizio pag56 2.27
   glBegin(GL_LINE_STRIP);
      for(float i = -PI; i <= PI; i+=PI/20.0)
      {
     glColor3f((float)rand()/(float)RAND_MAX, (float)rand()/(float)RAND_MAX, (float)rand()/(float)RAND_MAX);
     glVertex3f(i, sin(i), 0.0);
     //cout<<"x="<<i<<";y="<<sin(i);
     //t += 2 * PI / numVertices;
      }
   glEnd();*/
   //Ellisse esercizio pag56 2.28
   //x = X + A*cos(t), y = Y + B*sin(t), z=0,  0<=t<=2PI
   glBegin(GL_LINE_LOOP);
      for(int i = 0; i < numVertices; i++)
   {
     glColor3f((float)rand()/(float)RAND_MAX, (float)rand()/(float)RAND_MAX, (float)rand()/(float)RAND_MAX);
     glVertex3f((R+10)*cos(t), (R-10)*sin(t), 0.0);
     //cout<<"x="<<i<<";y="<<sin(i);
     t += 2 * PI / numVertices;
   }
   glEnd();

   glFlush();
}

// Initialization routine.
void setup(void)
{
   glClearColor(1.0, 1.0, 1.0, 0.0);
}

// OpenGL window reshape routine.
void resize(int w, int h)
{
   glViewport(0, 0, w, h);
   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();
   glOrtho(-50, 50, -50, 50, -1.0, 1.0);
   glMatrixMode(GL_MODELVIEW);
   glLoadIdentity();
}

// Keyboard input processing routine.
void keyInput(unsigned char key, int x, int y)
{
   switch(key)
   {
      case 27:
     exit(0);
     break;
      case '+':
     numVertices++;
     glutPostRedisplay();
     break;
      case '-':
     if (numVertices > 3) numVertices--;
     glutPostRedisplay();
     break;
      default:
     break;
   }
}

// Routine to output interaction instructions to the C++ window.
void printInteraction(void)
{
   cout << "Interaction:" << endl;
   cout << "Press +/- to increase/decrease the number of vertices on the circle." << endl;
}

// Main routine.
int main(int argc, char **argv)
{
   printInteraction();
   glutInit(&argc, argv);

   glutInitContextVersion(4,5);
   glutInitContextProfile(GLUT_COMPATIBILITY_PROFILE);

   glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
   glutInitWindowSize(500, 500);
   glutInitWindowPosition(100, 100);
   glutCreateWindow("circle.cpp");
   glutDisplayFunc(drawScene);
   glutReshapeFunc(resize);
   glutKeyboardFunc(keyInput);

   glewExperimental = GL_TRUE;
   glewInit();

   setup();

   glutMainLoop();
}

Da el error:

X Error of failed request:  GLXBadFBConfig
  Major opcode of failed request:  155 (GLX)
  Minor opcode of failed request:  34 ()
  Serial number of failed request:  40

Pero realmente puedo usarlo iniciándolo de la siguiente manera:

MESA_GL_VERSION_OVERRIDE=4.5 ./circle 

No sé por qué tal vez sea un error, porque cuando intento compilar los otros programas, funciona sin el prefijo MESA.., con: glutInitContextVersion(4, 6); En lugar de: glutInitContextVersion(4, 5); Da el mismo error de GLXBadFBConfig. Por lo tanto, no hay ninguna mitigación de configuración de contexto incorrecta de OpenGL en el programa en sí.

información relacionada