BeagleBone Black не может запустить wpewebkit - PullRequest
0 голосов
/ 23 января 2020

Я новичок во встроенных linux и графическом стеке в linux. Итак, мы пытаемся запустить wpewebkit (с cog) с пользовательским ядром на Beaglebone Black.

Проблема в том, что cog не запускается:

EGLDisplay Initialization failed: EGL_NOT_INITIALIZED

Мы пробовали 2 сценария ios:

  1. Запуск cog с помощью "cog -P drm-экспериментальный"
  2. Запуск "weston --tty = 1 --backend = drm-backends.so" и " cog -P fdo "

В последнем сценарии мы заметили, что при запуске weston мы получаем другое сообщение из библиотеки mesa (потом запускается weston, и мы видим рабочий стол weston / wayland на нашей панели TFT):

mesa-loader: failed to open tilcdc (search paths /usr/lib/dri)
failed to load driver: tilcdc

При исследовании сообщения «Не удалось загрузить драйвер: tilcd c» я обнаружил эту тему на форумах TI:

Сотрудник TI говорит что нужны пакеты "ti-gfx" и "ti-sgx-km". Я пытался добавить его через конфигурацию ядра Linux, но у меня не было выбора. Затем я заглянул в конфигурацию Build root и обнаружил, что пакет "ti-sgx-km" есть, но он зависит от сборки ядра Linux внутри сборки root.

с использованием ядра TI как и в beaglebone_qt5_defconfig, мы застряли в процессе сборки, где ядро ​​TI Linux имело только заголовки компилятора до gcc5, а wpewebkit требовался минимум gcc6. Затем мы попытались настроить сборку root для использования репозитория "https://github.com/beagleboard/linux.git" в качестве источника ядра и запустили процесс сборки. Но при сборке модуля "ti-sgx-km" выдается ошибка:

./include/linux/timer.h: In function ‘timer_setup’:
./include/linux/timer.h:179:23: error: cast between incompatible function types from ‘void (*)(struct timer_list *)’ to ‘void (*)(long unsigned int)’ [-Werror=cast-function-type]
  __setup_timer(timer, (TIMER_FUNC_TYPE)callback

Мой вывод таков: для правильной инициализации egl нам нужен пакет "ti-sgx", поэтому я нужно как-то добавить это к моему ядру. Если это так, то как мне найти правильный репозиторий ядра, который имеет заголовки компилятора для> = gcc6 и совместимый «пакет ti-sgx-km»

Может быть, я что-то упускаю. Так что любые рекомендации приветствуются.

Версии пакета

cog             0.3.0       0.4.0   (Scenario 1) 
libwpe          1.2.0       1.4.0.1
wpewebkit       2.24.2      2.24.2
wpebackend-fdo  1.2.1       1.4.0

mesa3d  19.0.8
wayland 1.17.0
weston  rel_imx_4.9.51_8mq_ga

Linux kernel:
https://github.com/beagleboard/linux.git (branch 4.14)
make bb.org_defconfig
make menuconfig
make

Buildroot:
git://git.buildroot.net/buildroot (branch master)
make beaglebone_defconfig
make menuconfig
make
...