qnx1 developer(deleted)
|
Run Qt 5.3 App on QNX 6.6 target
|
qnx1 developer(deleted)
07/21/2014 10:16 PM
post111148
|
Run Qt 5.3 App on QNX 6.6 target
Hello.
I'm trying to run Qt widget application on QNX 6.6 target.
What I've done is below.
- Install qt on Ubuntu 12.04 via qt-enterprise-linux-x86-qnx-5.3.1.run downloaded from Qt digia website.
- Setup QNX 6.6 + Qt 5.3, Linux + Qt 5.3 kit on QtCreator.
- Build 'helloqt' program via New Project -> Applications -> Qt Widget Application template without any modification
that displays an empty window.
- Run 'helloqt' for linux and it works properly.
- Prepare QNX target with QNX 6.6 SDP + Graphics Patch
- Copy 'helloqt' for QNX to /root/qt5test/ on target.
- Copy below directories to /opt/qt5/ on QNX target.
<QT_INSTALL_PATH>/5.3/qnx6-x86/lib
<QT_INSTALL_PATH>/5.3/qnx6-x86/plugins
<QT_INSTALL_PATH>/5.3/qnx6-x86/qml
- Add below to /root/.profile for environment setting.
export LD_LIBRARY_PATH=/lib:/usr/lib:/lib/dll:/opt/qt5/lib:/opt/qnx6/x86/lib:/opt/qnx6/x86/usr/lib:/opt/qnx6/x86/lib/
dll
export QQNX_PHYSICAL_SCREEN_SIZE=150,90
export QT_PLUGIN_PATH=/opt/qt5/plugins
export QML2_IMPORT_PATH=/opt/qt5/qml
export GRAPHICS_ROOT=/usr/lib/graphics/intel-drm
- run '/sbin/drm-intel' on QNX target.(my target has graphic processor from intel)
- run 'screen'
- run '/root/qt5test/helloqt'
<Result>
# cd /root/qt5test/
# ./helloqt
slog2_api: cannot connect to slogger2 server...errno=No such file or directory
Error registering slogger2 buffer!
This application failed to start because it could not find or load the Qt platform plugin "qnx".
Available platform plugins are: minimal, offscreen, qnx.
Reinstalling the application may fix this problem.
Abort
#
- Three libraries below exist in '/opt/qt5/plugins/platforms'.
libqminimal.so
libqoffscreen.so
libqqnx.so
- Result is same no matter running drm-intel or screen.
- Below is 'env' result.
_=/usr/bin/env
SSH_CONNECTION=192.168.100.150 62661 192.168.100.177 22
PATH=/sbin:/usr/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/bin:/opt/sbin:/bin:/sbin:/usr/bin:/usr/sbin
SHELL=/bin/sh
TMPDIR=/tmp
HOSTNAME=localhost
USER=root
PROCESSOR=x86
MAIL=/var/spool/mail/root
LD_LIBRARY_PATH=/lib:/usr/lib:/lib/dll:/opt/qt5/lib:/opt/qnx6/x86/lib:/opt/qnx6/x86/usr/lib:/opt/qnx6/x86/lib/dll
HOME=/root
SSH_CLIENT=192.168.100.150 62661 22
QNX_HOST=/
QNX_TARGET=/
GRAPHICS_ROOT=/usr/lib/graphics/intel-drm
QQNX_PHYSICAL_SCREEN_SIZE=150,90
TERM=xterm
QML2_IMPORT_PATH=/opt/qt5/qml
QT_PLUGIN_PATH=/opt/qt5/plugins
QNX_CONFIGURATION=/etc/qnx
SSH_TTY=/dev/ttyp1
SYSNAME=nto
LOGNAME=root
I'd googling but no luck and stuck on this.
Please let me know if any additional information is needed and any suggestions would be appreciated.
|
|
|
Vladimir Minenko(deleted)
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Vladimir Minenko(deleted)
07/22/2014 7:34 AM
post111152
|
Re: Run Qt 5.3 App on QNX 6.6 target
The root cause has already been posted to the console: the slogger2 service is not running the target. slogger2 is
required for all current binary builds of Qt for QNX. Check your OS image build script and add the slogger2 service to
the startup.
PS. Unfortunately, you will most probably not find anything via Google on that topic.
|
|
|
qnx1 developer(deleted)
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
qnx1 developer(deleted)
07/22/2014 9:00 PM
post111163
|
Re: Run Qt 5.3 App on QNX 6.6 target
Thanks for reply.
With slogger2 running, it just redirect stdout messages to slog2info. Anyway one error message removed.
I posted additional result with QT_DEBUG_PLUGINS=1 as reply to my post. Thanks again.
|
|
|
Dennis Kellly
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Dennis Kellly
07/22/2014 7:37 AM
post111153
|
Re: Run Qt 5.3 App on QNX 6.6 target
In addiition to the need to start slogger2, you did not mention if you tested screen functionality. Make sure you get
correct graphics when you run sw-vsync and gles2-gears.
BTW - you can read messages sent to slooger2 (all Qt debug messages) using slog2info.
|
|
|
qnx1 developer(deleted)
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
qnx1 developer(deleted)
07/22/2014 8:41 PM
post111161
|
Re: Run Qt 5.3 App on QNX 6.6 target
I was on it when I posting. Anyway after setting up /usr/lib/graphics/intel-drm/graphics.conf, gles2-gear displayed
properly now. But Qt program output is same. And output is same whether I run drm-intel and screen or not. That's why I
thought screen stuff and Qt stuff separately.
|
|
|
Thilloy Paul
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Thilloy Paul
07/22/2014 12:17 PM
post111155
|
Re: Run Qt 5.3 App on QNX 6.6 target
> Hello.
> I'm trying to run Qt widget application on QNX 6.6 target.
> What I've done is below.
> This application failed to start because it could not find or load the Qt
> platform plugin "qnx".
Hello,
I have the same result : trying to run my Qt 5.3 app with your Qt build
|
|
|
Kostadin Vardin(deleted)
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Kostadin Vardin(deleted)
07/22/2014 12:49 PM
post111156
|
Re: Run Qt 5.3 App on QNX 6.6 target
Hello,
As the topic is hot for me as well,l I decided to jump in.
I have experienced similar problem, but able to start an example application( came with Qt ) and also an application
showing just a window with a button(created by myself).
I have following problems:
1) Fonts: Texts are not displayed ( empty boxes for each character ). It appears that font system is not setup properly.
Please advise how to setup Qt font system and where to find the fonts.
2) Each one of the applications above are logging into slogger2 following:
- QQNX: failed to open navigator pps, errno=2
- QQnxVirtualKeyboard: Unable to open ""/pps/services/input/control" for keyboard: No such file or directory
- QQNX failed to open buttons pps, errno=2
Obviously mouse and keyboard are not setup properly and interesting why their services are expected from pps. I have
started io-hid1? Please advise.
Thanks in forward,
Kostadin
|
|
|
Dennis Kellly
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Dennis Kellly
07/22/2014 2:35 PM
post111158
|
Re: Run Qt 5.3 App on QNX 6.6 target
>>>1) Fonts: Texts are not displayed ( empty boxes for each character ). It appears that font system is not setup
properly.
To use the qnx freetype system with Qt, I did the following:
a. Put this in your environment
FONTCONFIG_FILE=/etc/fontconfig/local.conf
b. Create and deploy
/etc/fontconfig/local.conf
Copy C:\qnx660\target\qnx6\etc\fontconfig\fonts.conf to create local.conf
BUT change the following to use the much richer Qt5 font set...
from
<dir>/usr/fonts/font_repository</dir>
to
<dir>/opt/qt5/lib/fonts</dir>
c. Make sure you have deployed
/usr/lib/libfontconfig.so.1
d. When you build your program, make sure you use a font which is actually on the target. Qt Creator will present a
list of fonts from the windows host! If you pick a font not on target, results will not be what you want. You may have
to add the font you want from your target to windows (so you can select it). I always have good results with "Dejavu
Sans"
>>>2) Each one of the applications above are logging into slogger2 following:
- QQNX: failed to open navigator pps, errno=2
- QQnxVirtualKeyboard: Unable to open ""/pps/services/input/control" for keyboard: No such file or directory
- QQNX failed to open buttons pps, errno=2
Sorry - you will just have to live with these bogus messages - unless you fix and rebuild your own libraries. They seem
to be vestiges of QNX-CAR2. Input WILL function even if you see these messages.
|
|
|
Kostadin Vardin(deleted)
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Kostadin Vardin(deleted)
07/22/2014 6:17 PM
post111159
|
Re: Run Qt 5.3 App on QNX 6.6 target
Hi Danis,
Item_1-> Fonts is fixed now based on your instructions.
Still have problem with Item_2-> input.
I am starting io-hid in following way: "io-hid -d usb /dev/io-usb/io-usb"
Before to start screen I have Keyboard input( usb keyboard ).
After screen and Qt app are started, I do not have any Input working( missing mouse cursor ).
Is there any setting for Qt, related to the Input( kbd& mouse )?
Any idea?
Thank you,
Kostadin Vardin
|
|
|
Kostadin Vardin(deleted)
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Kostadin Vardin(deleted)
07/22/2014 6:54 PM
post111160
|
Re: Run Qt 5.3 App on QNX 6.6 target
In addition, please find attached sloginfo_log.txt where you can see screen connected successfully with io-hid, but when
I start Qt application there is no Input!
Kostadin Vardin
|
|
|
Nicolas Pinault
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Nicolas Pinault
10/08/2014 2:40 AM
post111986
|
Re: Run Qt 5.3 App on QNX 6.6 target
Hi,
Have you enabled keyboard in scren configuration file ?
Nicolas
|
|
|
Nicolas Pinault
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Nicolas Pinault
10/08/2014 2:48 AM
post111987
|
Re: Run Qt 5.3 App on QNX 6.6 target
Please, forget my previous message.
|
|
|
Dennis Kellly
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Dennis Kellly
07/22/2014 9:01 PM
post111164
|
Re: Run Qt 5.3 App on QNX 6.6 target
Kostadin-
This sequence starts mouse and keyboard..
io-usb -duhci -dohci -dehci
io-hid -dusb
# then start screen
drm_intel_hd
screen
To see the cursor, you must edit your graphics.conf (/usr/lib/graphics/intel-drm/graphics.conf ?) and add
cursor = on
after your "video-mode =" line ... but still between begin and end for "display" - for example
begin display 2
video-mode = 800 x 480 @ 60
cursor = on
stack-size = 2048
end display
The attached Qt5 program (for x86) will verify kbd input.
Launch as...
./inputck -platform qnx:no-fullscreen
|
|
|
Kostadin Vardin(deleted)
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Kostadin Vardin(deleted)
07/23/2014 12:30 PM
post111178
|
Re: Run Qt 5.3 App on QNX 6.6 target
Hi Dennis,
I implemented the changes to graphics.conf and also start-up of io-usb and io-hid.
Now I can see the mouse cursor at the center of the screen, but it does not move.
I started "inputck" test program. It captures the keyboard input, but not the mouse.
Kostadin
|
|
|
Dennis Kellly
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Dennis Kellly
07/23/2014 12:40 PM
post111179
|
Re: Run Qt 5.3 App on QNX 6.6 target
Does hidview show the device?
# hidview
HIDD v1.00, v1.00 DDK
Device Address : 1
Vendor : 0x413c (DELL)
Product : 0x2005 (DELL USB Keyboard)
Version : r1.10
Usage : Keyboard
Device Address : 2
Vendor : 0x045e (Microsoft)
Product : 0x0040 (Microsoft Wheel Mouse Optical®)
Version : r1.10
Usage : Mouse
|
|
|
Kostadin Vardin(deleted)
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Kostadin Vardin(deleted)
07/23/2014 1:09 PM
post111180
|
Re: Run Qt 5.3 App on QNX 6.6 target
Here is what hidview captures in "hidview_log.txt".
|
|
|
Kostadin Vardin(deleted)
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Kostadin Vardin(deleted)
07/23/2014 6:20 PM
post111187
|
Re: Run Qt 5.3 App on QNX 6.6 target
I found the problem.
In graphics.conf file the global input parameter shall include both keyboard and mouse!
Here is the excerpt:
begin globals
blit-config = gles2blt
input = keyboard mouse
stack-size = 2048
end globals
Cheers!
|
|
|
Dennis Kellly
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Dennis Kellly
07/23/2014 6:54 PM
post111188
|
Re: Run Qt 5.3 App on QNX 6.6 target
Glad that fixed it. Handling is inconsistent regarding this... miine works without it.
|
|
|
qnx1 developer(deleted)
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
qnx1 developer(deleted)
09/01/2014 4:31 AM
post111599
|
Re: Run Qt 5.3 App on QNX 6.6 target
I'm trying to use touch screen at QNX 6.6 / Qt5.
I've followed your answers and then I'm seeing calib-touch screen now.
But I can't move the cursor or click.
After launching below programs in rc.local, calib-touch program could be run.
But touch doesn't work and cannot calibrate.
With QNX 6.5 / Qt4 touch screen works fine.
Do you have any idea what's wrong?
io-usb -duhci -dohci -dehci
io-hid -dusb -degalax
devi-hid kbd touch
drm-intel &
screen &
Here is hidview result:
# hidview
Device Address : 0
Vendor : 0x0eef (eGalax Inc.)
Product : 0x0001
Version : r1.10
Usage : Pointer
Device Address : 1
Vendor : 0x045e (Microsoft)
Product : 0x0752 (Wired Keyboard 400)
Version : r1.10
Usage : Keyboard
And this is my env variables:
# env
_=/usr/bin/env
SSH_CONNECTION=192.168.100.118 64713 192.168.100.177 22
PATH=/sbin:/usr/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/bin:/opt/sbin:/bin:/sbin:/usr/bin:/usr/sbin
SHELL=/bin/sh
TMPDIR=/tmp
HOSTNAME=localhost
USER=root
PROCESSOR=x86
MAIL=/var/spool/mail/root
LD_LIBRARY_PATH=/prob/boot:/lib:/usr/lib:/lib/dll:/opt/qt5/lib:/opt/qnx6/x86/lib:/opt/qnx6/x86/usr/lib:/opt/qnx6/x86/lib
/dll:/usr/lib/graphics/intel-drm:/opt/qt5/plugins/platforms
QT_DEBUG_PLUGINS=1
HOME=/root
SSH_CLIENT=192.168.100.118 64713 22
QNX_HOST=/
QT_QPA_PLATFORM=qnx:no-fullscreen
QNX_TARGET=/
GRAPHICS_ROOT=/usr/lib/graphics/intel-drm
QQNX_PHYSICAL_SCREEN_SIZE=200,117
TERM=xterm
QML_IMPORT_PATH=/opt/qt5/imports
QML2_IMPORT_PATH=/opt/qt5/qml
QT_PLUGIN_PATH=/opt/qt5/plugins
FONTCONFIG_FILE=/etc/fontconfig/local.conf
QNX_CONFIGURATION=/etc/qnx
SSH_TTY=/dev/ttyp0
SYSNAME=nto
LOGNAME=root
This is my /usr/lib/graphics/intel-drm/graphics.conf:
begin khronos
begin egl display 1
egl-dlls = libEGL-mesa.so
glesv1-dlls = libglapi-mesa.so libGLESv1_CM-mesa.so
glesv2-dlls = libglapi-mesa.so libGLESv2-mesa.so
end egl display
begin wfd device 1
wfd-dlls = libwfdcfg-sample.so libWFDintel-drm.so
# Run "drm-probe-displays" to list the available displays and pipelines,
# and "use $GRAPHICS_ROOT/libWFDintel-drm.so" for more information on
# these driver-specific settings.
# Pipeline IDs 1 to 9 are used for DRM CRTCs. One should be assigned
# to each display that will be used.
pipeline1-display = 1
# Pipeline IDs 10 and above are used for DRM planes. A plane can only
# be used on a display with an active CRTC.
pipeline10-display = 1
end wfd device
end khronos
begin winmgr
begin globals
input = keyboard mouse
# Adjust the stack size of Screen's resmgr threads. The default size
# is insufficient for blitters/compositors using Mesa (e.g., gles2blt).
blit-config = gles2blt
end globals
begin display 1
video-mode = 1024 x 600 @ 75
# Adjust the stack size of Screen's composition thread; required when the
# display's framebuffer uses Mesa (e.g. "usage = gles2"), as noted above.
cursor = on
stack-size = 4096 # in units of 1024 bytes
end display
begin class framebuffer
# Be sure to configure the "pipeline%d-display" options (above) so the
# specified display and pipeline are bindable. Normally a framebuffer
# will use a CRTC pipeline.
display = 1
pipeline = 1
format = rgba8888
usage = gles2blt
end class
begin mtouch
driver = devi
options = height=600,width=1024
display = 1
end mtouch
end winmgr
|
|
|
Malte Mundt
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Malte Mundt
07/24/2014 6:05 AM
post111199
|
Re: Run Qt 5.3 App on QNX 6.6 target
> Copy C:\qnx660\target\qnx6\etc\fontconfig\fonts.conf to create local.conf
> BUT change the following to use the much richer Qt5 font set...
> from
> <dir>/usr/fonts/font_repository</dir>
> to
> <dir>/opt/qt5/lib/fonts</dir>
>
With the Qt 5.3 install from this site, it seems fonts are no longer coming with Qt. The directory "fonts" does not
exist under lib any more. Where are users supposed to get the fonts from now?
Cheers,
- Malte
|
|
|
Dennis Kellly
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Dennis Kellly
07/24/2014 7:55 AM
post111201
|
Re: Run Qt 5.3 App on QNX 6.6 target
QNX-supplied fonts are under host directory c:\QNX660\target\qnx6\usr\fonts\font_repository\, so using the default fonts
.conf will provide "some" fonts.
You should be able to pull Qt-supplied fonts from any Qt distro.
|
|
|
Vladimir Minenko(deleted)
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Vladimir Minenko(deleted)
07/24/2014 8:57 AM
post111204
|
Re: Run Qt 5.3 App on QNX 6.6 target
@Malte. If Qt has been configured for a build using fontconfig, the install process does not includes fonts.
|
|
|
Malte Mundt
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Malte Mundt
07/24/2014 9:05 AM
post111205
|
Re: Run Qt 5.3 App on QNX 6.6 target
> @Malte. If Qt has been configured for a build using fontconfig, the install
> process does not includes fonts.
Hi Vladimir,
I guess the Qt 5.3 bundle provided here on Foundry27 has been built to use fontconfig. So there are no fonts; I guess
because on other OSs as soon as you say "fontconfig" it is assumed that you have all the fonts required?
So how does this work in practice for QNX now? The new QNX 5.3 installer, coming with Qt Creator auto-detecting QNX 6.6
SDP and even including examples AND binaries for ARM and x86, is my personal favourite. It gives me "all I need",
fantastic. Except for the fonts :). So when I build some of the examples, they require fonts. Where to go from here?
Cheers,
- Malte
|
|
|
Malte Mundt
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Malte Mundt
07/24/2014 9:54 AM
post111206
|
Re: Run Qt 5.3 App on QNX 6.6 target
> > @Malte. If Qt has been configured for a build using fontconfig, the install
>
> > process does not includes fonts.
>
> Hi Vladimir,
>
> I guess the Qt 5.3 bundle provided here on Foundry27 has been built to use
> fontconfig. So there are no fonts; I guess because on other OSs as soon as you
> say "fontconfig" it is assumed that you have all the fonts required?
>
> So how does this work in practice for QNX now? The new QNX 5.3 installer,
> coming with Qt Creator auto-detecting QNX 6.6 SDP and even including examples
> AND binaries for ARM and x86, is my personal favourite. It gives me "all I
> need", fantastic. Except for the fonts :). So when I build some of the
> examples, they require fonts. Where to go from here?
Ok, it seems some basic fonts are now with QNX SDP 6.6 under /usr/fonts/font_repository. I copied these to my target and
in the example I built I now see text. Great.
Cheers,
- Malte
|
|
|
Vladimir Minenko(deleted)
|
Re: Run Qt 5.3 App on QNX 6.6 target
|
Vladimir Minenko(deleted)
07/24/2014 10:29 AM
post111207
|
Re: Run Qt 5.3 App on QNX 6.6 target
There should be no need for moving fonts back and forth, when Qt is configured to use fontconfig and the "QNX target"
has a "standard layout".
Generally, the problem is that there is no standard for QNX targets: people do their own OS images and get surprised
that things stop working. Some people see this as an advantage of flexibility, but for complex frameworks with tons of
equations on the table, like Qt, this advantage can quickly become a nightmare. The length of this thread is another
sign for this. QNX should start standardizing the content and configuration of OS images for selected application cases.
IMHO, this should include a list of OS components and services required for a given framework (here Qt) to run it as
expected. This issue has already been addressed in QNX.
In particular, the recent release of Qt 5.3.0 installers provided here was explicitly saying that it can be used for "Qt
applications for the QNX SDP 6.6 OS and Apps & Media 1.0 software releases". Unfortunately, it is did not mention this
also includes a certain target OS image which is provided as "sample" in Apps & Media 1.0. Qt in that and in any other
binary build in the future is not guaranteed to work on any target, just on those which are close to the one provided in
Apps & Media 1.0. Anything more generic is just technically not possible...
|
|
|
|