Warning: touch() [function.touch]: Unable to create file /home/starterkit/starterkit.ru/html/error.log because Permission denied in /home/starterkit/starterkit.ru/html/errorhandler.php on line 51
Не запускается приложение Qt на iMX6 - Embedded Linux - Форум - starterkit.ru
Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
Не запускается приложение Qt на iMX6
Alex61RUS
Добавлено 15.08.2019 14:10
0
Сообщение: 1
Alex61RUS
5

Пункты: 3161
Регистрация: 30.05.2014
Пол: Мужчина
Исходные данные:
- модуль IMX6SODIMM
- buildroot-2017.08 на базе ядра 4.1.15-2.1.0

Если запускать приложение вручную, после входа в систему root/root, всё отлично запускается.
Если же запускать через автозапуск, с помощью скрипта, то выдаётся вот такое сообщение:
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
EGL library doesn't support Emulator extensions
Aborted
Первая часть сообщения QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' появляется и при ручном запуске. А вот вторая часть - EGL library doesn't support Emulator extensions Aborted, только при автозапуске.
Может кто-нибудь сталкивался с подобным?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 15.08.2019 21:08 Сообщение: 2
sasamy
4.70

Пункты: 76182
Регистрация: 14.08.2009
Цитата

Если запускать приложение вручную, после входа в систему root/root, всё отлично запускается.
Если же запускать через автозапуск, с помощью скрипта, то выдаётся вот такое сообщение


При запуске из скрипта не установлены переменные окружения нужные для Qt. Добавьте их экспорт в свой скрипт перед запуском приложения

export LANG=ru_RU.UTF-8
export TSLIB_TSDEVICE=/dev/input/event0
export FB_MULTI_BUFFER=2

export QT_GSTREAMER_CAMERABIN_VIDEOSRC="imxv4l2videosrc"
export QT_QPA_EGLFS_TSLIB=1
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event0
export QT_QPA_PLATFORM=eglfs
export QT_QPA_EGLFS_INTEGRATION=eglfs_viv

при логине они эксорптируются из файла

/etc/profile.d//profile.sh
Спуститься к концу Подняться к началу
Персональная информация
Alex61RUS
Добавлено 16.08.2019 09:45 Редактировалось 16.08.2019 10:14 Сообщение: 3
Alex61RUS
5

Пункты: 3161
Регистрация: 30.05.2014
Пол: Мужчина
Цитата
Цитата

Если запускать приложение вручную, после входа в систему root/root, всё отлично запускается.
Если же запускать через автозапуск, с помощью скрипта, то выдаётся вот такое сообщение


При запуске из скрипта не установлены переменные окружения нужные для Qt. Добавьте их экспорт в свой скрипт перед запуском приложения

export LANG=ru_RU.UTF-8
export TSLIB_TSDEVICE=/dev/input/event0
export FB_MULTI_BUFFER=2

export QT_GSTREAMER_CAMERABIN_VIDEOSRC="imxv4l2videosrc"
export QT_QPA_EGLFS_TSLIB=1
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event0
export QT_QPA_PLATFORM=eglfs
export QT_QPA_EGLFS_INTEGRATION=eglfs_viv

при логине они эксорптируются из файла

/etc/profile.d//profile.sh


Эти переменные окружения я уже экспортировал, их список взял из скрипта /etc/profile.d/rofile.sh, но это не помогло.
Также попробовал сделать автологин через inittab, добавив console::respawn:/bin/login -f root. Тоже не помогло.

Запускаю своё приложение с помощью скрипта python:
Код
import os
os.system("export LANG=ru_RU.UTF-8")
os.system("export TSLIB_TSDEVICE=/dev/input/event0")
os.system("export FB_MULTI_BUFFER=2")
os.system('export QT_GSTREAMER_CAMERABIN_VIDEOSRC="imxv4l2videosrc"')
os.system("export QT_QPA_EGLFS_TSLIB=1")
os.system("export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event0")
os.system("export QT_QPA_PLATFORM=eglfs")
os.system("export QT_QPA_EGLFS_INTEGRATION=eglfs_viv")
os.system("./opt/QTBNT/bnt")


И даже если я вместо вызова своей программы буду пытаться запустить:
Код
os.system("./usr/bin/qtdiag")

Всё равно выдаётся одна и таже ошибка.
Спуститься к концу Подняться к началу
Персональная информация
Alex61RUS
Добавлено 16.08.2019 11:18 Сообщение: 4
Alex61RUS
5

Пункты: 3161
Регистрация: 30.05.2014
Пол: Мужчина
Удалось запустить каким-то необъяснимым путём:
Код
os.system("QT_QPA_PLATFORM=eglfs QT_QPA_EGLFS_INTEGRATION=eglfs_viv ./opt/QTBNT/bnt")


При этом передача переменных окружения через export не работает.
Спуститься к концу Подняться к началу
Персональная информация
Alex61RUS
Добавлено 22.08.2019 18:10 Сообщение: 5
Alex61RUS
5

Пункты: 3161
Регистрация: 30.05.2014
Пол: Мужчина
На этом проблемы с запуском не закончились. Приложение запускается, но делает это очень медленно.
Если перезагрузить устройство, войти под root/root и подождать около одной минуты, а затем запустить приложение, то на отрисовку первой формы тратится не более 3 секунд.
Если же перезагрузить устройство, войти под root/root и ничего ждать, сразу запустить приложение, то на отрисовку первой формы тратится около 60 секунд.
В какую сторону копать?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 22.08.2019 20:14 Сообщение: 6
sasamy
4.70

Пункты: 76182
Регистрация: 14.08.2009
Цитата

Если же перезагрузить устройство, войти под root/root и ничего ждать, сразу запустить приложение, то на отрисовку первой формы тратится около 60 секунд.


тут описано как решить эту проблему

http://www.starterkit.ru/html/index.php?name=forum&op=view&id=29110#29115
Спуститься к концу Подняться к началу
Персональная информация
Alex61RUS
Добавлено 23.08.2019 09:41 Сообщение: 7
Alex61RUS
5

Пункты: 3161
Регистрация: 30.05.2014
Пол: Мужчина
Цитата
Цитата

Если же перезагрузить устройство, войти под root/root и ничего ждать, сразу запустить приложение, то на отрисовку первой формы тратится около 60 секунд.


тут описано как решить эту проблему

http://www.starterkit.ru/html/index.php?name=forum&op=view&id=29110#29115

Спасибо за подсказку. С новыми устройствами так и сделаю. Но есть одна проблема - так получилось, что у меня уже эксплуатируется большое количество устройств, в которых нет возможности обновить всю КФС. Нет ли какого-нибудь способа решить эту проблему путём редактирования файлов на устройстве без 2перезаливки" образа?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 23.08.2019 22:02 Сообщение: 8
sasamy
4.70

Пункты: 76182
Регистрация: 14.08.2009
Цитата
Нет ли какого-нибудь способа решить эту проблему путём редактирования файлов на устройстве без 2перезаливки" образа?


нужно заменить ядро и драйверы - простым редактированием чего-то на уже работающей системе ничего не сделать.
Спуститься к концу Подняться к началу
Персональная информация
Alex61RUS
Добавлено 24.08.2019 11:30 Сообщение: 9
Alex61RUS
5

Пункты: 3161
Регистрация: 30.05.2014
Пол: Мужчина
Цитата
Цитата
Нет ли какого-нибудь способа решить эту проблему путём редактирования файлов на устройстве без 2перезаливки" образа?


нужно заменить ядро и драйверы - простым редактированием чего-то на уже работающей системе ничего не сделать.


Этот способ применю только в самом крайнем случае. Сейчас пробую каким-то образом сгенерировать events, например приём из com-порта или нажатия кнопок мыши, для ускорения работы random.
Спуститься к концу Подняться к началу
Персональная информация
Тензо-М
Добавлено 12.09.2019 18:33 Сообщение: 10
Тензо-М
0

Пункты: 855
Регистрация: 06.06.2016
Добрый день! Столкнулась с такой же ошибкой при автозапуске приложения: egl library doesn't support emulator extensions aborted. Подчеркну также, что при ручном запуске уже после загрузки ОС такой ошибки нет. Необходимые переменные в файле profile.sh есть. В том числе QT_QPA_EGLFS_INTEGRATION=eglfs_viv. Что делать? Не очень бы хотелось писать питоновский скрипт, чтобы запустить свое приложение... спасибо!
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux