Qt Status on QNX: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
(table layout)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
=Qt Status on <span class="caps">QNX</span> Neutrino OS=


Covering Qt5 only and so not mentioning “5”, just “Qt”.
[[Category:QNX]]


==Supported Modules==
= Qt Status on QNX Neutrino OS =


The following modules are currently known to work on the <span class="caps">QNX</span> Neutrino OS platform and are used for regular builds and unit testing. Please note that this list is under constant change (for now).
Covering Qt5 only and so not mentioning "5", just "Qt".


{| class="infotable line"
== Supported Modules ==
|- style="background: #00BB00"
 
! 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
 
| notes
{| class="wikitable"
! Qt essential modules  
! state  
! notes  
|-
|-
| Qt Core
| Qt Core  
| supported
| supported  
|
|  
|-
|-
| Qt Declarative
| Qt Declarative  
| not supported
| not supported  
|
|  
|-
|-
| Qt <span class="caps">GUI</span>
| 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 <span class="caps">QML</span>
| 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 <span class="caps">SQL</span>
| Qt SQL  
| supported
| supported  
|
|  
|-
|-
| Qt Test
| Qt Test  
| supported
| supported  
|
|  
|-
|-
| Qt WebKit <span class="caps">QML</span>
| 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="infotable line"
 
|- style="background: #00BB00"
 
! Qt add ons
{| class="wikitable"
! state
! Qt add ons  
| notes
! 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 <span class="caps">NFC</span>
| 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 <span class="caps">SVG</span>
| 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 <span class="caps">XML</span>
| Qt XML  
| supported
| supported  
|
|  
|-
|-
| Qt <span class="caps">XML</span> Patterns
| Qt XML Patterns  
| partly supported
| partly supported  
| XPath functionality supported, <span class="caps">XML</span> schema validation not supported
| XPath functionality supported, XML schema validation not supported  
|}
|}


“supported” modules are provided in the binary Qt installers for <span class="caps">QNX</span>.
"supported" modules are provided in the binary Qt installers for QNX.


==Key development works and fixes related to the Qt on the <span class="caps">QNX</span> platforms==
== 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 <span class="caps">QNX</span> platform releases
* Extensions and integration with new QNX platform releases


===In Qt 5.3.0===
=== In Qt 5.3.0 ===


====<span class="caps">QPA</span> for <span class="caps">QNX</span>====
==== QPA for QNX ====


* Improved focus handling
* Improved focus handling
** Properly honor “libscreen” keyboard focus
** 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 <span class="caps">EGL</span> surfaces
* 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 <span class="caps">SPDY</span> protocol (version 3.0) (all platforms)
* Added support for the SPDY protocol (version 3.0) (all platforms)
* Added support for the Next Protocol Negotiation (<span class="caps">NPN</span>) <span class="caps">TLS</span> extension (all platforms)
* Added support for the Next Protocol Negotiation (NPN) TLS extension (all platforms)
* Fixed ComboBoxes and Popup dialogs (<span class="caps">QNX</span> and BlackBerry 10)
* 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 “Shared objects still referenced” error (<span class="caps">QNX</span> and BlackBerry 10)
* Fixed dlclose "Shared objects still referenced" error (QNX and BlackBerry 10)


====QtMultimedia====
==== QtMultimedia ====


* Performance improvements for video playback (<span class="caps">QNX</span> and BlackBerry 10)
* Performance improvements for video playback (QNX and BlackBerry 10)
* Fix re-play of media. mm-renderer buffer status is now roperly evaluated. (<span class="caps">QNX</span> and BlackBerry 10)
* 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 <span class="caps">QML</span> Window <span class="caps">API</span> (all platforms)
* Fix stack order and focus when using QML Window API (all platforms)


====QtLocation====
==== QtLocation ====


* Switch tile server for <span class="caps">OSM</span> by MapQuest (all platforms)
* Switch tile server for OSM by MapQuest (all platforms)
* Prepare the <span class="caps">QML</span> Mapping <span class="caps">API</span> for the <span class="caps">API</span> freeze (all platforms)
* 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 doesn’t handle adding a path more than once correctly [https://codereview.qt.io/83215]
* 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 <span class="caps">QNX</span>====
==== 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 <span class="caps">QSG</span>_FIXED_ANIMATION_STEP environment variable should be set to “no” to improve the animation speed.
* 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 <span class="caps">QNX</span> <span class="caps">SDP</span> 6.6 release. Qt compiled for <span class="caps">QNX</span> <span class="caps">SDP</span> 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)
* 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)  
* <span class="caps">QNX</span> <span class="caps">SDK</span> 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 <span class="caps">QNX</span> is in the work to resolve this issue and will be published on http://qnx.com
* 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 <span class="caps">QNX</span> Neutrino OS by default, their use is not supported, since <span class="caps">QNX</span> <span class="caps">SDP</span> 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 <span class="caps">QNX</span>. * On-screen virtual keyboard is not provided by <span class="caps">QNX</span> <span class="caps">SDP</span> 6.6, nor by the <span class="caps">QNX</span> <span class="caps">SDK</span> for Apps and Media 1.0. An external hardware keyboard should be used or an own virtual keyboard implementation has to be configured.
* 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 <span class="caps">QNX</span> 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.
* 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 <span class="caps">QNX</span> Screen Graphics Subsystem
* 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: <span class="caps">QNX</span>] ''[bugreports.qt.io]'' component for <span class="caps">QNX</span> specific issues and other components for Qt generic issues even if you found them on <span class="caps">QNX</span> Neutrino OS.
=== Qt 5.2.x and earlier ===


==Access the status of the Qt CI system for <span class="caps">QNX</span> Neutrino OS==
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.


BlackBerry and <span class="caps">QNX</span> run a Jenkins based CI system which conducts build and on-device unit tests: http://qtlab.blackberry.com/
== Where and how report issues ==


===Categories:===
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.


* [[:Category:QNX|QNX]]
== 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.

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 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