Проблема с запуском Cobalt, собранного с конфигурацией linux-x64x11

Я пытаюсь запустить текущий ствол Cobalt (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 вернет 1 конфигурацию.

Но тогда он снова потерпит неудачу после вызова

eglCreateWindowSurface() 

в кобальт/рендерер/бэкэнд/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?


person lmilko    schedule 14.08.2017    source источник
comment
Cobalt 12.81256 хорошо работает на моей Ubuntu 16.04. Есть ли у вас какие-либо этапы воспроизведения?   -  person Daniel Juyung Seo    schedule 14.08.2017
comment
Я добавил командные строки сборки и командную строку запуска.   -  person lmilko    schedule 14.08.2017
comment
Существует существует зависимость от библиотек EGL и GLES, и проблема, скорее всего, связана с используемыми вами библиотеками EGL/GLES. Конкретные драйверы, которые вы используете, зависят от вашей видеокарты, но Mesa 3D предоставляет программную реализацию EGL/GLES, которая, как известно, работает с Cobalt: mesa3d.org/egl.html   -  person Andrew Top    schedule 17.08.2017


Ответы (1)


Проблема связана с тем, какие библиотеки 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

Кобальт заведется и будет работать.

Спасибо Даниилу и Андрею за помощь.

person lmilko    schedule 17.08.2017
comment
Спасибо, что поделились своим обновлением. Мой работает на mesa-egl по умолчанию, и именно поэтому он хорошо работает на моей машине. - person Daniel Juyung Seo; 17.08.2017