使用 linux-x64x11 配置构建的 运行 Cobalt 问题
Issue with running Cobalt built with linux-x64x11 config
我正在尝试 运行 当前 Cobalt t运行k (12.81256) Ubuntu 16.04。但它失败了:
[0814/100203:FATAL:graphics_system.cc(130)] Check failed: 1 == num_configs (1 vs. 0)
base::debug::StackTrace::StackTrace() [0x1f6202d]
logging::LogMessage::~LogMessage() [0x1f5fe99]
cobalt::renderer::backend::GraphicsSystemEGL::GraphicsSystemEGL() [0x67e5bdd]
cobalt::renderer::backend::CreateDefaultGraphicsSystem() [0x67e549e]
cobalt::renderer::RendererModule::Resume() [0x67dbe65]
cobalt::renderer::RendererModule::RendererModule() [0x67db776]
cobalt::browser::BrowserModule::BrowserModule() [0x1ce38c3]
cobalt::browser::Application::Application() [0x1cb71a5]
cobalt::browser::ApplicationStarboard::ApplicationStarboard() [0x1cb09c7]
cobalt::browser::CreateApplication() [0x1cb072e]
(anonymous namespace)::StartApplication() [0x1caef05]
cobalt::wrap_main::BaseEventHandler<>() [0x1cae9af]
SbEventHandle [0x1cae225]
starboard::shared::starboard::Application::DispatchAndDelete() [0x214dc7e]
starboard::shared::starboard::Application::DispatchStart() [0x214c07e]
starboard::shared::starboard::Application::Run() [0x214b8b7]
main [0x2120f95]
<unknown> [0x7f864632f830]
_start [0x1bd6029]
_start [0x1bd6029]
我发现 EGL 配置问题来自于使用:
EGL_BIND_TO_TEXTURE_RGBA, EGL_TRUE
没有它 eglChooseConfig 将 return 1 个配置。
但是在调用
之后它又会失败
eglCreateWindowSurface()
在cobalt/renderer/backend/egl/display.cc
[0814/111151:FATAL:display.cc(53)] Check failed: 0x3000 == eglGetError() (12288 vs. 12297)
因为这是 EGL_BAD_MATCH 错误,所以选择的 EGL 配置不好,但原来的也不是。
我尝试设置
'gl_type%': 'system_gles2',
在 starboard/linux/shared/gyp_configuration.gypi 中,但结果相同。
我是不是漏掉了什么?
重现崩溃的步骤:
建造:
cobalt/build/gyp_cobalt -C debug linux-x64x11
ninja -C out/linux-x64x11_debug cobalt
运行:
./out/linux-x64x11_debug/cobalt
是否可能依赖于 EGL 或 GLES 库?
问题与使用的 libEGL 和 libGLES 库有关。
我的系统使用了以下库:
libEGL.so.1 => /usr/lib/nvidia-375/libEGL.so.1 (0x00007f66bbebc000)
libGLESv2.so.2 => /usr/lib/nvidia-375/libGLESv2.so.2 (0x00007f66bbcad000)
使用 mesa 中的库时:
LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa-egl ./cobalt
Cobalt 将开始工作。
感谢 Daniel 和 Andrew 的帮助。
我正在尝试 运行 当前 Cobalt t运行k (12.81256) Ubuntu 16.04。但它失败了:
[0814/100203:FATAL:graphics_system.cc(130)] Check failed: 1 == num_configs (1 vs. 0)
base::debug::StackTrace::StackTrace() [0x1f6202d]
logging::LogMessage::~LogMessage() [0x1f5fe99]
cobalt::renderer::backend::GraphicsSystemEGL::GraphicsSystemEGL() [0x67e5bdd]
cobalt::renderer::backend::CreateDefaultGraphicsSystem() [0x67e549e]
cobalt::renderer::RendererModule::Resume() [0x67dbe65]
cobalt::renderer::RendererModule::RendererModule() [0x67db776]
cobalt::browser::BrowserModule::BrowserModule() [0x1ce38c3]
cobalt::browser::Application::Application() [0x1cb71a5]
cobalt::browser::ApplicationStarboard::ApplicationStarboard() [0x1cb09c7]
cobalt::browser::CreateApplication() [0x1cb072e]
(anonymous namespace)::StartApplication() [0x1caef05]
cobalt::wrap_main::BaseEventHandler<>() [0x1cae9af]
SbEventHandle [0x1cae225]
starboard::shared::starboard::Application::DispatchAndDelete() [0x214dc7e]
starboard::shared::starboard::Application::DispatchStart() [0x214c07e]
starboard::shared::starboard::Application::Run() [0x214b8b7]
main [0x2120f95]
<unknown> [0x7f864632f830]
_start [0x1bd6029]
_start [0x1bd6029]
我发现 EGL 配置问题来自于使用:
EGL_BIND_TO_TEXTURE_RGBA, EGL_TRUE
没有它 eglChooseConfig 将 return 1 个配置。
但是在调用
之后它又会失败eglCreateWindowSurface()
在cobalt/renderer/backend/egl/display.cc
[0814/111151:FATAL:display.cc(53)] Check failed: 0x3000 == eglGetError() (12288 vs. 12297)
因为这是 EGL_BAD_MATCH 错误,所以选择的 EGL 配置不好,但原来的也不是。
我尝试设置
'gl_type%': 'system_gles2',
在 starboard/linux/shared/gyp_configuration.gypi 中,但结果相同。
我是不是漏掉了什么?
重现崩溃的步骤:
建造:
cobalt/build/gyp_cobalt -C debug linux-x64x11
ninja -C out/linux-x64x11_debug cobalt
运行:
./out/linux-x64x11_debug/cobalt
是否可能依赖于 EGL 或 GLES 库?
问题与使用的 libEGL 和 libGLES 库有关。
我的系统使用了以下库:
libEGL.so.1 => /usr/lib/nvidia-375/libEGL.so.1 (0x00007f66bbebc000)
libGLESv2.so.2 => /usr/lib/nvidia-375/libGLESv2.so.2 (0x00007f66bbcad000)
使用 mesa 中的库时:
LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa-egl ./cobalt
Cobalt 将开始工作。
感谢 Daniel 和 Andrew 的帮助。