Qt Status on QNX: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
Henri Vikki (talk | contribs) (table layout) |
||
(9 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:QNX]] | |||
= | = Qt Status on QNX Neutrino OS = | ||
Covering Qt5 only and so not mentioning "5", just "Qt". | |||
{| class=" | == Supported Modules == | ||
! Qt essential 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). | ||
! state | |||
{| class="wikitable" | |||
! Qt essential modules | |||
! state | |||
! notes | |||
|- | |- | ||
| Qt Core | | Qt Core | ||
| supported | | supported | ||
| | | | ||
|- | |- | ||
| Qt Declarative | | Qt Declarative | ||
| not supported | | not supported | ||
| | | | ||
|- | |- | ||
| Qt | | Qt GUI | ||
| supported | | supported | ||
| | | | ||
|- | |- | ||
| Qt Multimedia | | Qt Multimedia | ||
| supported | | supported | ||
| not supported on x86, a few known issues | | not supported on x86, a few known issues | ||
|- | |- | ||
| Qt Multimedia Widgets | | Qt Multimedia Widgets | ||
| supported | | supported | ||
| not supported on x86, a few known issues; no platformstyle | | not supported on x86, a few known issues; no platformstyle | ||
|- | |- | ||
| Qt Network | | Qt Network | ||
| supported | | supported | ||
| | | | ||
|- | |- | ||
| Qt | | Qt QML | ||
| supported | | supported | ||
| | | | ||
|- | |- | ||
| Qt Quick | | Qt Quick | ||
| supported | | supported | ||
| | | | ||
|- | |- | ||
| Qt Quick Controls | | Qt Quick Controls | ||
| supported | | supported | ||
| No platform style | | No platform style | ||
|- | |- | ||
| Qt Quick Dialogs | | Qt Quick Dialogs | ||
| supported | | supported | ||
| Some native styles only | | Some native styles only | ||
|- | |- | ||
| Qt Quick Layouts | | Qt Quick Layouts | ||
| supported | | supported | ||
| | | | ||
|- | |- | ||
| Qt | | Qt SQL | ||
| supported | | supported | ||
| | | | ||
|- | |- | ||
| Qt Test | | Qt Test | ||
| supported | | supported | ||
| | | | ||
|- | |- | ||
| Qt WebKit | | Qt WebKit QML | ||
| not supported | | not supported | ||
| Depends on Qt Declarative | | Depends on Qt Declarative | ||
|- | |- | ||
| Qt WebKit Widgets | | Qt WebKit Widgets | ||
| not supported | | not supported | ||
| Compiles and runs, but is not officially supported in 5.4 | | Compiles and runs, but is not officially supported in 5.4 | ||
|- | |- | ||
| Qt Widgets | | Qt Widgets | ||
| supported | | supported | ||
| No platform style | | No platform style | ||
|} | |} | ||
{| class=" | |||
! Qt add ons | {| class="wikitable" | ||
! state | ! Qt add ons | ||
! state | |||
! notes | |||
|- | |- | ||
| Active Qt | | Active Qt | ||
| not applicable | | not applicable | ||
| | | | ||
|- | |- | ||
| Enginio | | Enginio | ||
| not supported | | not supported | ||
| | | | ||
|- | |- | ||
| Qt Android Extras | | Qt Android Extras | ||
| not applicable | | not applicable | ||
| | | | ||
|- | |- | ||
| Qt Bluetooth | | Qt Bluetooth | ||
| not supported | | not supported | ||
| no OS backed defined yet | | no OS backed defined yet | ||
|- | |- | ||
| Qt Concurrent | | Qt Concurrent | ||
| supported | | supported | ||
| | | | ||
|- | |- | ||
| Qt D-Bus | | Qt D-Bus | ||
| not applicable | | not applicable | ||
| | | | ||
|- | |- | ||
| Qt Graphical Effects | | Qt Graphical Effects | ||
| supported | | supported | ||
| | | | ||
|- | |- | ||
| Qt Image Formats | | Qt Image Formats | ||
| supported | | supported | ||
| | | | ||
|- | |- | ||
| Qt Mac Extras | | Qt Mac Extras | ||
| not applicable | | not applicable | ||
| | | | ||
|- | |- | ||
| Qt | | Qt NFC | ||
| not supported | | not supported | ||
| no OS backed defined yet | | no OS backed defined yet | ||
|- | |- | ||
| Qt OpenGL | | Qt OpenGL | ||
| | | | ||
| Only OpenGL ES 2 | | Only OpenGL ES 2 | ||
|- | |- | ||
| Qt Positioning | | Qt Positioning | ||
| not supported | | not supported | ||
| no OS backed defined yet | | no OS backed defined yet | ||
|- | |- | ||
| Qt Print Support | | Qt Print Support | ||
| supported | | supported | ||
| only printing to pdf | | only printing to pdf | ||
|- | |- | ||
| Qt Quick1 | | Qt Quick1 | ||
| not supported | | not supported | ||
| might work | | might work | ||
|- | |- | ||
| Qt Script | | Qt Script | ||
| supported | | supported | ||
| | | | ||
|- | |- | ||
| Qt Tools | | Qt Tools | ||
| supported | | supported | ||
| | | | ||
|- | |- | ||
| Qt Sensors | | Qt Sensors | ||
| not supported | | not supported | ||
| no OS backed defined yet | | no OS backed defined yet | ||
|- | |- | ||
| Qt Serial Port | | Qt Serial Port | ||
| not supported | | not supported | ||
| a backend is available; a candidate for a future release | | a backend is available; a candidate for a future release | ||
|- | |- | ||
| Qt | | Qt SVG | ||
| supported | | supported | ||
| | | | ||
|- | |- | ||
| Qt WebSockets | | Qt WebSockets | ||
| not supported | | not supported | ||
| | | | ||
|- | |- | ||
| Qt Windows Extras | | Qt Windows Extras | ||
| not applicable | | not applicable | ||
| | | | ||
|- | |- | ||
| Qt X11 Extras | | Qt X11 Extras | ||
| not applicable | | not applicable | ||
| | | | ||
|- | |- | ||
| Qt | | Qt XML | ||
| supported | | supported | ||
| | | | ||
|- | |- | ||
| Qt | | Qt XML Patterns | ||
| partly supported | | partly supported | ||
| XPath functionality 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 | == Key development works and fixes related to the Qt on the QNX platforms == | ||
===Tentative plan for Qt 5.4=== | === Tentative plan for Qt 5.4 === | ||
* A more broad support of Bluetooth (all platforms) | * A more broad support of Bluetooth (all platforms) | ||
* An experimental support for DBus | * An experimental support for DBus | ||
* Improvements in QtMultimedia | * Improvements in QtMultimedia | ||
* Extensions and integration with new | * Extensions and integration with new QNX platform releases | ||
===In Qt 5.3.0=== | === In Qt 5.3.0 === | ||
==== | ==== QPA for QNX ==== | ||
* Improved focus handling | * Improved focus handling | ||
** Properly honor | ** Properly honor "libscreen" keyboard focus | ||
** Platform windows can now be activated (receive keyboard focus) by the application | ** Platform windows can now be activated (receive keyboard focus) by the application | ||
** Fixed bugs related to libscreen focus handling | ** Fixed bugs related to libscreen focus handling | ||
* Fixed timing issues when creating | * Fixed timing issues when creating EGL surfaces | ||
* Refactoring (screen error handling, remove dead code, etc.) | * Refactoring (screen error handling, remove dead code, etc.) | ||
* Populate touch event properties | * Populate touch event properties | ||
Line 207: | Line 210: | ||
* Fixed window re-parenting, positioning and opacity | * Fixed window re-parenting, positioning and opacity | ||
====QtBase==== | ==== QtBase ==== | ||
* Added support for the | * Added support for the SPDY protocol (version 3.0) (all platforms) | ||
* Added support for the Next Protocol Negotiation ( | * Added support for the Next Protocol Negotiation (NPN) TLS extension (all platforms) | ||
* Fixed ComboBoxes and Popup dialogs ( | * Fixed ComboBoxes and Popup dialogs (QNX and BlackBerry 10) | ||
* Fix application font removal when using Fontconfig (all platforms) | * Fix application font removal when using Fontconfig (all platforms) | ||
* Fixed evaluation of font width for selected FreeType fonts (all platforms) | * Fixed evaluation of font width for selected FreeType fonts (all platforms) | ||
* Fixed dlclose | * Fixed dlclose "Shared objects still referenced" error (QNX and BlackBerry 10) | ||
====QtMultimedia==== | ==== QtMultimedia ==== | ||
* Performance improvements for video playback ( | * Performance improvements for video playback (QNX and BlackBerry 10) | ||
* Fix re-play of media. mm-renderer buffer status is now roperly evaluated. ( | * Fix re-play of media. mm-renderer buffer status is now roperly evaluated. (QNX and BlackBerry 10) | ||
====QtDeclarative==== | ==== QtDeclarative ==== | ||
* Fix stack order and focus when using | * Fix stack order and focus when using QML Window API (all platforms) | ||
====QtLocation==== | ==== QtLocation ==== | ||
* Switch tile server for | * Switch tile server for OSM by MapQuest (all platforms) | ||
* Prepare the | * Prepare the QML Mapping API for the API freeze (all platforms) | ||
==Known issues== | == Known issues == | ||
===Qt 5.3.0=== | === Qt 5.3.0 === | ||
====Fixed in Qt 5.3.1==== | ==== Fixed in Qt 5.3.1 ==== | ||
* QQuickItem size will not follow window size [https://codereview.qt.io/84008] | * QQuickItem size will not follow window size [https://codereview.qt.io/84008] | ||
* Qt Quick Controls FileDialog crashes [https://codereview.qt.io/83408] and which perceived by the user as not appearing on the screen. | * Qt Quick Controls FileDialog crashes [https://codereview.qt.io/83408] and which perceived by the user as not appearing on the screen. | ||
* QDir might report directories twice [https://codereview.qt.io/83529] on some folders | * QDir might report directories twice [https://codereview.qt.io/83529] on some folders | ||
* QFileSystemWatcher::addPath | * QFileSystemWatcher::addPath doesn't handle adding a path more than once correctly [https://codereview.qt.io/83215] | ||
* 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 [https://codereview.qt.io/82914] | * 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 [https://codereview.qt.io/82914] | ||
====Other issues and aspects affecting the use of Qt on | ==== 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 | * 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 | * 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 | * 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 | * 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 | * QClipboard is currently not supported | ||
* QCursor is currently not not fully supported due to limitations in the | * QCursor is currently not not fully supported due to limitations in the QNX Screen Graphics Subsystem | ||
=== Qt 5.2.x and earlier === | |||
See the [[ Qt5_Status_on_BlackBerry10 | 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 [https://bugreports.qt.io/browse/QTBUG/component/20920 QtPorts: QNX] 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 == |
Latest revision as of 07:36, 7 April 2015
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.
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 component for QNX specific issues and other components for Qt generic issues even if you found them on QNX Neutrino OS.