Russian Qt Forum

Qt => Qt Embedded => Тема начата: ритт от Июнь 26, 2011, 10:23



Название: Qt 4.8 / QNX 6.5
Отправлено: ритт от Июнь 26, 2011, 10:23
недавно в ветке 4.8 появились патчи для улучшения поддержки QNX...
мне нужно протестировать ещё один патчик на железке, а кард-ридер сдох ((
есть желающие помочь?


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: lesav от Июнь 27, 2011, 12:15
Готов присоедениться! )))


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: ритт от Июнь 27, 2011, 20:29
есть QNX 6.5.х, железка и опыт сборки под неё?


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: lesav от Июнь 27, 2011, 20:46
QT 4.8 не собирал.


Опыт опыт сборки только Qt 4.7   Железка есть c QNX650 см. пост на qnx.org.ru (http://qnx.org.ru/forum/index.php?topic=6593.msg54903#msg54903) 
Могу протестить на atom-n270 от IEI (http://www.ieiworld.com/product_groups/industrial/content.aspx?gid=00001000010000000001&cid=08141334500193360443&id=08302414823574478804) 
Можно попробовать запустить на CPC106 от FASTWEL, но все зависит от свободного времени.


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: ритт от Июнь 28, 2011, 10:19
мир тесен))

для начала нужно склонировать репо Qt
Цитировать
git clone git://gitorious.org/qt/qt.git
(там будет много - не пугайтесь) )
создать себе ветку для экспериментов и перейти на неё
Цитировать
cd qt && git checkout -b 4.8-qnx origin/4.8
наложить патчики из вложения
Цитировать
patch -Np1 -i ../qtqnx65_javascriptcore.diff
patch -Np1 -i ../qtqnx65_webkit.dif
(патчи тестировались на 4.7.х, но должны подойти и сюда)

кросс-сборка под вендой - дело неблагодарное;
для кросс-сборки под лялихом я себе сделал скриптик примерно такой:
Цитировать
export HOST_PLATFORM = linux-g++
export TARGET_PLATFORM = unsupported/qws/qnx-armv7-g++ # qnx-armv7-g++ / qnx-arm-g++ / qnx-ppc-g++ / qnx-i386-g++
export EMBEDDED = armv6 # armv6 / arm / ppc / x86
export ENDIAN = little # little / big

export QTDIR=`pwd`
export QMAKESPEC=$QTDIR/$HOST_PLATFORM

./configure -platform $HOST_PLATFORM -xplatform $TARGET_PLATFORM -embedded $EMBEDDED -$ENDIAN-endian \
-opensource -confirm-license \
-no-gfx-linuxfb -no-mouse-linuxtp -no-kbd-tty -qt-gfx-qnx -qt-mouse-qnx -qt-kbd-qnx -depths 16,24,32,generic \
-freetype -webkit -xmlpatterns -plugin-sql-sqlite -no-qt3support -exceptions && \
make
(но лучше, конечно, делать теневую сборку - дабы не загаживать дерево)

и устанавливаем (нужен SDP в PATH и привилегии рута):
Цитировать
sudo /bin/sh
export PATH=$PATH:/opt/qnx650/host/linux/x86/usr/bin:/opt/qnx650/host/linux/armle-v7/usr/bin
make install
(пути заменить на свои :) )

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

для запуска пользую скриптик runqtdemo:
Цитировать
#!/bin/sh

export QT_ROOT=/usr/local/Trolltech/QtEmbedded-4.8.0
export PATH=$PATH:$QT_ROOT/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QT_ROOT/lib
export XDG_CONFIG_HOME=/var/qt-config

export QWS_DISPLAY=qnx
export QWS_KEYBOARD=qnx
export QWS_MOUSE_PROTO=qnx

/usr/photon/bin/devi-hid -Pr kbd mouse
qtdemo -qws -no-adapt -fullscreen
slay -f -9 devi-hid
sleep 1
/usr/photon/bin/devi-hid kbd mouse

если есть возможность, соберите в дэбаг_и_релиз на arm/armv7 - мне потом может понадобиться вменяемый бэктрейс, если патч не поможет
вроде бы, всё...

для полноты картины опишу наиболее важные изменения в порте:
* добавлена поддержка процессов (QProcess)
* поддержка IPC (QSystemSemaphore/QSharedMemory) и связанных с ними фич
* сильно переработан драйвер экрана - клиент-серверный режим QWS, улучшена поддержка настроек WxHxD экрана (в т.ч. исправлены и проблемы, описанные в посте на qnx.org.ru (http://qnx.org.ru/forum/index.php?topic=6593.msg54903#msg54903)), базовая поддержка DPMS и т.д.
* сильно переработан драйвер указателя - работает быстрее, лагает меньше, кнопки не забывает, поддерживает тачскрины
* чуть ли не полностью переписан драйвер клавиатуры - поддерживаются все коды из 6.5, по идее должны корректно обрабатываться не-латинские раскладки (не тестировалось)
(более полный список можно найти в истории коммитов ветки 4.8)


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: AG от Июнь 28, 2011, 18:12
А ты накладывал патчи, лежащие на Foundry27?


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: ритт от Июнь 28, 2011, 18:20
А ты накладывал патчи, лежащие на Foundry27?
а можно хотя бы немного уточнить? )


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: AG от Июнь 28, 2011, 19:56
У QSSL есть свой проект по портированию Qt на QNX 6.5.0..
http://community.qnx.com/sf/projects/qt

Глупо, конечно, но чтоб получить доступ к коду их порта нужно у них зарегистрироваться. Если доступ есть, то можно посмотреть что они там наизменяли...
http://community.qnx.com/integration/viewvc/viewvc.cgi/src/qt-qnx-4.7.1/?root=qt_qnx&system=exsy1001


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: ритт от Июнь 28, 2011, 21:23
я так понимаю, что обе ссылки ведут на один и тот же проект/кодовую базу - правильно?

Глупо, конечно, но чтоб получить доступ к коду их порта нужно у них зарегистрироваться. Если доступ есть, то можно посмотреть что они там наизменяли...
http://community.qnx.com/integration/viewvc/viewvc.cgi/src/qt-qnx-4.7.1/?root=qt_qnx&system=exsy1001

вполне даже "в стиле"...


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: lesav от Июнь 28, 2011, 21:57
Да.  Вторая ссылка ведет на /src/qt-qnx-4.7.1  в репозиторий svn


Если доступ есть, то можно посмотреть что они там наизменяли...
А изменений очень много.   Основная часть коммитов касаются кросс компиляции qt-qnx-4.7.1. Но, если покопать историю, можно найти и интересные изменения.


для начала нужно склонировать репо Qt
Цитировать
git clone git://gitorious.org/qt/qt.git
В процессе.  Запустил клонирование на ночь.  Утром просигналю о результатах...


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: ритт от Июнь 28, 2011, 22:21
Если доступ есть, то можно посмотреть что они там наизменяли...
А изменений очень много.   Основная часть коммитов касаются кросс компиляции qt-qnx-4.7.1. Но, если покопать историю, можно найти и интересные изменения.
гораздо интереснее покопать историю изменений в 4.8. честно  ;)

для начала нужно склонировать репо Qt
Цитировать
git clone git://gitorious.org/qt/qt.git
В процессе.  Запустил клонирование на ночь.  Утром просигналю о результатах...
там на пару часов делов всего...собираться будет дольше


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: lesav от Июнь 29, 2011, 08:38
там на пару часов делов всего...собираться будет дольше

У меня нет возможности скачать репозиторий qt на работе (ин-нета нет)!  Только дома, и на 1 мегабите.
git провисел всю ночь и ничего не скачал. А в начале вообще не хотел соединятся.

c:\git-qt>git clone git://gitorious.org/qt/qt.git
Cloning into qt...
gitorious.org[0: 87.238.52.168]: errno=No error
fatal: unable to connect a socket (No error)

c:\git-qt>git clone git://gitorious.org/qt/qt.git
Cloning into qt... (так продолжалось 8 часов)



У Вас есть возможность выложить на файлообмен клон  ?


PS   Все никак не могу пересесть на git, сказывается долгое сидение на svn-е.   Многое пока не понятно, надеюсь что вскоре освою...


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: asvil от Июнь 29, 2011, 11:46
git clone --depth 1 git://gitorious.org/qt/qt.git

Зальет последние коммиты только


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: ритт от Июнь 29, 2011, 17:49
c:\git-qt>git clone git://gitorious.org/qt/qt.git
Cloning into qt... (так продолжалось 8 часов)
странно. у меня вчера проблем с гиториоусом не было.
попробуйте на всякий случай обновить git?


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: AG от Июнь 29, 2011, 17:54
c:\git-qt>git clone git://gitorious.org/qt/qt.git
Cloning into qt... (так продолжалось 8 часов)
странно. у меня вчера проблем с гиториоусом не было.
попробуйте на всякий случай обновить git?

Полный чекаут, точнее, чекаут всего репозитория, что именно и происходит в данном случае, может занимать ооооочень много времени, в зависимости от ширины тонкости канала и быстроты медленности компа.


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: lesav от Июнь 29, 2011, 18:34
Код:
c:\git-qt>git clone git://gitorious.org/qt/qt.git
Cloning into qt...
remote: Counting objects: 604728, done.
remote: Compressing objects: 100% (117634/117634), done.
Receiving objects:   2% (15967/604728), 4.18 MiB | 112 KiB/s


процесс пошел....


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: ритт от Июнь 29, 2011, 20:34
c:\git-qt>git clone git://gitorious.org/qt/qt.git
Cloning into qt... (так продолжалось 8 часов)
странно. у меня вчера проблем с гиториоусом не было.
попробуйте на всякий случай обновить git?

Полный чекаут, точнее, чекаут всего репозитория, что именно и происходит в данном случае, может занимать ооооочень много времени, в зависимости от ширины тонкости канала и быстроты медленности компа.
ну, дык, я вчера обновлял репо вэбкита - там обновок гига на полтора было...


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: ритт от Июнь 30, 2011, 03:12
только что закончил сборку и беглое тестирование webkit 2.2 (будет включён в Qt 4.8.0) на QNX 6.5/x86
в идеале проверить бы ещё и работоспособность webkit 2.2 с моими патчами на arm/armv7...
опять-таки, есть добровольцы?) тут чуть проще - я могу сделать кросс-сборку против 4.8 на днях и закинуть куда-нибудь бинарники, ибо клонировать репо вэбкита на узком канале - это ой


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: AG от Июнь 30, 2011, 11:19
только что закончил сборку и беглое тестирование webkit 2.2 (будет включён в Qt 4.8.0) на QNX 6.5/x86
в идеале проверить бы ещё и работоспособность webkit 2.2 с моими патчами на arm/armv7...
опять-таки, есть добровольцы?) тут чуть проще - я могу сделать кросс-сборку против 4.8 на днях и закинуть куда-нибудь бинарники, ибо клонировать репо вэбкита на узком канале - это ой

Возможно, подключусь к тестированию позже. Я тоже работаю с АРМами, но на QNX 6.3.2. Переход на 6.4.1 у нас запланирован на конец года. Если ничего не сорвется, то тогда и подключусь.

Единственное, что нам также важно - это реальное время в GUI. Собственно, возможность перехода на Qt рассматривается, но прежде надо выяснить, каковы характеристики оного фреймверка по части реального времени... Есть ли какая-нибудь информация на эту тему?


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: ритт от Июнь 30, 2011, 16:06
боюсь, будут проблемы в многопоточных приложениях...
никакой конкретно информации у меня нет, но знаю, что под QNX Qt насильно устанавливает процессам и потокам шедулер в RR


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: AG от Июнь 30, 2011, 17:16
Надо влазить в архитектуру Qt дабы выяснить какие блокировки там есть и когда они срабатывают... Без точного понимания процессов, происходящих внутри Qt, сказать это будет невозможно.

Однако, могу предположить что вопрос реального времени в Qt волнует не только меня и не только касательно QNX... Нааааадо погуглить....


Название: Re: Qt 4.8 / QNX 6.5
Отправлено: pulo от Ноябрь 21, 2011, 13:29
Добрый день.
Решил тоже попробовать qt 4.8 под qnx 6.5, версия 4.7 от qnx (на Foundry27) работает нормально, но не с каждым процем, собрал 4.8 r1 в которой заявлена поддержка qnx 6.5. Все нормально собралось (либы), но вот проблема с PNG файлами, почему то отображает их без прозрачности, пробовал собирать qt с параметрами -system-libpng и -qt-png разницы не заметил. Прозрачности нет как у виджетов, так и при использовании qml. Отписал в багрепорт https://bugreports.qt.nokia.com/browse/QTBUG-22630 (https://bugreports.qt.nokia.com/browse/QTBUG-22630) там же прикрепил скрины, может кто нибудь сталкивался с такой проблемой, ну или проверить может у себя?:)