Mesa EGLは動作せず、初期化されませんでした。

Mesa EGLは動作せず、初期化されませんでした。

今、ほぼ一週間が過ぎましたが、何が問題なのかわかりません!どんなアドバイスにも大変感謝します(悔しい意図)!

Ubuntu 12.04 x86_64
メサ-8.0.4

./configure --enable-64-bit --enable-pic -enable-opengl --enable-gles2 --enable-xorg --enable-egl --enable-glu --with-x

(また、Mesaのapt-getパッケージを試してみました)

ls /usr/local/lib | grep EGL  
libEGL.so@  
libEGL.so.1@  
libEGL.so.1.0*  

簡単なチュートリアルコードを実行するとき

display = eglGetDisplay(EGL_DEFAULT_DISPLAY);  
EGLBoolean err = eglInitialize(display, NULL, NULL);

初期化が失敗し、アドインが返されますEGL_NOT_INITIALIZED

答え1

Xデスクトップではこれを使用できません。有効なXlibへのポインタをEGL_DEFAULT_DISPLAY渡す必要があります。たとえば、eglGetDisplay()Display

EGLBoolean ok;

Display *xlib_dpy = XOpenDisplay(NULL);
if (!xlib_dpy)
  return;

EGLDisplay egl_dpy = eglGetDisplay(xlib_dpy);
if (!egl_dpy)
  return;

int major;
int minor;
ok = eglInitialize(egl_dpy, &major, &minor);
if (!ok)
  return;

if (10 * major + minor != 14) {
  /* EGL is too old; */
  return;
}

関連情報