QNX Technical Articles
QNX SDP 7.1 Documentation Update: Release Notes
Date of this edition: March 30, 2026
QNX SDP is a cross-compiling and debugging environment, including an Integrated Development Environment (IDE) and command-line tools, for building binary images and programs for ARM v7/v8 and x86_64 targets running the QNX Neutrino RTOS. To install this update, you must have already installed the QNX Software Development Platform 7.1 on one of the following development hosts:
- Microsoft Windows 10 Pro 64-bit, or Windows 8.1 Pro 64-bit
- macOS version 10.14, or 10.15
- Linux Red Hat Enterprise Linux 7 64-bit, Ubuntu Desktop 18.04 LTS 64-bit, or Ubuntu 20.04 LTS 64-bit on x86_64 processors (QNX SDP 7.1 isn't supported on Linux on ARM processors).
Contents
- What's in this update?
- Updates and fixed issues
- Known issues
- Getting started with the documentation
- Technical support
Throughout this document, you may see Reference Numbers associated with particular issues, changes, etc. When corresponding with our Technical Support staff about a given issue, quote the relevant reference number. You can use the reference numbers to track issues as they are fixed.
What's in this update?
This update provides revised Eclipse and PDF documentation, available in separate packages:
| Name | Package ID | Package internal version | Build ID |
|---|---|---|---|
| QNX® SDP 7.1 Documentation | com.qnx.qnx710.target.docs.plugins | 0.0.10.02359T202603122200L | 2359 |
| QNX® SDP 7.1 PDF Documentation | com.qnx.qnx710.target.docs.pdf | 0.0.10.02209T202603121653L | 2209 |
In the QNX Software Center (QSC):
- the Plugins package is under Updates -> QNX Software Development Platform -> Documentation
- the PDF package is under Available -> QNX Software Development Platform -> Documentation
To install either of these packages, click its entry, then click the Install button just below the package display window on the right, and then follow the prompts in QNX Software Center. After you install the PDF package, the files for the QSC SDP documentation are found in the ~/qnx710/doc folder (Linux/macOS) or the C:Usersuseridqnx710doc directory (Windows).
To list the contents of a package:
- Right-click the package in the QNX Software Center (QSC).
- Choose Properties, and then click Package Contents in the Properties window.
Updates and fixed issues
This update includes changes to the following QNX SDP documents:
- General updates
- Software Development Platform
- QNX Advanced Virtualization Frameworks User's Guide
General updates
| Description | Reference Number |
|---|---|
The explanation of priority inheritance has been updated to clarify that the inherited
priority isn't reverted when a message reply is issued. There are notes explaining this
design in the MsgReply() and MsgReplyv() function entries, and in the
Priority inheritance and messagessection in the System Architecture guide and So what's the trick?section in the Getting Started with the QNX OS guide. |
2995514 |
| The inaccurate term "thread affinity" has been replaced with the term "processor affinity" to describe the association of a thread with a cluster of processors. | 2962615 |
| The "Thread affinity" topic has been renamed to "Processor affinity, clusters, runmasks, and inherit masks". We've rewritten it to explain how runmasks can be set for existing or newly created threads. | 2958833 |
The new safety tables for multimedia APIs have been added in the Utilities and Librariesand Multimediaguides. |
2918276 |
Software Development Platform
OS Components & Operations
Building Embedded Systems
| Description | Reference Number |
|---|---|
The Environment variablessection has been improved to explain the semantics of setting environment variables at various points in the OS image buildfile. Specifically, it now describes when the settings apply to the bootstrap executables, and how processes (single or multiple) start. |
2968210 |
Core Networking Stack User's Guide
| Description | Reference Number |
|---|---|
In the Core Networking Stack User's Guide, in the Writing Network Drivers for io-pktchapter, new content now explains that the delay example uses an io-pkt service (based on NetBSD kernel services) to provide a pseudo-thread-safe sleep. |
2898787 |
Platform-independent Publish/Subscribe Developer's Guide
| Description | Reference Number |
|---|---|
In the PiPS Configurationsection, the expected locations for PiPS provider configuration files have been listed. |
2988869 |
System Architecture
| Description | Reference Number |
|---|---|
In the System Architecture guide, the The vmstat filessection now cautions that /proc/vm/stats doesn't have a defined size and doesn't support incremental or repeated reads. |
2999317 |
Technotes
| Description | Reference Number |
|---|---|
The description for the PF flag in the Reading a Shutdown Messagepage has been updated. |
2996673 |
User's Guide
| Description | Reference Number |
|---|---|
| The /etc/shadow reference has been revised to refer to the mkshadow utility, and number of seconds has been stated instead of number of days since the start of the Unix Epoch. | 2978007 |
Audio & Graphics API
Screen Graphics Subsystem Developer's Guide
| Description | Reference Number |
|---|---|
The pipelines parameter in the Configure winmgrsection has been updated for the Configuring Screenpage. |
2968788 |
The Tutorial: Using screen_notify()and screen_unregister_event()pages have been updated. |
2987090 |
Multimedia
Multimedia Renderer
| Description | Reference Number |
|---|---|
The code sample on the Managing video windowspage of the Playing and Recording Media Content guide has been updated. |
2930901 |
The Datasection of the Multimedia Renderer API guide has been updated. |
OpenMAX AL Additions
| Description | Reference Number |
|---|---|
The descriptions for the iov_t load and off64_t offset data types on the XAQNXBufferInfopage have been updated. |
2912207 |
A new XAQ_CONFIGEXT_KEY_SCALING key has been added to the Screen-writer parameterssection. |
2901588 |
Programming
Programmer's Guide
| Description | Reference Number |
|---|---|
The definition of CPU_ROOT in the The qrules.mk include filesection has been updated. |
2986439 |
Sensor Framework
Sensor Framework Libraries
| Description | Reference Number |
|---|---|
| The difference between RGB and BGR formats has been clarified. | 2978591 |
System Security Guide
Security Features for Developers
| Description | Reference Number |
|---|---|
The |
3007372 |
Security Features for System Integrators
| Description | Reference Number |
|---|---|
The Process manager abilitiessection now has a sub-section that discusses how each process has two separate sets of process manager abilities: root and non-root. |
2992016 |
Utilities & Libraries
Addon Interfaces Library Reference
The following functions and structures have been updated:
| Description | Reference Number |
|---|---|
| The documentation for the AoLoadConfig() function has been updated. | 2933603 |
C Library Reference
The following functions and structures have been updated:
| Description | Reference Number |
|---|---|
| The return information for the fchecktrust() entry has been updated to say the following: "EOK if the file is trusted (if the operation is CHECK_TRUST_FILE) or can be executed (if the operation is CHECK_TRUST_EXEC), or an errno value if an error occurred." | 2975861 |
| The _NTO_CHF_INHERIT_RUNMASK description has been expanded to explain how the runmask stays in effect until it is explicitly changed by a call to ThreadCtl() or the thread does another MsgReceive() for the ChannelCreate(), ChannelCreate_r(), ChannelCreatePulsePool() and pidin functions. | 2991723 |
| The description for the SIGCHLD signal has been updated in the SignalAction(), SignalAction_r() entry. | 2990200 |
| The arguments in the call to MsgRegisterEvent() have been corrected for the procmgr_value_notify_add() code sample. | 2988088 |
The resmgr_msgreply() and resmgr_msgreplyv()
functions have been added, and the Returnssection has been updated in the resmgr_msgreply() entry. |
2977700 |
Descriptions for the following functions have been updated:
|
2976875 |
| The ChannelCreate() function has been updated to say that the _NTO_CHF_INHERIT_RUNMASK flag causes a runmask replacement to happen, instead of the receiver (server) thread being further restricted in terms of which processors it can run on. | 2958833 |
The mmap(), mem_offset(), and posix_mem_offset() arguments have been updated to explain how the input address
and offset don't have to be aligned to page boundaries but to each other. We've also updated:
|
2953820 |
| The name_attach() reference has been fixed to say that if the path being registered is protected by a security policy, then the process needs the PROCMGR_AID_PATHSPACE ability. | 2988715 |
| The documentation for the timer_settime() and TimerSettime() functions has been updated to explain that adjustments to CLOCK_REALTIME don't affect expiry times for timers based on this clock, and that setting the TIMER_TOLERANCE flag means that the TIMER_ABSTIME flag is ignored. | 3012175 |
| The description for the RLIMIT_FREEMEM flag has been updated for the prlimit() function to describe QNX-specific implementation. | 2997471, 2987395 |
| In the dlopen() function, the description has been updated to mention that the library search path specified by the ld utility for the -rpath option is used to search for immediate dependencies only. | 3005425 |
| The description for the RLIMIT_NPROC flag in the plimit() reference has been updated to mention that the limit applies to the current number of child processes, rather than the number of potential processes. | 3014185 |
| The thread safety status has been corrected to 'No' for the resmgr_ocb(), resmgr_iofuncs(), and resmgr_ocb_iofuncs() functions. | 3014120 |
| The error listings for the pthread_spin_init(), pthread_spin_lock(), and pthread_spin_trylock() functions have been corrected. | 2997314 |
| In the size argument of the shmctl() function, a note has been added that the function may be called again to extend existing objects. | 3008746 |
| In the ThreadCtl() function, an incorrect statement referring to CPU clusters has been removed. The description of runmask settings has been restored. | 3007347 |
| In the sigevent function, the order of sigevent field descriptions for SIGEV_SIGNAL_CODE cases has been fixed and the signatures and descriptions of the SIGEV_SIGNAL_CODE_INIT(), SIGEV_SIGNAL_CODE_INT_INIT(), and SIGEV_SIGNAL_CODE_PTR_INIT() macro functions are updated. | 2995085 |
| The inaccurate and misleading caveats statement has been removed from the pthread_setspecific() function, and the description has been updated to mention that calling the function from a destructor with a non-NULL value can cause lost storage. | 3001307 |
The Returnsand Errorssections in the wait(), wait3(), and wait4() entries have been updated. |
2993953 |
| The prlimit(), getrlimit(), and setrlimit() function entries have been updated to describe required abilities accurately and in accordance with QNX OS 8.0. | 2989866 |
PAM Reference
The following functions and structures have been updated:
| Description | Reference Number |
|---|---|
In the pam_secpolsection, a statement that the module has a default configuration file has been removed. |
3014935 |
Utilities Reference
The following utilities have been updated:
| Description | Reference Number |
|---|---|
| The user documentation which incorrectly claimed that the qcc-pg entry behaves identically to the qcc -p entry has been updated. | 2933037 |
| The dumper utility reference has been updated to say there are no default maximum sizes for the -H size and -s size options. | 2972170, 2958155 |
| The pidin entry entry has been updated to say that the _NTO_CHF_INHERIT_RUNMASK flag causes a runmask replacement, instead of the receiver (server) thread being further restricted in terms of which processors it can run on. | 2958833 |
| The description for the ring mode has been updated for the tracelogger entry. | 3016642 |
In the Commonly Used Environment Variablespage, a description has been included for the MM_CLEANUP_PRIO flag. |
2988440 |
| The descriptions for the new mm_cleanup_prio and mmflags fields have been added to the procnto* entry. | 2970866 |
QNX Advanced Virtualization Frameworks User's Guide
QNX Advanced Virtualization Frameworks Architecture
| Description | Reference Number |
|---|---|
| Some of the inaccurate statements and code examples have been fixed. | 2966524 |
USB Sharing
The following functions and structures have been updated:
| Description | Reference Number |
|---|---|
| The "Required components" page has been updated to remove the reference to sharedusbmgr source code. | 2971013 |
Virtual Socket
| Description | Reference Number |
|---|---|
| Some of the inaccurate statements and code examples have been fixed. | 2998892, 2999712, 2999248 |
Known issues
None at this time.
Getting started with the documentation
After you've installed QNX SDP, you'll find an extensive set of HTML documentation in the Integrated Development Environment (IDE) help system.
You must install the IDE as a new installation from the QNX Software Center. After launching the IDE for the first time, perform the following quick steps:
- Open the IDE.
- Close and then reopen it.
To start the IDE:
- On Windows, choose from the Start menu, or double-click the desktop icon.
- On Linux, run the IDE_base_directory/qde file, the IDE_base_directory is where you installed the IDE package.
- On macOS, click the icon labeled QNX Momentics IDE from the launchpad.
To see the HTML documentation, choose Help -> Help Contents. This opens a new window that has a navigation pane on the left and a contents pane in the rest of the window. In the navigation pane, click the QNX Software Development Platform entry to access the QNX SDP documentation.
The roadmap
page that is displayed contains links to the various HTML booksets that
accompany the OS. For a short tutorial that will help you get started, see the
Quickstart Guide, then refer to the other documents (System
Architecture, QNX Neutrino Programmer's Guide, C Library
Reference, Utilities Reference, and so on).
Technical support
To obtain technical support for any QNX product, visit the support area on our website: https://blackberry.qnx.com/en/support/qnx-support-overview. You'll find a wide range of support options.