Graphics and Screen

QNX SDP8.0Migrating to QNX OS 8.0Developer

Specifying a display in graphics.conf

You can no longer use a string name to specify a display in graphics.conf. Instead, you must use an integer, where the first display is 1. For example:

begin display 1

The following example entry is now invalid:

begin display hdmi

SCREEN_PROPERTY_COLOR_SPACE for display object

Specifying the SCREEN_PROPERTY_COLOR_SPACE property for a display object now returns ENOTTY. In Screen 7.1 and earlier, Screen was actually returning chromaticity coordinates. Instead of SCREEN_PROPERTY_COLOR_SPACE, use the new property SCREEN_PROPERTY_CHROMATICITY_COORDS, which reflects the nature of the property.

OpenGL ES

The following OpenGL ES products are removed from SDP 8.0:
  • OpenGL ES 1.x — the usage flag SCREEN_USAGE_OPENGL_ES1 and gles1 rendering are no longer available. Update all usage flags to either SCREEN_USAGE_OPENGL_ES2, or SCREEN_USAGE_OPENGL_ES3 (if your system supports OpenGL ES 3.x).
  • OpenGL ES 2.x (gles2) composer — use gles2blt instead. In graphics.conf, update all occurrences of usage = gles2 to usage = gles2blt.

SCREEN_EVENT_DEVICE

Screen now issues a SCREEN_EVENT_CREATE or SCREEN_EVENT CLOSE event instead of a SCREEN_EVENT_DEVICE event when devices are attached or detached. Use the SCREEN_PROPERTY_OBJECT_TYPE event property to check which object type the Screen event corresponds to.

Dropping root privilege

Automatically switching to a specified user after initialization is no longer supported (when you start screen with -u). You now must write the drop_privileges string to /dev/screen/command to cause Screen to drop its root privilege.

FreeType library

QNX SDP 8.0 does not include FreeType 1.x. Applications need to migrate to FreeType 2.x.

The required headers are in the freetype2 folder. The following example common.mk entry adds the freetype2.h headers:
EXTRA_INCVPATH += $(addsuffix /freetype2,$(USE_ROOT_INCLUDE))

OpenCL library

To align with the open-source community, LibCL.so has been replaced with libOpenGL.so.

Page updated: