QNX Technical Articles
QNX® Screen Graphics Subsystem for QNX SDP 6.5 SP1 (201606221450): Release Notes
Date of this edition: June 23, 2016
Screen Graphics Subsystem for QNX SDP 6.5 SP1 (201606221450) includes the following:
- the Screen Graphics Subsystem
- the Gestures Library
- the Video Capture Library
We refer to Screen Graphics Subsystem for QNX SDP 6.5 SP1 (201606221450) as "the package", and the Screen Graphics Subsystem as "Screen". Note that 201606221450 identifies the build of the package, not the version of QNX SDP.
You can install the package on the following development hosts:
- Microsoft Windows 7 Professional 32- and 64-bit, Vista Business 32- and 64-bit, XP Professional SP3, or 2000 SP4
- Red Hat Enterprise Linux 5.4 Desktop 32- and 64-bit, Red Hat Fedora 12, Ubuntu Workstation 9.10, 11.04, and 12.04 32- and 64-bit, openSUSE 11
![]() |
|
![]() |
|
This package is supported on the following platforms:
- Nexcom VTC-1010
- NXP i.MX6D/Q SABRE Platform for Smart Devices (also known as "SABRE Smart”)
- TI Jacinto 6 (Revision G)
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.
![]() |
For the most up-to-date version of the installation and release notes, go to our website (www.qnx.com), log in to your myQNX account, and then go to the Download Center. |
Contents
- What's in Screen Graphics Subsystem for QNX SDP 6.5 SP1 (201606221450)?
- Which platforms are supported?
- Known issues
- Fixed issues
- Getting started with the documentation
- Technical support
What's in Screen Graphics Subsystem for QNX SDP 6.5 SP1 (201606221450)?
The following are enhancements since the previous released version of Screen:
- Improved usability of Screen API and utilities:
-
- When calling either screen_post_window() or screen_post_stream(), applications can now indicate that the entire rendering buffer is dirty .
- The screencmd utility now supports all valid properties for each Screen API object type. It also now accepts case-insensitive property names without requiring them to be necessarily prefixed with "SCREEN_PROPERTY_".
-
The vcapture-demo utility now supports an option to set the deinterlace mode
As part of the support for the TI Jacinto 6 platform, the vcapture-demo utility now supports the -dmode option.

You must use the -dmode=none option when using the NXP i.MX6 SABRE Smart as your target hardware.
- Platform support for TI Jacinto 6 (Revision G)
-
Note that there may be differences between board revisions. Ensure that you use
the specific configuration and graphics.conf, that's specific
to your target hardware. (Ref# J1460238)
Platform-specific instructions are provided in the BSP User's Guide for your platform. You can find the BSP User's Guide for your platform in the Download area on our website (www.qnx.com).
- Updated documentation (e.g., Screen Developer's Guide, Video Capture Developer's Guide)
Screen Graphics Subystem
Screen is a framework that provides all the functionality necessary to develop interactive user experiences. It's a replacement for the Photon microGUI and QNX Neutrino Advanced Graphics.
Screen provides the following:
- service for applications to generate and display graphical content
- service for applications to receive input from input devices, such as a pointer or a touchscreen
- support for graphical content from other sources, such as cameras, video decoders, and video capture sources
- support for display mechanisms to:
- control physical displays
- display graphical content
- support for the following types of rendering APIs:
- OpenGL ES 1.1, 2.0, and 3.0
- OpenVG 1.2
- native (hardware blitting)
- software (writing to buffers using the CPU)
- support for the following UI runtime environments:
- native
- Qt 5
- support for TrueType fonts (available fonts are in $QNX_TARGET/usr/share/fonts/)
- support for Freetype font engine
- tools and utilities to support debugging for applications
For more information, see the Screen Developer's Guide.
For examples of Screen applications, you can download the QNX SDP 6.5.0 SP1 Graphics Sample Source Code package that's available from the Download Center on our website, www.qnx.com
Gestures Library
The Gestures library provides gesture recognizers to detect gestures through touch events that occur when you place one or more fingers on a touchscreen.
For more information, see the Gestures Developer's Guide.
Video Capture Library
The Video capture library provides applications the ability to capture frames from a video input source. These frames can be passed to a graphics component such as Screen for display.
For more information, see the Video Capture Developer's Guide.
Which platforms are supported?
Screen for QNX SDP 6.5 SP1 (201606221450) supports the following target hardware:
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NXP | SabreSmart | i.MX6Q |
GC2000 GC320 |
Vivante 5.0.11 |
IPU3 | LVDS, HDMI | 2 |
LVDS: 1024x768 HDMI: 1280x720 |
Lilliput 10.1" FA1012 (HDMI) Innolux Hannstar |
Innolux (I2C controller) Hannstar (I2C controller) |
MIPI-CSI-2, Parallel |
OV5640 |
| Intel | VTC1010 | ATOM E3827 |
Intel 4000 |
Intel DRM 3.12.2, Mesa 10.2.3 |
N/A |
DP, VGA |
2 |
DP: 1280x720 VGA: 1280x720 |
Lilliput 10.1" FA1012 (USB controller) |
Lilliput 10.1" FA1012 (USB controller) |
N/A | N/A |
| Texas Instrument |
Jacinto 6 EVM Revision G |
ARM Dual Cortex A15 |
SGX544MP2 |
Imgtec DDK-1.9 | DSS |
DPI, HDMI |
3 |
DPI: 1280x800 HDMI: 1280x720 |
Lilliput 10.1" FA1012 |
LG (I2C Controller) |
Parallel | tvp5158 |
Known issues
Screen Graphics Subsystem for QNX SDP 6.5 SP1 (201606221450) contains the following known issues:
Screen
- When calling either screen_post_window() or screen_post_stream(), you can't specify more than 247 dirty regions.
-
If you provide a count argument that's greater than 247 to either screen_post_window() or screen_post_stream(), some dirty regions may not be redrawn. (Ref# J1467477)
-
Support for keyboard is not available by default on the following platforms:
- Nexcom VTC-1010
- NXP i.MX6
- TI Jacinto 6 (Revision G)
-
(Ref# J1513860)
Workaround: Include the keyboard mappings in the buildfile (e.g., imx6-sabresmart-graphics.build) that's included in your BSP by adding the following:
... [data=copy] ... /usr/photon/keyboard=${QNX_TARGET}/usr/photon/keyboard ...You can find the BSP and the BSP User's Guide for your platform from the Download area on our website (www.qnx.com).
For more information on how to modify your buildfile, see "Sample Buildfiles" in Building Embedded Systems.
- YUV windows might not be displayed.
-
A window that has all of the following characteristics might not be displayed if
it's positioned at the limit of the display’s upper scale range:
- Its SCREEN_PROPERTY_FORMAT property is of a YUV format
- Its SCREEN_PROPERTY_SOURCE_SIZE property has an odd-numbered width or height
- It's on its own pipeline
(Ref# J1387630)
Workaround: Set the window's SCREEN_PROPERTY_SOURCE_SIZE property so that both its width and height are even-numbered.
- Windows that require scaling may be cropped to fit in the scale range, instead of the framebuffer.
-
For scaling that's outside the scaling range of a window's pipeline, the window is cropped to fit in the scale range, instead of the framebuffer, if a framebuffer hasn’t yet been created. (Ref# J1387336)
Workaround: Ensure that you run applications that trigger the creation of a framebuffer before any scaling is required.
- When the blitter module used for composition onto a framebuffer is either screen-gles1.so or screen-gles2.so, the number of buffers for that framebuffer class must be set to 3 or less.
-
In your framebuffer's class subsection of your configuration file, graphics.conf, if you set usage to include gles1 and/or gles2, then you must also set buffer-count to a value that's no greater than 3. Otherwise, Screen crashes. For more information on how to set configuration parameters, see the "Configuring Screen" chapter in the Screen Developer's Guide. (Ref# J1472776)
- Rotation of the display isn't supported. (Ref# J1472710, J1469426, J1518412)
- The calib-touch utility doesn't support calibrating multiple displays. (Ref# J1495220)
- OpenGL ES applications' call to eglCreateContext() may fail.
-
If the filepath specified using the -c option of the screen command is too long, OpenGL ES applications' call to eglCreateContext() may fail. (Ref# J1382799)
- When screen_create_window_group() is called early in the system's bootup sequence, the window group that's generated by Screen may not be unique. (Ref# J1525054)
- Workaround: If you're calling screen_create_window_group() early in your system's bootup sequence, use a unique static name in the name argument instead of setting it to NULL.
Nexcom VTC-1010
- The attaching of buffers that aren't allocated through Screen API isn't supported. (Ref# J1351085)
- Changing the SCREEN_PROPERTY_MODE property for a display object at runtime isn't supported.
-
Don't do the following to change the SCREEN_PROPERTY_MODE property for a display:
- call screen_set_display_property_pv() from your application
- use the screencmd utility while your application is running
(Ref# J1380642)
- Don't run screen simultaneously with the VGA console (devc-con), the keyboard I/O manager (devc-con-hid), or both.
-
The hardware isn't designed to allow access to the display hardware by both VGA and GPU simultaneously. (Ref# J1385305)
- Not all Khronos GLES 2.0 conformance tests pass.(Ref# J1369495)
- Behavior in display mirroring is different between VGA and DP ports
-
When the default-display in graphics.conf is
configured to the VGA port, the following behaviors related to display mirroring are
observed:
- When display mirroring is enabled (either by setting the mirroring parameter in graphics.conf or by setting the SCREEN_PROPERTY_MIRROR_MODE with the Screen API), occasional stuttering may be observed
- Enabling mirroring can only be performed once. That is, if you have display mirroring enabled, then disable it, you won't be able to enable display mirroring again
Note that there are no issues when the default-display in graphics.conf is configured to the DP port. (Ref# J1419516)
- The WFD driver on Intel VTC-1010 doesn't support transparency on pipelines. (Ref# J1407281)
- The SCREEN_PROPERTY_POWER_MODE property supports only SCREEN_POWER_MODE_OFF. (Ref# J1424964)
i.MX6
- The display may momentarily go blue, and then black when starting, or slaying, an application.
-
This is expected behavior when the format of a single window that's on the display,
changes between a 16-bit and 32-bit RGB (e.g., when one application uses RGB565, while
another uses RGBA8888). (Ref# J1312155)
Workaround: Avoid using a mix of windows in 16-bit RGB format (e.g., RGB565) with other formats (e.g., RGBA8888, NV12, etc.), or ensure that multiple windows are visible at all times.
- LVDS clock setup doesn't follow NXP recommendations
-
(Ref# J1338327)
Workaround: None. Displays that don't use the iMX6 on-chip LVDS bridge (e.g., HDMI, parallel, or an off-chip external LVDS bridge on a custom board) are not affected.
- Changing the SCREEN_PROPERTY_MODE property for a display object at runtime isn't supported.
-
Don't do the following to change the SCREEN_PROPERTY_MODE property for a display:
- call screen_set_display_property_pv() from your application
- use the screencmd utility while your application is running
(Ref# J1380735)
- Not all Khronos GLES 2.0 and GLES 3.0 conformance tests pass. (Ref# J1371736, J1517912)
- Applications using the Vivante GPU driver that call eglReleaseThread() may crash on subsequent EGL calls. (Ref# J1403875)
- The attaching of buffers that aren't allocated through Screen API isn't supported. (Ref# J1351085)
Jacinto 6
- The SCREEN_PROPERTY_POWER_MODE property doesn't support multiple displays. (Ref# J1480030)
- Changing the SCREEN_PROPERTY_MODE property for a display object at runtime isn't supported.
-
Don't do the following to change the SCREEN_PROPERTY_MODE property for a display:
- call screen_set_display_property_pv() from your application
- use the screencmd utility while your application is running
(Ref# J1511329)
Fixed issues
Screen
- The settings of the SCREEN_PROPERTY_POWER_MODE property now behave as how they're described. (Ref# J1380906)
- Orphaned child windows are now composited by Screen. (Ref# J1443297)
- Rotation of windows now works without a framebuffer. (Ref# J1434826)
- Screen no longer sends notifications on all property changes. (Ref# J1485069)
- Screen now sends notification to a window manager, if one exists, when there's a change to a layout-related property.
-
Screen notifies a window manager, if one exists, of the following property changes:
- SCREEN_PROPERTY_CLIP_POSITION
- SCREEN_PROPERTY_CLIP_SIZE
- SCREEN_PROPERTY_DISPLAY
- SCREEN_PROPERTY_PIPELINE
- SCREEN_PROPERTY_POSITION
- SCREEN_PROPERTY_SHADOW_POSITION
- SCREEN_PROPERTY_SHADOW_SIZE
- SCREEN_PROPERTY_SIZE
- SCREEN_PROPERTY_VISIBLE
- SCREEN_PROPERTY_ZORDER
Getting started with the documentation
After you've installed the package, you'll find an extensive set of HTML documentation. On Linux and Windows development hosts, you can read it in the Integrated Development Environment's help system. On Linux, use the qde command to start the IDE; on Windows, use the desktop icon.
For the most up-to-date version of the documentation, go to the Download Center on our website, www.qnx.com.
Instructions for how to build a target image that includes Screen are provided in the BSP User's Guide for your platform. You can find the BSP User's Guide for your platform from the Download area on our website (www.qnx.com).
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.
For questions about installing and using Screen, see our Foundry27 site, http://community.qnx.com. There are other forums for specific topics, including the QNX Neutrino RTOS, development tools, networking, Board Support Packages, and so on.
