Qt Status on QNX

From Qt Wiki
Revision as of 16:55, 14 January 2015 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Qt Status on QNX Neutrino OS

Covering Qt5 only and so not mentioning “5”, just “Qt”.

Supported Modules

The following modules are currently known to work on the QNX Neutrino OS platform and are used for regular builds and unit testing. Please note that this list is under constant change (for now).

Qt essential modules state notes
Qt Core supported
Qt Declarative not supported
Qt GUI supported
Qt Multimedia supported not supported on x86, a few known issues
Qt Multimedia Widgets supported not supported on x86, a few known issues; no platformstyle
Qt Network supported
Qt QML supported
Qt Quick supported
Qt Quick Controls supported No platform style
Qt Quick Dialogs supported Some native styles only
Qt Quick Layouts supported
Qt SQL supported
Qt Test supported
Qt WebKit QML not supported Depends on Qt Declarative
Qt WebKit Widgets not supported Compiles and runs, but is not officially supported in 5.4
Qt Widgets supported No platform style
Qt add ons state notes
Active Qt not applicable
Enginio not supported
Qt Android Extras not applicable
Qt Bluetooth not supported no OS backed defined yet
Qt Concurrent supported
Qt D-Bus not applicable
Qt Graphical Effects supported
Qt Image Formats supported
Qt Mac Extras not applicable
Qt NFC not supported no OS backed defined yet
Qt OpenGL Only OpenGL ES 2
Qt Positioning not supported no OS backed defined yet
Qt Print Support supported only printing to pdf
Qt Quick1 not supported might work
Qt Script supported
Qt Tools supported
Qt Sensors not supported no OS backed defined yet
Qt Serial Port not supported a backend is available; a candidate for a future release
Qt SVG supported
Qt WebSockets not supported
Qt Windows Extras not applicable
Qt X11 Extras not applicable
Qt XML supported
Qt XML Patterns partly supported XPath functionality supported, XML schema validation not supported

“supported” modules are provided in the binary Qt installers for QNX.

Key development works and fixes related to the Qt on the QNX platforms

Tentative plan for Qt 5.4

  • A more broad support of Bluetooth (all platforms)
  • An experimental support for DBus
  • Improvements in QtMultimedia
  • Extensions and integration with new QNX platform releases

In Qt 5.3.0

QPA for QNX

  • Improved focus handling
    • Properly honor “libscreen” keyboard focus
    • Platform windows can now be activated (receive keyboard focus) by the application
    • Fixed bugs related to libscreen focus handling
  • Fixed timing issues when creating EGL surfaces
  • Refactoring (screen error handling, remove dead code, etc.)
  • Populate touch event properties
  • Fixed resizing windows (buffers are destroyed and re-created)
  • Creation of parent-less windows
  • Fixed window re-parenting, positioning and opacity

QtBase

  • Added support for the SPDY protocol (version 3.0) (all platforms)
  • Added support for the Next Protocol Negotiation (NPN) TLS extension (all platforms)
  • Fixed ComboBoxes and Popup dialogs (QNX and BlackBerry 10)
  • Fix application font removal when using Fontconfig (all platforms)
  • Fixed evaluation of font width for selected FreeType fonts (all platforms)
  • Fixed dlclose “Shared objects still referenced” error (QNX and BlackBerry 10)

QtMultimedia

  • Performance improvements for video playback (QNX and BlackBerry 10)
  • Fix re-play of media. mm-renderer buffer status is now roperly evaluated. (QNX and BlackBerry 10)

QtDeclarative

  • Fix stack order and focus when using QML Window API (all platforms)

QtLocation

  • Switch tile server for OSM by MapQuest (all platforms)
  • Prepare the QML Mapping API for the API freeze (all platforms)

Known issues

Qt 5.3.0

Fixed in Qt 5.3.1

  • QQuickItem size will not follow window size [1]
  • Qt Quick Controls FileDialog crashes [2] and which perceived by the user as not appearing on the screen.
  • QDir might report directories twice [3] on some folders
  • QFileSystemWatcher::addPath doesn’t handle adding a path more than once correctly [4]
  • Instead of slog2info, Qt debugging and logging output can be forced to go to stderr if the QT_LOGGING_TO_CONSOLE environment variable has been set [5]

Other issues and aspects affecting the use of Qt on QNX

  • Qt Quick animations are running slower than expected if the actual frame rate is less than 60fps on a give target. If an application can not maintain a constant frame rate of 60fps the QSG_FIXED_ANIMATION_STEP environment variable should be set to “no” to improve the animation speed.
  • Fontconfig is not available in the QNX SDP 6.6 release. Qt compiled for QNX SDP 6.6 falls back to the internal font database. You need to set QT_QPA_FONTDIR pointing to the location of Qt fonts on target (typically in the ./lib/fonts)
  • QNX SDK for Apps and Media 1.0 does not provide Fontconfig for the x86 target. Qt compiled for this target falls back to the internal font database. See the previous point for a workaround. A patch from QNX is in the work to resolve this issue and will be published on http://qnx.com
  • Even though cmake files for Qt are provided in a Qt build for QNX Neutrino OS by default, their use is not supported, since QNX SDP 6.6 does not supply a toolchain file for cmake. It is still possible to provide a custom toolchain file and use cmake with Qt on QNX. * On-screen virtual keyboard is not provided by QNX SDP 6.6, nor by the QNX SDK for Apps and Media 1.0. An external hardware keyboard should be used or an own virtual keyboard implementation has to be configured.
  • Qt widgets and Qt Quick controls use the default style when started on a QNX target. This style is a very basic implementation with a very limited visual appearance. A complete style should be implemented to follow all look-n-feel requirements of a specific project.
  • QClipboard is currently not supported
  • QCursor is currently not not fully supported due to limitations in the QNX Screen Graphics Subsystem

Qt 5.2.x and earlier

See the list of know issues for BlackBerry 10 for now. Most of them are applicable. More details will be provided by time of the Qt 5.3.0 final release.

Where and how report issues

Please use the the QtPorts: QNX [bugreports.qt.io] component for QNX specific issues and other components for Qt generic issues even if you found them on QNX Neutrino OS.

Access the status of the Qt CI system for QNX Neutrino OS

BlackBerry and QNX run a Jenkins based CI system which conducts build and on-device unit tests: http://qtlab.blackberry.com/

Categories: