Linux 如何设置EGL默认显示?

Linux 如何设置EGL默认显示?,linux,opengl,egl,Linux,Opengl,Egl,我正在运行一个开源程序,它使用EGL渲染场景,理想情况下是无头的。它尝试通过运行以下命令来初始化显示: EGLDisplay display=eglGetDisplay(EGL\u默认显示); 但它抓取的显示与它稍后请求的属性不兼容: EGLint attribs[]={ EGL_表面_类型, EGL_PBUFFER_位, EGL_可渲染_类型, EGL_OPENGL_ES2_位, EGL_红色_尺寸, 8. EGL_绿色_尺寸, 8. EGL_蓝色_尺寸, 8. EGL_α_尺寸, 8. 没

我正在运行一个开源程序,它使用EGL渲染场景,理想情况下是无头的。它尝试通过运行以下命令来初始化显示:

EGLDisplay display=eglGetDisplay(EGL\u默认显示);
但它抓取的显示与它稍后请求的属性不兼容:

EGLint attribs[]={
EGL_表面_类型,
EGL_PBUFFER_位,
EGL_可渲染_类型,
EGL_OPENGL_ES2_位,
EGL_红色_尺寸,
8.
EGL_绿色_尺寸,
8.
EGL_蓝色_尺寸,
8.
EGL_α_尺寸,
8.
没有,
};
EGLConfig配置;
int numconfig;
EGLBoolean result=eglChooseConfig(显示、属性和配置、1和numconfig);
然后失败(奇怪的是,
numconfig
0
,但是
result
EGL\u SUCCESS
!)。但是,我确实有一个可以使用的显示器(per
eglinfo
)。我如何在不修补代码的情况下覆盖它?是否可以设置一些环境变量

它看起来像是在抓取“GBM平台”显示屏,而我更希望它是在抓取“设备平台”显示屏

我的
eglinfo
输出是:

$ eglinfo 
EGL client extensions string:
    EGL_EXT_platform_base EGL_EXT_device_base EGL_EXT_device_enumeration
    EGL_EXT_device_query EGL_KHR_client_get_all_proc_addresses
    EGL_EXT_client_extensions EGL_KHR_debug EGL_KHR_platform_x11
    EGL_EXT_platform_x11 EGL_EXT_platform_device EGL_EXT_platform_wayland
    EGL_KHR_platform_wayland EGL_MESA_platform_gbm EGL_KHR_platform_gbm
    EGL_MESA_platform_surfaceless

GBM platform:
EGL API version: 1.4
EGL vendor string: Mesa Project
EGL version string: 1.4
EGL client APIs: OpenGL OpenGL_ES 
EGL extensions string:
    EGL_ANDROID_blob_cache EGL_EXT_buffer_age
    EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers
    EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context
    EGL_KHR_create_context_no_error EGL_KHR_fence_sync
    EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace
    EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image
    EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image
    EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap
    EGL_KHR_no_config_context EGL_KHR_reusable_sync
    EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float
    EGL_KHR_wait_sync EGL_MESA_configless_context
    EGL_MESA_image_dma_buf_export EGL_MESA_query_driver
Configurations:
     bf lv colorbuffer dp st  ms    vis   cav bi  renderable  supported
  id sz  l  r  g  b  a th cl ns b    id   eat nd gl es es2 vg surfaces 
---------------------------------------------------------------------
0x01 32  0 10 10 10  2  0  0  0 0 0x30335241--         y  y  y     win
0x02 32  0 10 10 10  2 16  0  0 0 0x30335241--         y  y  y     win
0x03 32  0 10 10 10  2 24  0  0 0 0x30335241--         y  y  y     win
0x04 32  0 10 10 10  2 24  8  0 0 0x30335241--         y  y  y     win
0x05 32  0 10 10 10  2 32  0  0 0 0x30335241--         y  y  y     win
0x06 32  0 10 10 10  2  0  0  4 1 0x30335241--         y  y  y     win
0x07 32  0 10 10 10  2 16  0  4 1 0x30335241--         y  y  y     win
0x08 32  0 10 10 10  2 24  0  4 1 0x30335241--         y  y  y     win
0x09 32  0 10 10 10  2 24  8  4 1 0x30335241--         y  y  y     win
0x0a 32  0 10 10 10  2 32  0  4 1 0x30335241--         y  y  y     win
0x0b 30  0 10 10 10  0  0  0  0 0 0x30335258--         y  y  y     win
0x0c 30  0 10 10 10  0 16  0  0 0 0x30335258--         y  y  y     win
0x0d 30  0 10 10 10  0 24  0  0 0 0x30335258--         y  y  y     win
0x0e 30  0 10 10 10  0 24  8  0 0 0x30335258--         y  y  y     win
0x0f 30  0 10 10 10  0 32  0  0 0 0x30335258--         y  y  y     win
0x10 30  0 10 10 10  0  0  0  4 1 0x30335258--         y  y  y     win
0x11 30  0 10 10 10  0 16  0  4 1 0x30335258--         y  y  y     win
0x12 30  0 10 10 10  0 24  0  4 1 0x30335258--         y  y  y     win
0x13 30  0 10 10 10  0 24  8  4 1 0x30335258--         y  y  y     win
0x14 30  0 10 10 10  0 32  0  4 1 0x30335258--         y  y  y     win
0x15 32  0  8  8  8  8  0  0  0 0 0x34325241--         y  y  y     win
0x16 32  0  8  8  8  8 16  0  0 0 0x34325241--         y  y  y     win
0x17 32  0  8  8  8  8 24  0  0 0 0x34325241--         y  y  y     win
0x18 32  0  8  8  8  8 24  8  0 0 0x34325241--         y  y  y     win
0x19 32  0  8  8  8  8 32  0  0 0 0x34325241--         y  y  y     win
0x1a 32  0  8  8  8  8  0  0  4 1 0x34325241--         y  y  y     win
0x1b 32  0  8  8  8  8 16  0  4 1 0x34325241--         y  y  y     win
0x1c 32  0  8  8  8  8 24  0  4 1 0x34325241--         y  y  y     win
0x1d 32  0  8  8  8  8 24  8  4 1 0x34325241--         y  y  y     win
0x1e 32  0  8  8  8  8 32  0  4 1 0x34325241--         y  y  y     win
0x1f 24  0  8  8  8  0  0  0  0 0 0x34325258--         y  y  y     win
0x20 24  0  8  8  8  0 16  0  0 0 0x34325258--         y  y  y     win
0x21 24  0  8  8  8  0 24  0  0 0 0x34325258--         y  y  y     win
0x22 24  0  8  8  8  0 24  8  0 0 0x34325258--         y  y  y     win
0x23 24  0  8  8  8  0 32  0  0 0 0x34325258--         y  y  y     win
0x24 24  0  8  8  8  0  0  0  4 1 0x34325258--         y  y  y     win
0x25 24  0  8  8  8  0 16  0  4 1 0x34325258--         y  y  y     win
0x26 24  0  8  8  8  0 24  0  4 1 0x34325258--         y  y  y     win
0x27 24  0  8  8  8  0 24  8  4 1 0x34325258--         y  y  y     win
0x28 24  0  8  8  8  0 32  0  4 1 0x34325258--         y  y  y     win
0x29 16  0  5  6  5  0  0  0  0 0 0x36314752--         y  y  y     win
0x2a 16  0  5  6  5  0 16  0  0 0 0x36314752--         y  y  y     win
0x2b 16  0  5  6  5  0 24  0  0 0 0x36314752--         y  y  y     win
0x2c 16  0  5  6  5  0 24  8  0 0 0x36314752--         y  y  y     win
0x2d 16  0  5  6  5  0 32  0  0 0 0x36314752--         y  y  y     win
0x2e 16  0  5  6  5  0  0  0  4 1 0x36314752--         y  y  y     win
0x2f 16  0  5  6  5  0 16  0  4 1 0x36314752--         y  y  y     win
0x30 16  0  5  6  5  0 24  0  4 1 0x36314752--         y  y  y     win
0x31 16  0  5  6  5  0 24  8  4 1 0x36314752--         y  y  y     win
0x32 16  0  5  6  5  0 32  0  4 1 0x36314752--         y  y  y     win

Wayland platform:
eglinfo: eglInitialize failed

X11 platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
EGL extensions string:
    EGL_EXT_create_context_robustness EGL_KHR_cl_event2
    EGL_KHR_config_attribs EGL_KHR_context_flush_control
    EGL_KHR_create_context EGL_KHR_create_context_no_error
    EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses
    EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image
    EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image
    EGL_KHR_gl_texture_cubemap_image EGL_KHR_image_base
    EGL_KHR_no_config_context EGL_KHR_reusable_sync
    EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float
    EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image
    EGL_MESA_query_driver
Configurations:
     bf lv colorbuffer dp st  ms    vis   cav bi  renderable  supported
  id sz  l  r  g  b  a th cl ns b    id   eat nd gl es es2 vg surfaces 
---------------------------------------------------------------------
0x01 32  0  8  8  8  8  0  0  0 0 0x21TC      a  y  y  y     win,pb,pix
0x02 32  0  8  8  8  8 16  0  0 0 0x21TC      a  y  y  y     win,pb,pix
0x03 32  0  8  8  8  8 24  0  0 0 0x21TC      a  y  y  y     win,pb,pix
0x04 32  0  8  8  8  8 24  8  0 0 0x21TC      a  y  y  y     win,pb,pix
0x05 32  0  8  8  8  8 32  0  0 0 0x21TC      a  y  y  y     win,pb,pix
0x06 32  0  8  8  8  8  0  0  4 1 0x21TC      a  y  y  y     win,pix
0x07 32  0  8  8  8  8 16  0  4 1 0x21TC      a  y  y  y     win,pix
0x08 32  0  8  8  8  8 24  0  4 1 0x21TC      a  y  y  y     win,pix
0x09 32  0  8  8  8  8 24  8  4 1 0x21TC      a  y  y  y     win,pix
0x0a 32  0  8  8  8  8 32  0  4 1 0x21TC      a  y  y  y     win,pix
0x0b 24  0  8  8  8  0  0  0  0 0 0x21TC      y  y  y  y     win,pb,pix
0x0c 24  0  8  8  8  0 16  0  0 0 0x21TC      y  y  y  y     win,pb,pix
0x0d 24  0  8  8  8  0 24  0  0 0 0x21TC      y  y  y  y     win,pb,pix
0x0e 24  0  8  8  8  0 24  8  0 0 0x21TC      y  y  y  y     win,pb,pix
0x0f 24  0  8  8  8  0 32  0  0 0 0x21TC      y  y  y  y     win,pb,pix
0x10 24  0  8  8  8  0  0  0  4 1 0x21TC      y  y  y  y     win,pix
0x11 24  0  8  8  8  0 16  0  4 1 0x21TC      y  y  y  y     win,pix
0x12 24  0  8  8  8  0 24  0  4 1 0x21TC      y  y  y  y     win,pix
0x13 24  0  8  8  8  0 24  8  4 1 0x21TC      y  y  y  y     win,pix
0x14 24  0  8  8  8  0 32  0  4 1 0x21TC      y  y  y  y     win,pix
0x15 32  0  8  8  8  8  0  0  0 0 0x22DC      a  y  y  y     win,pb,pix
0x16 32  0  8  8  8  8 16  0  0 0 0x22DC      a  y  y  y     win,pb,pix
0x17 32  0  8  8  8  8 24  0  0 0 0x22DC      a  y  y  y     win,pb,pix
0x18 32  0  8  8  8  8 24  8  0 0 0x22DC      a  y  y  y     win,pb,pix
0x19 32  0  8  8  8  8 32  0  0 0 0x22DC      a  y  y  y     win,pb,pix
0x1a 32  0  8  8  8  8  0  0  4 1 0x22DC      a  y  y  y     win,pix
0x1b 32  0  8  8  8  8 16  0  4 1 0x22DC      a  y  y  y     win,pix
0x1c 32  0  8  8  8  8 24  0  4 1 0x22DC      a  y  y  y     win,pix
0x1d 32  0  8  8  8  8 24  8  4 1 0x22DC      a  y  y  y     win,pix
0x1e 32  0  8  8  8  8 32  0  4 1 0x22DC      a  y  y  y     win,pix
0x1f 24  0  8  8  8  0  0  0  0 0 0x22DC      y  y  y  y     win,pb,pix
0x20 24  0  8  8  8  0 16  0  0 0 0x22DC      y  y  y  y     win,pb,pix
0x21 24  0  8  8  8  0 24  0  0 0 0x22DC      y  y  y  y     win,pb,pix
0x22 24  0  8  8  8  0 24  8  0 0 0x22DC      y  y  y  y     win,pb,pix
0x23 24  0  8  8  8  0 32  0  0 0 0x22DC      y  y  y  y     win,pb,pix
0x24 24  0  8  8  8  0  0  0  4 1 0x22DC      y  y  y  y     win,pix
0x25 24  0  8  8  8  0 16  0  4 1 0x22DC      y  y  y  y     win,pix
0x26 24  0  8  8  8  0 24  0  4 1 0x22DC      y  y  y  y     win,pix
0x27 24  0  8  8  8  0 24  8  4 1 0x22DC      y  y  y  y     win,pix
0x28 24  0  8  8  8  0 32  0  4 1 0x22DC      y  y  y  y     win,pix

Device platform:
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
EGL extensions string:
    EGL_EXT_buffer_age EGL_EXT_client_sync
    EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import
    EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export
    EGL_EXT_output_base EGL_EXT_output_drm EGL_EXT_protected_content
    EGL_EXT_stream_consumer_egloutput EGL_EXT_stream_acquire_mode
    EGL_EXT_sync_reuse EGL_IMG_context_priority EGL_KHR_config_attribs
    EGL_KHR_create_context_no_error EGL_KHR_context_flush_control
    EGL_KHR_create_context EGL_KHR_fence_sync
    EGL_KHR_get_all_proc_addresses EGL_KHR_partial_update
    EGL_KHR_swap_buffers_with_damage EGL_KHR_no_config_context
    EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image
    EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image
    EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base
    EGL_KHR_reusable_sync EGL_KHR_stream EGL_KHR_stream_attrib
    EGL_KHR_stream_consumer_gltexture EGL_KHR_stream_cross_process_fd
    EGL_KHR_stream_fifo EGL_KHR_stream_producer_eglsurface
    EGL_KHR_surfaceless_context EGL_KHR_wait_sync EGL_NV_nvrm_fence_sync
    EGL_NV_quadruple_buffer EGL_NV_stream_consumer_eglimage
    EGL_NV_stream_cross_display EGL_NV_stream_cross_object
    EGL_NV_stream_cross_process EGL_NV_stream_cross_system
    EGL_NV_stream_dma EGL_NV_stream_flush EGL_NV_stream_metadata
    EGL_NV_stream_remote EGL_NV_stream_reset EGL_NV_stream_socket
    EGL_NV_stream_socket_inet EGL_NV_stream_socket_unix
    EGL_NV_stream_sync EGL_NV_stream_fifo_next
    EGL_NV_stream_fifo_synchronous EGL_NV_stream_consumer_gltexture_yuv
    EGL_NV_stream_attrib EGL_NV_stream_origin EGL_NV_system_time
    EGL_NV_output_drm_flip_event EGL_NV_triple_buffer
Configurations:
     bf lv colorbuffer dp st  ms    vis   cav bi  renderable  supported
  id sz  l  r  g  b  a th cl ns b    id   eat nd gl es es2 vg surfaces 
---------------------------------------------------------------------
0x01 32  0  8  8  8  8 24  8  0 0 0x00--         y  y  y     pb,str
0x02 32  0  8  8  8  8 24  0  0 0 0x00--         y  y  y     pb,str
0x03 32  0  8  8  8  8  0  8  0 0 0x00--         y  y  y     pb,str
0x04 32  0  8  8  8  8  0  0  0 0 0x00--         y  y  y     pb,str
0x05 32  0  8  8  8  8 24  8  2 1 0x00--         y  y  y     pb,str
0x06 32  0  8  8  8  8 24  0  2 1 0x00--         y  y  y     pb,str
0x07 32  0  8  8  8  8  0  8  2 1 0x00--         y  y  y     pb,str
0x08 32  0  8  8  8  8  0  0  2 1 0x00--         y  y  y     pb,str
0x09 32  0  8  8  8  8 24  8  4 1 0x00--         y  y  y     pb,str
0x0a 32  0  8  8  8  8 24  8  4 1 0x00--         y  y  y     pb,str
0x0b 32  0  8  8  8  8 24  0  4 1 0x00--         y  y  y     pb,str
0x0c 32  0  8  8  8  8 24  0  4 1 0x00--         y  y  y     pb,str
0x0d 32  0  8  8  8  8  0  8  4 1 0x00--         y  y  y     pb,str
0x0e 32  0  8  8  8  8  0  8  4 1 0x00--         y  y  y     pb,str
0x0f 32  0  8  8  8  8  0  0  4 1 0x00--         y  y  y     pb,str
0x10 32  0  8  8  8  8  0  0  4 1 0x00--         y  y  y     pb,str
0x11 32  0  8  8  8  8 24  8  8 1 0x00--         y  y  y     pb,str
0x12 32  0  8  8  8  8 24  0  8 1 0x00--         y  y  y     pb,str
0x13 32  0  8  8  8  8  0  8  8 1 0x00--         y  y  y     pb,str
0x14 32  0  8  8  8  8  0  0  8 1 0x00--         y  y  y     pb,str
0x15 24  0  8  8  8  0 24  8  0 0 0x00--         y  y  y     pb,str
0x16 24  0  8  8  8  0 24  0  0 0 0x00--         y  y  y     pb,str
0x17 24  0  8  8  8  0  0  8  0 0 0x00--         y  y  y     pb,str
0x18 24  0  8  8  8  0  0  0  0 0 0x00--         y  y  y     pb,str
0x19 24  0  8  8  8  0 24  8  2 1 0x00--         y  y  y     pb,str
0x1a 24  0  8  8  8  0 24  0  2 1 0x00--         y  y  y     pb,str
0x1b 24  0  8  8  8  0  0  8  2 1 0x00--         y  y  y     pb,str
0x1c 24  0  8  8  8  0  0  0  2 1 0x00--         y  y  y     pb,str
0x1d 24  0  8  8  8  0 24  8  4 1 0x00--         y  y  y     pb,str
0x1e 24  0  8  8  8  0 24  8  4 1 0x00--         y  y  y     pb,str
0x1f 24  0  8  8  8  0 24  0  4 1 0x00--         y  y  y     pb,str
0x20 24  0  8  8  8  0 24  0  4 1 0x00--         y  y  y     pb,str
0x21 24  0  8  8  8  0  0  8  4 1 0x00--         y  y  y     pb,str
0x22 24  0  8  8  8  0  0  8  4 1 0x00--         y  y  y     pb,str
0x23 24  0  8  8  8  0  0  0  4 1 0x00--         y  y  y     pb,str
0x24 24  0  8  8  8  0  0  0  4 1 0x00--         y  y  y     pb,str
0x25 24  0  8  8  8  0 24  8  8 1 0x00--         y  y  y     pb,str
0x26 24  0  8  8  8  0 24  0  8 1 0x00--         y  y  y     pb,str
0x27 24  0  8  8  8  0  0  8  8 1 0x00--         y  y  y     pb,str
0x28 24  0  8  8  8  0  0  0  8 1 0x00--         y  y  y     pb,str
0x29 16  0  5  6  5  0 24  8  0 0 0x00--         y  y  y     pb,str
0x2a 16  0  5  6  5  0 24  0  0 0 0x00--         y  y  y     pb,str
0x2b 16  0  5  6  5  0 16  0  0 0 0x00--         y  y  y     pb,str
0x2c 16  0  5  6  5  0  0  8  0 0 0x00--         y  y  y     pb,str
0x2d 16  0  5  6  5  0  0  0  0 0 0x00--         y  y  y     pb,str
0x2e 16  0  5  6  5  0 24  8  2 1 0x00--         y  y  y     pb,str
0x2f 16  0  5  6  5  0 24  0  2 1 0x00--         y  y  y     pb,str
0x30 16  0  5  6  5  0 16  0  2 1 0x00--         y  y  y     pb,str
0x31 16  0  5  6  5  0  0  8  2 1 0x00--         y  y  y     pb,str
0x32 16  0  5  6  5  0  0  0  2 1 0x00--         y  y  y     pb,str
0x33 16  0  5  6  5  0 24  8  4 1 0x00--         y  y  y     pb,str
0x34 16  0  5  6  5  0 24  8  4 1 0x00--         y  y  y     pb,str
0x35 16  0  5  6  5  0 24  0  4 1 0x00--         y  y  y     pb,str
0x36 16  0  5  6  5  0 24  0  4 1 0x00--         y  y  y     pb,str
0x37 16  0  5  6  5  0 16  0  4 1 0x00--         y  y  y     pb,str
0x38 16  0  5  6  5  0 16  0  4 1 0x00--         y  y  y     pb,str
0x39 16  0  5  6  5  0  0  8  4 1 0x00--         y  y  y     pb,str
0x3a 16  0  5  6  5  0  0  8  4 1 0x00--         y  y  y     pb,str
0x3b 16  0  5  6  5  0  0  0  4 1 0x00--         y  y  y     pb,str
0x3c 16  0  5  6  5  0  0  0  4 1 0x00--         y  y  y     pb,str
0x3d 16  0  5  6  5  0 24  8  8 1 0x00--         y  y  y     pb,str
0x3e 16  0  5  6  5  0 24  0  8 1 0x00--         y  y  y     pb,str
0x3f 16  0  5  6  5  0 16  0  8 1 0x00--         y  y  y     pb,str
0x40 16  0  5  6  5  0  0  8  8 1 0x00--         y  y  y     pb,str
0x41 16  0  5  6  5  0  0  0  8 1 0x00--         y  y  y     pb,str

为了选择不是默认显示的适当设备,您必须首先枚举可用设备。这可以通过扩展来实现

这方面的一些示例代码可以在

#定义EGL\u EGLEXT\u原型
#包括
#包括
main()
{
静态常数int MAX_DEVICES=32;
EGLDeviceEXT eglDevs[最大设备];
EGLint numDevices;
PFNEGLQUERYDEVICESEXTPROC eglQueryDevicesEXT=
(PfNeglQueryDeviceExtProc)
eglGetProcAddress(“EGLQueryDeviceText”);
EGLQueryDeviceText(最大设备、EGLDEV和numDevices);
printf(“检测到%d个设备\n”,numDevices);
PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT=
(PFNEGLGETPLATFORMDISPLAYEXTPROC)
eglGetProcAddress(“eglGetPlatformDisplayEXT”);
有了手头的显示列表,如果允许在每个显示和探测上创建匹配的上下文,就可以对其进行迭代

EGLint attribs[] = {
    EGL_SURFACE_TYPE,
    EGL_PBUFFER_BIT,
    EGL_RENDERABLE_TYPE,
    EGL_OPENGL_ES2_BIT,
    EGL_RED_SIZE,   8,
    EGL_GREEN_SIZE, 8,
    EGL_BLUE_SIZE,  8,
    EGL_ALPHA_SIZE, 8,
    EGL_NONE,
};

EGLBoolean found = EGL_FALSE;
EGLConfig config;
int numconfig;
EGLDisplay eglDpy;
for( EGLint i = 0; (EGL_FALSE == found) && (i < numDevices); ++i ){
    eglDpy = eglGetPlatformDisplayEXT(
        EGL_PLATFORM_DEVICE_EXT, eglDevs[i], 0);

    found = eglChooseConfig(eglDpy, attribs, &config, 1, &numconfig); 
}
EGLint attribs[]={
EGL_表面_类型,
EGL_PBUFFER_位,
EGL_可渲染_类型,
EGL_OPENGL_ES2_位,
EGL_红色_尺寸,8,
EGL_绿色_尺寸,8,
EGL_蓝色_尺寸,8,
EGL_阿尔法_尺寸,8,
没有,
};
EGLBoolean found=EGL_FALSE;
EGLConfig配置;
int numconfig;
EGLDisplay eglDpy;
对于(EGLint i=0;(EGL_FALSE==found)和&(i

此时,您要么拥有有效的显示/配置,要么发现为false。

这是什么程序?在大多数情况下,EGL默认显示是驱动程序认为最合理的选择。要处理像您这样的情况,您必须使用所需配置迭代所有显示,并确定中间显示设置合适的显示和可用的显示。TTBT,这个API看起来很糟糕。@datenwolf-这有关系吗?这是找到显示的代码。如果你知道一些可以工作的代码,我想我可以修补它。谢谢你,很抱歉我迟才接受。我基本上完成了这项工作,但首先尝试默认显示(在工作案例中保留代码的现有行为)。
EGLint attribs[] = {
    EGL_SURFACE_TYPE,
    EGL_PBUFFER_BIT,
    EGL_RENDERABLE_TYPE,
    EGL_OPENGL_ES2_BIT,
    EGL_RED_SIZE,   8,
    EGL_GREEN_SIZE, 8,
    EGL_BLUE_SIZE,  8,
    EGL_ALPHA_SIZE, 8,
    EGL_NONE,
};

EGLBoolean found = EGL_FALSE;
EGLConfig config;
int numconfig;
EGLDisplay eglDpy;
for( EGLint i = 0; (EGL_FALSE == found) && (i < numDevices); ++i ){
    eglDpy = eglGetPlatformDisplayEXT(
        EGL_PLATFORM_DEVICE_EXT, eglDevs[i], 0);

    found = eglChooseConfig(eglDpy, attribs, &config, 1, &numconfig); 
}