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 приложений - 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

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

Ник:
Пароль:

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

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

Пункты: 1155
Регистрация: 21.05.2015
Добрый день.
Может не по теме форума...

Работаю с "buildroot-2021.05 на базе ядра 5.10.9 для i.mx8"
Конфигурация "sk_qt5_defconfig - gstreamer, qt5 и Weston"

При отрисовке окон Qt приложений, окна отображаются без рамки, без тени. Если одно окно накладывается на другое, то фоны сливаются и не видно границ верхнего окна. При этом программа терминала отображается и с границами окна, и с тенью.
Я так понимаю, что вывод через weston+wayland.
Что здесь можно сделать? Может что-то в Qt проекте надо прописать?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 23.12.2021 16:18 Редактировалось 23.12.2021 16:18 Сообщение: 2
sasamy
4.70

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

При отрисовке окон Qt приложений, окна отображаются без рамки, без тени.


примеры из Qt тоже так отображаются?

/usr/lib/qt/examples

Я такого не припоминаю, у себя проверить могу поздней.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 23.12.2021 20:22 Редактировалось 23.12.2021 23:51 Сообщение: 3
sasamy
4.70

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

При отрисовке окон Qt приложений, окна отображаются без рамки, без тени.


собрал у себя - понял о чём речь, к сожалению не знаю как это исправить - декорации для окон рисует сама qt, если отключить

export QT_WAYLAND_DISABLE_WINDOWDECORATION=1

декораций окна нет, похоже weston просто не умеет декорировать окна

https://www.reddit.com/r/linuxquestions/comments/7zo71x/can_i_customize_westons_window_decorations/

а терминал сам рисует декорации используя тулкит

https://gitlab.freedesktop.org/wayland/weston/-/issues/266
Спуститься к концу Подняться к началу
Персональная информация
_TsM_
Добавлено 24.12.2021 08:39 Редактировалось 25.01.2022 09:18 Сообщение: 4
_TsM_
0

Пункты: 1155
Регистрация: 21.05.2015
Добрый день!
Возникла необходимость собрать что-то подобное на Buildroot 2021.08 для SK-iMX6D-SODIMM, т.е. Qt + wayland + weston + DRM compositor. В целом стоит задача получить нормально декорированные окна для пользовательского интерфейса.
За основу взял конфигурацию sk_gst_qt5_defconfig. По аналогии с конфигурацией для iMX8 сделал донастройки:
в Qt: qt5wayland, активировал weston (default compositor DRM), в Freescale i.MX libraries Output option (Wayland).
Для того чтобы собрался DRM пришлось включить в mesa3d DRI + gbm. Сборка прошла.
Добавил скрипт автозапуска weston. Конфигурацию weston взял один в один с Buildroot 2021 для iMX8.
В результате weston не стартует, в файле лога вижу следующее:

[00:00:05.419] weston 9.0.0
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 9.0.0
[00:00:05.420] Command line: weston --tty=2 --log=/tmp/weston.log --config=/etc/xdg/weston/weston.ini
[00:00:05.420] OS: Linux, 5.10.9+g32513c25d8c7, #1 SMP PREEMPT Fri Jan 21 12:15:06 MSK 2022, armv7l
[00:00:05.420] warning: XDG_RUNTIME_DIR "/tmp" is not configured
correctly. Unix access mode must be 0700 (current mode is 777),
and must be owned by the user (current owner is UID 0).
Refer to your distribution on how to get it, or
http://www.freedesktop.org/wiki/Specifications/basedir-spec
on how to implement it.
[00:00:05.427] Using config file '/etc/xdg/weston/weston.ini'
[00:00:05.429] Output repaint window is 7 ms maximum.
[00:00:05.431] Loading module '/usr/lib/libweston-9/drm-backend.so'
[00:00:05.439] initializing drm backend
[00:00:05.441] no drm device found
[00:00:05.555] fatal: failed to create compositor backend

На экране монитора (HDMI 1920x1080) на черном фоне отображается строка:
Internal warning: debug scope 'drm-backend' has not been destroyed.

GUI приложения Qt запускаются без заголовков окон, ну и вид остальных элементов оставляет желать лучшего.
Что дальше с этим делать не понятно.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux