Mesa EGL이 작동하지 않고 초기화되지도 않았습니다.

Mesa EGL이 작동하지 않고 초기화되지도 않았습니다.

이제 거의 일주일이 지났는데 무슨 문제인지 모르겠어요! 어떤 조언이라도 대단히 감사하겠습니다(말장난 의도)!

우분투 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;
}

관련 정보