Всем привет.
В ubuntu 20.04 + buildroot-2020.02.2 юбут не собирается. Почемуто include/version.h забирается какой угодно, только не тот ч в убуте лежит. Я патч сделал, может пригодится кому. И почему-то файлы не прикрепляются
Я правильно понимаю, что без сборки на x64 архитектуре в качестве хостовой galcore работать нормально не будет? Я пробовал собрать buildroot-2019.02 на vm от buildroot-2017.08 - в /var/log/Xorg.0.log
[ 10.943] (II) VIVANTE(0): FB Start = 0x75d07000 FB Base = 0x75d07000 FB Offset = (nil)
[ 10.943] (II) VIVANTE(0): test Initializing EXA
[ 10.944] (EE) VIVANTE(0): internal error: GPU Ctx Init Failed
[ 10.944] (EE) VIVANTE(0): internal error: initExaLayer failed in VivScreenInit()
[ 10.944] (==) VIVANTE(0): Backing store enabled
[ 10.946] (==) VIVANTE(0): DPMS enabled
[ 10.946] (II) VIVANTE(0): RandR 1.2 enabled, ignore the following RandR disabled message.
[ 11.134] (EE) VIVANTE(0): [dri] VivDRIScreenInit failed because Drm can't be opened.
[ 11.134] (--) RandR disabled
[ 11.164] (II) SELinux: Disabled on system
[ 11.168] (II) AIGLX: Screen 0 is not DRI2 capable
[ 11.168] (EE) AIGLX: reverting to software rendering
Это под Debian 9. Пробовал обновиться до Debian 10, пересобирал galcore прям на iMX6, vivante_drv.so тоже на нём - всё равно (как текущие, так и самые на текущий момент свежие)
[ 10.944] (EE) VIVANTE(0): internal error: GPU Ctx Init Failed
[ 10.944] (EE) VIVANTE(0): internal error: initExaLayer failed in VivScreenInit()
Изображение есть, но вот Qt5 падает с segfault. В strace видно это:
/dev/galcore Inappropriate ioctl for device)
Подскажите, пожалуйста, как мне собрать ядро и модули так, чтобы ускорение заработало?
На buildroot-2017.08 ускорение работает, приложение запускается, однако тачскрин отстреливает в Xorg:
[ 1079.605] (II) input device 'ADS7846 Touchscreen', /dev/input/event0 is tagged by udev as: Touchscreen
[ 1079.605] (EE) kernel bug: Device 'ADS7846 Touchscreen' has min == max on ABS_PRESSURE
[ 1079.605] (II) input device 'ADS7846 Touchscreen', /dev/input/event0 was rejected.
Но на buildroot-2019.02 он работает отлично. Кажется, я делаю что-то не так: на 4.1.15 ядре работает ускорение, но не работает тач, на 4.14.78 наоборот: не работает ускорение, но работает так. Мне не важно, на какой из версий ядер, но хочется, чтобы и то, и то работало одновременно.
Методом проб и ошибок понял, что единственный galcore.ko, который способен работать под debian 9 - это модуль из архива по ссылке http://starterkit.ru/html/index.php?name=forum&op=view&id=28748#28793 Но этот модуль только для 4.1.15. А вот как он был получен - у меня идей нет. Пробовал собирать его на виртуалке вместе с buildboot - получал модуль размером в 200+ KIB, который падает с
Пробовал много разных версий. Этот хотя бы грузится.
Попробовал установить через dkms модуль от boundarydevices прям на iMX6, подложил как build папку linux-custom с buildroot - собирается, но при попытке modprobe ругается на Exec format, в dmesg это: galcore: disagrees about version of symbol module_layout. Если подхачить версию module_layout через hexdump, то ругается на портянку Unknown symbol и disagrees about version of symbol. Причём dkms собирает и armv7l, и armhf, причём они имеют одинаковую хешсумму.
@sasamy , очень нужна помощь - как собрать galcore так, чтобы его 4.14.78 debian 9 скушал? В вашем архиве собран Galcore версии 6.2.2.93313, если что.
Мне эта задача кажется реалистичнее, чем починить драйвер тача...
поменять ядро не просто потому что кроме ядра у GPU драйвер еще в юзерспейс - это библиотеки opengl, они закрытые и привязаны к определенной версии драйвера в ядре.
не знаю какая у вас плата - добавьте в DTS в описании тачскрина выделенный текст