Qt Safe Renderer 2.0 Release Note
This is the Qt Safe Renderer (QSR) 2.0 release. The Qt Safe Renderer 2.0 release was published in February 2023.
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 documentation version: https://doc-snapshots.qt.io/qtsaferenderer-6.5/
- Install Qt Safe Renderer and use a web browser to open <QSR INSTALL DIR>/Docs/QtSafeRenderer-2.0.0/SafetyManual/qtsaferenderer-index.html.
- 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. Contents view and the order of the help topics depend on your Qt installation.
Qt Safe Renderer 2.0 can be used with Qt 5.15.x. However, this release includes pre-built Qt Safe Renderer binaries for Qt 5.15.12. Binaries are provided for the Qt Safe Renderer tools and plugins.
Examples still need to be built as instructed. For more information, see Building Qt Safe Renderer.
Qt Safe Renderer 2.0 can also be built for Qt 6.2.x. Qt 6.2.x support is provided as a technology preview feature.
Qt Safe Renderer 2.0 supports Qt Design Studio 3.9 and later.
The Qt Safe Renderer 2.0 functionality has been tested with the following reference hardware configurations:
- Qualcomm Snapdragon SA8155P + QNX OS for Safety 2.0
- Qualcomm Snapdragon SA6155P + QNX OS for Safety 2.0
However, Qt Safe Renderer 2.0 can be used with a wide range of target devices and operating systems. The requirements for the target devices and operating systems are listed in Safety Manual, see Reference Target Devices. For more information about the supported environment, see Supported Development Environment.
All feedback of this release is welcome. You can report bugs and changes requests as instructed in Reporting Bugs and Change Requests.
Note: By default, the visibility of new Qt Safe Renderer bug reports and change requests are restricted and only The Qt Company employees can access those. The Qt Safe Renderer development team makes bugs and change requests public if needed.
Previous Qt Safe Renderer releases can be installed via Qt Online Installer. In the Select Component page, check Archive category and select Filter. The archived Qt Safe Renderer releases are listed under Qt Safe Renderer.
Safety Manuals for the previous QSR versions are available at https://doc.qt.io/archives/.
QSR 2.0 provides following new features:
- Rendering output verification for Qualcomm Snapdragon SA8155P. Display processor unit (DPU) CRC calculation is used for output verification.
- The fillColor feature provides a solid background color for Safe QML elements, ensuring visibility and readability by checking contrast against WCAG 2.1 guidelines.
- MISRA-C Monitor.
- Localization support.
- Touch support enabler
- Z-order, a feature that improves repainting of items by automatically refreshing overlapping UI elements. This replaces manual refreshing, making UI management easier.
- QSafeEventSender module, a new API for sending safe events from external processes to the renderer process. It uses operating system specific event queues for safe inter-process communication.
- Pre-built Qt Safe Renderer binaries built with Qt 5.15.12.
The following blog posts provide information about the new features:
- Developing Safety Application
- Qt Safe Renderer Monitor
- Qt Safe Renderer Monitor: Debugging the Safety Application
- Internationalization and Localization Support for Safety Critical UIs
The API changes have been done to the Qt Safe Renderer Runtime Component after Qt Safe Renderer 1.2 are listed in the release note appendix Qt_Safe_Renderer_Release_Note_Appendix_Runtime_API_Changes_2_0_0.pdf.
All bug fixes included in the release can be filtered via Qt Bug Tracker (https://bugreports.qt.io/). 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 2.0*" AND status = Closed and resolution in (Done,Fixed)
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 pre-built Qt Safe Renderer binaries are installed under <INSTALL DIR><Qt version><compiler>. Binaries are built with Qt 5.15.12 for Qt Safe Renderer tools and plugins.
Note: No Qt version is not automatically installed within Qt Safe Renderer. Instead, it must be separately selected. See instructions on Installing Qt Safe Renderer.
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 Monitor component
- Qt Safe Renderer runtime component
- Qt Quick plug-in
- Safe event sender plug-in
- Safe RCC tool
- Safe Config tool
The Qt Safe Renderer tools are found under the <INSTALL DIR>/Tools folder:
- qtsafelayouttool binary
- qtsafercctool binary
- qtsafeconfigtool 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
- Certification document
- Release note and its appendices
- 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 2.0 release is certified with the SEBS-A.113256/17 V3.0 certificate by TÜV NORD. The QSR 2.0 release meets the requirements listed in the following standards:
- IEC 61508:2010; Part 3; Section 7.4.4; Qualified up to SIL 3
- ISO 26262:2018; Part 8; Section 11; Part 6; Qualified up to ASIL D
- EN 50128:2011; 6.7.4; Qualified up to SIL 4
- ISO 25119-3 AMD 1:2020 Qualified up to AgPL e
QSR 2.0 can also be used as a software supporting tool in a software safety lifecycle according to IEC 62304:2015; Section C.7.
The certification document is part of the installed QSR content as described in chapter 2.
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.
There are no known safety-critical issues.
In Qt Bug Tracker (https://bugreports.qt.io/), you can filter bugs that have been reported for the QSR 2.0 release but the QSR development team has postponed the fix in some later QSR release. 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 2.0*" and resolution = Unresolved
Searching for other existing issues, see instructions on Reporting Bugs and Change Requests.
QSR 2.0 FAQs can be found in the Safety Manual. See FAQ.
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_2_0_0.pdf defines the QSR 2.0 compliance with the related standards.
Qt_Safe_Renderer_Release_Note_Appendix_Runtime_API_Changes_2_0_0.pdf lists the QSR 2.0 Runtime component API changes done after QSR 1.2 release.
Qt_Safe_Renderer_Note_2_0_0.pdf is available in the installed Qt Safe Renderer 2.0 documentation. It is electronically signed off by persons responsible for the release.
Available under certain Qt licenses.
Find out more.