Qt Safe Renderer 1.2 Release Note
This is the Qt Safe Renderer (QSR) 1.2 release. The release provides some new features such as animations in the safety-critical UI elements, bug fixes, and performance improvements.
The Qt Safe Renderer 1.2 release is published in May 2021.
Start using the release by reading Qt Safe Renderer Safety Manual. It provides instructions on installing, building, and integrating Qt Safe Renderer into your safety-critical product. There are the following alternatives to open Safety Manual:
- Use a web browser to open the latest online version of Qt Safe Renderer Safety Manual.
- Install Qt Safe Renderer and use a web browser to open <QSR INSTALL DIR>/Docs/
- Install Qt Safe Renderer and open the help in the Qt Creator tool either via the mode selector or menu:
- In the menu, select Help > Contents.
- In the mode selector, select the Help mode button and activate the contents view.
- Qt Safe Renderer Safety Manual can be found under the listed Qt help topics.
Content of the contents view and the order of the help topics depend on your Qt installation.
Note: Safety Manuals for the earlier Qt Safe Renderer versions are available in Qt Documentation Archives.
Qt Safe Renderer must be built before trying the example projects. For more information, see Building Qt Safe Renderer.
The following chapters desribe the installed Qt Safe Renderer content at a general level. Sources, examples, documentation, and tools are found under the Qt Safe Renderer installation folder <QSR INSTALL DIR>.
The QSR source code is found under the <INSTALL DIR>/Src folder:
- 3rd party software (that is, easing implementation)
- Automated unit tests and integration tests
- Manual tests
- Platform adaptation
- Qt Safe Renderer layout generator tool
- Qt Safe Renderer runtime component
- Qt Quick plug-in
- Safe event sender plug-in
- Safe RCC tool
The Qt Safe Renderer tools are found under the <INSTALL DIR>/Tools folder:
- qtsafelayouttool binary
- qtsafercctool binary
The Qt Safe Renderer example applications are found under the <INSTALL DIR>/Examples folder. For building the examples, see the instructions in Qt Safe Renderer Examples.
The Qt Safe Renderer documentation is found under the <INSTALL DIR>/Docs folder:
- Architecture design specification
- Automated test cases (open qtsr-unit-tests.html with your browser)
- Certification document
- Safety manual (open qtsaferenderer-index.html with your browser)
- SW unit design specification
- Verification report with appendices
- Verification specification with appendices
Linux, Windows, and
macOS are supported as development platforms. See the Safety Manual page Supported Development Environment for details on the required Qt version and supported target platforms.
The Qt Safe Renderer 1.2 release is certified with the SEBS-A.113256/17 certificate by TÜV Nord. The certification document is part of the installed Qt Safe Renderer content as described in Release Content.
The information on which parts of the standard are not applicable for Qt Safe Renderer can be found from the release note appendix “Statement of Compliance".
The certification report will be provided for Qt Safe Renderer customers by a request.
This release contains the following new features:
- Support for QML states
- Animation support
- Possible to bind transition animation to the state changes: opacity, x, y, width, height.
- Possible to define TimeLine animations to change the property values.
- Bitmap compression
- The rendering is optimized for the compressed bitmaps. Bitmaps are not uncompressed when loaded.
- Possible to change the color of the icons and text dynamically
- Performance improvements to the rendering
- The new adaptation module:
- New: support for the Qualcomm 8155P hardware
- Graphics backends: DRM, QNX Screen, OpenWFD, Renesas Window Manager, Qt GUI
- Event handlers: Posix, INTEGRITY, QNX, Qt Network
- Support for the
- Double buffering support
- Implemented to the Open WFD backend
- The RCC tool forked to the Safe RCC tool
- The MISRA C++ 2008 compliant output to the RCC compiler.
- The safe RCC tool generates 4-byte aligned structures.
- Fonts support the full Latin-1 page. For example, the Scandinavian characters are supported.
- Memory allocations are more flexible and safer
- All the memory access is verified against the 4-byte boundary.
- Common memory pool for allocating bitmap, font, and animation data.
This release contains a fix for the POSIX message plugin issue in INTEGRITY (QSR-203).
All bug fixes included in the release can be filtered via Qt Bug Tracker. In Qt Bug Tracker, select Issues > Search for issues and type the following search string to the search field:
project = "Qt Safe Renderer" AND type = Bug AND fixVersion = "QSR 1.2" AND status = Closed and resolution in (Done,Fixed)
There are no known safety-critical issues.
Requirement 6.3.1 (not a safety-critical requirement) is covered in the verification with the following combination:
- Qualcomm Snapdragon SA8155P + QNX OS for Safety 2.0
In the Qt Safe Renderer 1.2 release, the only tested HW and OS combination is Qualcomm Snapdragon SA8155P + QNX OS for Safety 2.0.
QSR-1142 describes the recognized performance issue in QNX. As Qt Safe Renderer is not meant to draw high-performance graphics, the implementor of the adaptation must throttle events to such frequency that Qt Safe Renderer can draw in set FPS without events buffering into the backlog.
QSR-1039 describes the recognized issue with building the QML puppet. The building occasionally fails. This is planned to be fixed in Qt Safe Renderer 2.0.
In Qt Bug Tracker, you can filter bugs that have been reported for the Qt Safe Renderer 1.2 release but the fix is not part of Qt Safe Renderer 1.2. If the bug has been reported before Qt Safe Renderer 1.2 was released, the development team has postponed the fix in some later releases. In Qt Bug Tracker, select Issues > Search for issues and type the following search string to the tool’s search field:
project = QSR AND issuetype = Bug AND affectedVersion = "QSR 1.2" and fixVersion != "QSR 1.2"
Searching for other existing issues, please see the Safety Manual page Reporting Bugs and Change Requests for instructions.
Qt Safe Renderer 1.2 FAQs can be found from the Safety Manual.
Safe layout files must be backward compatible as defined in 1) and 2):
- When a QML file that defines a UI with safety-critical UI elements has been created with some earlier Qt Safe Renderer release, it must be possible to use it with the latest Qt Safe Renderer release without any changes. That is, the latest Qt Safe Renderer release generates the safe layout data from the QML file that has been created with some earlier Qt Safe Renderer release.
- When safe layout data is generated from a QML file with some earlier Qt Safe Renderer release, the generated data does not need to be compatible with the latest Qt Safe Renderer release. Instead, the safe layout data must be re-generated from the QML file with the latest Qt Safe Renderer release as defined in 1).
Qt_Safe_Renderer_Release_Note_Appendix_Statement_of_Compliance_1_2_0.pdf is available in the installed Qt Safe Renderer 1.2 documentation.
Qt_Safe_Renderer_Note_1_2_0.pdf is available in the installed Qt Safe Renderer 1.2 documentation. It is electronically signed off by persons responsible for the release.
Available under certain Qt licenses.
Find out more.