Home
Developer Resources
Technical Articles

QNX Technical Articles

QNX® Software Development Platform 7.1 — Screen (Build ID 110): Release Notes

Date of this edition: July 10, 2023


Note: Changes to these notes since June 9, 2022 are highlighted below with this icon: New:


Target OS: This update is compatible with targets that are running the QNX® Neutrino® that's based on QNX Software Development Platform 7.1.

Host OS: To apply this update, you must have 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 for x86_64 processor: Ubuntu 18.04 LTS, or Ubuntu 20.04 LTS, or Red Hat Enterprise Linux 7 (QNX SDP isn't supported on Linux on ARM processors)

Contents

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, please quote the relevant reference number. You might also find the reference numbers useful for tracking issues as they become fixed.

What's in this update?

This update provides:

  • Fixes and updates to Screen functionality
  • Updates to Screen documentation

This update includes the following packages found under Updates -> QNX Software Development Platform or Available-> QNX Software Development Platform:

Name Package Build ID
Graphics -> QNX SDP 7.1 Screen com.qnx.qnx710.target.graphics.group_3.2.0.00110T202205092150L 110
Graphics -> QNX SDP 7.1 Screen Base Graphics com.qnx.qnx710.target.screen.base_3.2.0.00110T202205092150L 110
Device Input -> QNX SDP 7.1 Device Input Utilities com.qnx.qnx710.target.screen.device_input_screen_3.2.0.00110T202205092150L 110
Video Capture -> QNX SDP 7.1 Screen Video Capture com.qnx.qnx710.target.screen.video_capture_3.2.0.00110T202205092150L 110
Screen Utilities -> QNX SDP 7.1 Screen Utilities com.qnx.qnx710.target.screen.screen_utils_3.2.0.00110T202205092150L 110
Source Bundles -> QNX SDP 7.1 Screen Demos and Tutorials Source Code com.qnx.qnx710.target.screen.demos_tutorials.source_3.2.0.00110T202205092150L 110
Documentation -> QNX SDP 7.1 Screen Documentation com.qnx.qnx710.target.screen.docs.plugins_3.2.0.00141T202205061034L 141
Screen Board Support -> QNX SDP 7.1 Screen Board Support for Vulkan development com.qnx.qnx710.target.screen.board.vulkan.dev_3.2.0.00110T202205092150L 110
Screen Board Support -> QNX SDP 7.1 Screen Board Support - Qualcomm C2D blitter com.qnx.qnx710.target.screen.board.qualcomm.c2d_3.2.0.00110T202205092150L 110
Screen Board Support -> QNX SDP 7.1 Screen Board Support drm com.qnx.qnx710.target.screen.board.drm_3.2.0.00110T202205092150L 110

The following package is experimental and in the final stages of development and testing. It is not available to download for Screen. If this package is of interest to you, contact your QNX sales representative.

Name Package Build ID
Screen Board Support -> QNX SDP 7.1 Screen Board Support VirtIO com.qnx.qnx710.target.screen.board.virtio_3.2.0.00110T202205092150L 110

To see a list of the contents of a package, right-click it in the QNX Software Center, choose Properties, and then click Package Contents.

Updates

General updates

  • Configuration from the globals subsection of your graphics configuration file is now available through the /dev/screen/globals file.
  • Screen now supports up to 32 displays.
  • The following new APIs: screen_dequeue_window_render_buffer() and screen_dequeue_stream_render_buffer() to acquire the next available buffer have been added.
  • Direct Rendering Manager (DRM) files can now be found in the com.qnx.qnx710.target.screen.board.drm package instead of the com.qnx.qnx710.target.screen.base package.
  • vncserv can now be found in the com.qnx.qnx710.target.screen.screen_utils package instead of the com.qnx.qnx710.target.screen.base package.
  • Screen version number has been updated to 3.2.0.

Format updates

The following new pixel formats were added. Check with your platform provider to see if they are available for your platform:

  • SCREEN_FORMAT_P010
  • SCREEN_FORMAT_BGRA8888
  • SCREEN_FORMAT_BGRX8888
  • SCREEN_FORMAT_RGBA1010102
  • SCREEN_FORMAT_RGBX1010102
  • SCREEN_FORMAT_BGRA1010102
  • SCREEN_FORMAT_BGRX1010102

The following Qualcomm pixel format is now available on supported Qualcomm platforms:

  • SCREEN_FORMAT_QC_TP10

Screen binary updates

This update includes new binaries and demos that can be found in the com.qnx.qnx710.target.screen.base package.

The following OpenCL demos are added:

  • cl10-pi
  • cl11-ray
  • clinfo

New Vulkan demos are added, they are:

  • vk-fsray
  • vk-gears
  • vk-maze
  • vk-teapot
  • vkcube
  • vulkaninfo

Board support

The following platforms are supported in this update:

Board Supplier Board Name CPU GPU GPU Stack Display Controller Display Interface Number of Displays Display Resolution Monitor Name Touch Video Capture Interface Video Decoder
Qualcomm Hanna (QC8155) Snapdragon SA8155P Custom 64-bit Kryo octa-core CPU A640 Adreno™ 640 Hexagon™ 6 DSP N/A

2x via dual MIPI 4-Lane DSI to DP

2x via USB to DP

1x eDP

1080p N/A N/A 8 GMSL cameras N/A
virtio-gpu Virtual GPU for QNX Guest N/A Tunnelling Mesa3D 18.3.6, i915/DRM 4.18.20. N/A N/A N/A HDMI: 1080p (1920 x 1080 @ 60) Host Display virtio-input N/A N/A

Note:

Screen board support packages previously released with QNX SDP 7.1 haven't been tested with this update of Screen.

Screen board packages must be installed individually. They are located in the QNX Software Center. Navigate to Screen Board Support. When you expand Screen Board Support, you may see a list of several Screen board support packages. However, this update is tested with only the QNX SDP 7.1 Screen Board Support packages listed above.


Fixed issues

This update also includes several major fixes; the following are those that have the most impact to user experience:

General
  • The C2D composer error: 'Adreno-C2D [screen:45087:11] [c2d_lock:277]: c2dUpdateMappedSurfaceIT is called when C2D Driver Not Initialized', is now placed in the slog output and is no longer displayed. (Ref# J2915566)
  • vncserv now supports keycap values on keyboard events. (Ref# J2905271)
  • Fixed gltraceprinter memory fault issues. (Ref# J2903100)
  • The OpenCL library libCL.so(.1) is renamed to libOpenCL.so(.1). (Ref# J2900829)
  • calib-touch is no longer a window manager. (Ref# J2900526)
  • Improved calib-touch, it now works with multiple device configurations. (Ref# J2899003)
  • The SCREEN_FLAG_SOURCE_POSITION_VALID and SCREEN_FLAG_POSITION_VALID flags now set correctly as described in the documentation. (Ref# J2898551)
  • The Direct Rendering Manager (DRM) library no longer requires root user rights. (Ref# J2898163)
  • Improved error handling and parsing of the graphics.conf file. (Ref# J2897221, J2895950)
  • The function screen_notify() is now improved. (Ref# J2893994)
  • You cannot use screen_create_window_group() to create a window group with a parent of window type SCREEN_EMBEDDED_WINDOW or SCREEN_ROOT_WINDOW. (Ref# J2892979)
  • The use of Pointer Sessions sometimes creates a residual cursor as the cursor is moved from one display to the next. This results in multiple cursors being displayed. This is now resolved. (Ref# J2892928)
  • When Screen is not running in full screen mode, sometimes a trail of cursor remnants is shown. This issue is now resolved. (Ref# J2892456)
  • GLES2 Screen composer now supports YUY2 pixel format. (Ref# J2886460)
  • Dirty rectangles no longer disappear when the display is rotated. (Ref# 2878213)
  • gltraceprinter no longer does a core dump when reading the glev file. (Ref# J2877531)
  • Screen no longer crashed when moving a window from a display with the allow-bypass configuration parameter to another display. (Ref# J2876789)
  • The property SCREEN_PROPERTY_SOURCE_CLIP_SIZE now follows the range and limitations mentioned in the documentation. (Ref# J2786674)
  • You can now use your display's dislay_id with vncserv. (Ref# J2892764)
  • vncserv now uses SCREEN_DISPLAY_MANAGER_CONTEXT context type. (Ref#: J2892136)
  • Cursor movement now translates correctly when the display is rotated with the SCREEN_DISPLAY_MANAGER_CONTEXT context type. (Ref#: J2891605)

Known issues

These are the known issues with this update:

General
  • New: The modifications made to the screen_display_mode_t public structure can cause undefined behavior in applications that use the structure. (Ref# J2941150)

    Workaround: Recompile your applications with the new header found in the package in this release.

  • When you take a screenshot of an application that has alpha values, the result may not reflect what is on the display. (Ref# J2916515)
  • Using two Vulkan layers at the same time may cause your application to crash. (Ref# J2914024)
  • Using a single buffer stream may result in a producer/consumer lockup. (Ref# J2913367)
  • You may experience a conflict dependency error when installing the com.qnx.qnx710.target.graphics.group package if you have a previously installed older version of com.qnx.qnx710.target.screen.screen_utils. (Ref# J2918171)

    Workaround: Use the Remediate option in the Install Window.

Qualcomm

The following issues were observed with the Snapdragon_Auto.HQX.3.2.4.0-00005-STD.PROD-1 board support package:

  • OpenGL and EGS applications using eglSwapBuffer() are clamped to 60fpsd events when eglSwapInterval is set to zero(0). (Ref# J2915372)
  • OpenCL libraries cannot be used with the QNX ICD loader. (Ref# J2914728)

    Workaround: You need to directly link the OpenCL library provided by Qualcomm.

  • Blitting to external memory may cause a system freeze. (Ref# J2913485)
  • The default security policy in the BSP image will cause a permission denied error when you try to attach external memory to a Screen buffer object. (Ref# J2913482)
  • gles1-* applications are not supported. (Ref# J2916683)
virtio-gpu for QNX guest
  • A small memory leak occurs when starting and killing application(s) that use the GPU. This leak can be observed on both the QNX guest and host systems. (Ref# J2908113)
  • Restarting Screen on the guest system may result in unexpected behaviour. (Ref# J2916389)
  • You need the host to operate in 3D mode to run Screen. (Ref# J2917002)

Technical support

To obtain technical support for any QNX product, visit the Support area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.