C
Qt Safe Renderer 2.1 Release Note
About This Release
This is the Qt Safe Renderer (QSR) 2.1 release. The Qt Safe Renderer 2.1 release is published in January 2025.
Qt Safe Renderer Developer Guide
Start using the release by reading Qt Safe Renderer developer guide. It provides instructions on installing, building, and integrating Qt Safe Renderer into your safety-critical product. There are following alternatives to open the developer guide:
- Use a web browser to open the latest online documentation version: https://doc.qt.io/QtSafeRenderer/
- Install Qt Safe Renderer and use one of the following ways to open the developer guide:
- use a web browser to open <QSR INSTALL DIR>/Docs/QtSafeRenderer-2.1.0/QtSafeRenderer/qtsaferenderer-index.html.
- 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 developer guide can be found under the listed Qt help topics. Contents view and the order of the help topics depend on your Qt installation.
Safety Manual
The Qt Safe Renderer Safety Manual documentation is available via Qt's customer support. For more information, see Qt Support.
Qt Safe Renderer 2.1 Supported Environment
Qt Safe Renderer 2.1 can be used with Qt 6.5.x. However, this release includes pre-built Qt Safe Renderer binaries for Qt 6.5.8. Binaries are provided for the Qt Safe Renderer Runtime component, tools, and plugins as follows:
- For Qt Safe Renderer Runtime component, binaries are provided for QNX and host environments (Linux, macOS, and Windows).
- For Qt Safe Renderer tools, binaries are provided for host environment (Linux, macOS, and Windows).
- For Qt Safe Renderer plugins, binaries are provided for QNX and host environments (Linux, macOS, and Windows).
Also, the Qt Safe Renderer 2.1.0 system image, toolchain, and system root are provided for NXP i.MX 8QuadMax.
Examples still need to be built as instructed. For more information, see Building Qt Safe Renderer.
Qt Safe Renderer 2.1 supports Qt Design Studio 4.2 and later.
The Qt Safe Renderer 2.1 functionality has been tested with the following reference hardware configurations:
- NXP i.MX 8QuadMax for Boot to Qt 6.5 + Yocto 5.0 Linux (scarthgap)
- Qualcomm Snapdragon SA8295P + QNX OS 7.1
- Qualcomm Snapdragon SA8155P + INTEGRITY 19.0.14
However, Qt Safe Renderer 2.1 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 developer guide, see Reference Target Devices.
For more information about the supported environment, see Supported Development Environment.
System Dependencies
Qt Safe Renderer system dependencies are described in the Qt Safe Renderer Architecture specification. See chapter 4.3 Interfaces and Interaction with System.
Feedback of the Release
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
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/.
Changes to the Previous Release
New Features
Qt Safe Renderer 2.1 provides following new features:
- Qt Safe Renderer Runtime and Qt Safe Renderer Tooling are divided into separate projects. See the updated building instructions on the developer guide: Building Qt Safe Renderer.
- Qt Safe Renderer building is only supported with CMake. Qt Safe Renderer examples can be still built also with qmake.
- Qt Safe Renderer building for INTEGRITY is supported. For more information, see the developer guide: Building for INTEGRITY.
- Evaluation package for NXP i.MX 8QuadMax:
- In Qt Online installer and Qt Maintenance Tool, you can install the Qt Safe Renderer system image, toolchain, and system root for NXP i.MX 8QuadMax.
- For detailed information, see Getting Started with Qt Safe Renderer Target Devices.
- Getting Started guideline guides how to get started with Qt Safe Renderer development. See Getting Started with Qt Safe Renderer.
- Improved support for adaptations:
- Rendering output verification for NXP i.MX 8 Multisensory Enablement Kit (MEK) provides the output verification adaptation and new calccrc library for NXP i.MX 8.
- Event handler adaptation fixes for POSIX corrects the event handler adaptation and provides the timer functionality for animations and output verification.
- DRM graphics adaptation for NXP i.MX 8 Multisensory Enablement Kit (MEK) provides hardware overlay support for NXP i.MX 8.
- All reference adaptations are MISRA C++ 2008 compliant.
- For more information, see the developer guide: Supported Adaptations.
- Animation data memory optimization implements memory pool allocation for animation data at startup. It replaces static memory allocation.
- The Event Sender example that you can use for sending events to Qt Cluster and Telltales examples. See Testing Safety-Critical Rendering and Events.
- Improvements for Qt Safe Layout Tool QML and JavaScript parsing as follows:
- QSR-2273 QtSafeLayoutTool does not evaluate javascript functions for the size of the non-safe elements properly
- QSR-2378 SafeImage is not renderer in QtQuick runtime
- QSR-2383 Property references does not work right in Qt Safelayout Tool
- QSR-2388 QML build fails with unable to find target ID for PropertyChanges
- Pre-built Qt Safe Renderer binaries built with Qt 6.5.8. Binaries are provided for the Qt Safe Renderer Runtime component, tools, and plugins.
API Changes in Qt Safe Renderer Runtime Component
The API changes have been done to the Qt Safe Renderer Runtime Component after Qt Safe Renderer 2.0 are listed in the release note appendix Qt_Safe_Renderer_Release_Note_Appendix_Runtime_API_Changes_2_1_0.pdf.
Bug Fixes
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.1*" AND status = Closed and resolution in (Done,Fixed)
Release Content
The following chapters describe the installed Qt Safe Renderer content at a general level. Pre-builts binaries, sources, examples, documentation, and tools are found under the QSR installation folder <QSR INSTALL DIR>.
Qt Safe Renderer Pre-built Binaries
The pre-built Qt Safe Renderer binaries are installed under <INSTALL DIR><Qt version><compiler>. Binaries are built with Qt 6.5.8 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.
Source Code
The QSR source code is found under the <INSTALL DIR>/Src folder as follows:
- Qt Safe Renderer Tooling source code is installed under <INSTALL DIR>/Src/QtSafeRenderer-2.1.0:
- 3rd party software (that is, easing implementation)
- Qt Quick plug-in
- Safe event sender plug-in
- Safe RCC tool
- Safe Config tool
- QSR Layout generator tool
- Manual tests
- Automated unit tests and integration tests
- Qt Safe Renderer Runtime source code is installed under <INSTALL DIR>/Src/QtSafeRenderer-runtime-2.1.0:
- Qt Safe Renderer runtime component. For more information, see the Qt Safe Renderer Runtime API reference in Qt Safe Renderer Runtime C++ Classes.
- Adaptations. For more information, see Supported Adaptations.
- calcCRC library
- Event Sender
- Automated unit tests and integration tests
Tools
The Qt Safe Renderer tools are found under the <INSTALL DIR>/Tools/QSR-2.1.0 folder:
- qtsafelayouttool binary
- qtsafercctool binary
- qtsafeconfigtool binary
For more information about the QSR Tools, see Qt Safe Renderer Tools.
Examples
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.
Documentation
The Qt Safe Renderer documentation is found under the <INSTALL DIR>/Docs/QtSafeRenderer-2.1.0 folder:
- Architecture design specification
- Certification document
- Release note and its appendices
- Developer guide (open qtsaferenderer-index.html with your browser)
- SW unit design specification
- Verification report with appendices
- Verification specification with appendices
System Requirements
Linux, Windows, and macOS
are supported as development platforms.
The target device must support hardware layers because Qt Safe Renderer is the overlay on top of the non-safe UI.
The target device must support display output CRC checking if you are using external monitor component that makes it possible to run Qt Safe Renderer on the QM hardware.
The operating system of the embedded platform must fulfill the following requirements:
- Provides a way to set up the graphics overlays.
- Supports multiple processes and memory protection between the processes. For example, QNX has a microkernel architecture that prevents processes from interfering with each other. On hypervisor architectures, the non-safe main UI can run on the virtual operating system while the safety-critical content is rendered in the real-time operating system.
- All the tools that are part of producing the Qt Safe Renderer runtime binary must be certified according to the application target safety integrity level(SIL or ASIL) based on the appropriate functional safety standard.
For detailed information, see the developer guide: Supported Development Environment.
Certification Information
The Qt Safe Renderer 2.1 release is certified with the SEBS-A.113256/17 V3.0 certificate by TÜV NORD. The QSR 2.1 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.1 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 Qt Safe Renderer content as described in chapter 3.5.
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.
Known Issues
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 Qt Safe Renderer 2.1 release but the Qt Safe Renderer 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.
Qt Safe Renderer 2.1 FAQs can be found in the developer guide. See FAQ.
Backward Compatibility
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).
Appendices
Qt_Safe_Renderer_Release_Note_Appendix_Statement_of_Compliance_2_1_0.pdf defines the Qt Safe Renderer 2.1 compliance with the related standards.
Qt_Safe_Renderer_Release_Note_Appendix_Runtime_API_Changes_2_1_0.pdf lists the Qt Safe Renderer 2.1 Runtime component API changes done after Qt Safe Renderer 2.0 release.
Sign-off
Qt_Safe_Renderer_Note_2_1_0.pdf is available in the installed Qt Safe Renderer 2.1 documentation. It is electronically signed off by persons responsible for the release.
Available under certain Qt licenses.
Find out more.