Graphics
Release notes for QNX SDP 8.0.2 graphics updates.
The known issues are described in the QNX Software Development Platform 8.0: Known Issues document that's stored in the QNX Download Center. Log in and refer to https://www.qnx.com/download/group.html?programid=74127.
QNX SDP 8.0.2 Image Codecs Update (Build 108)
Date of this edition: April 17, 2025
Name | Package ID | Package internal version |
---|---|---|
QNX SDP 8.0 Image Codecs | com.qnx.qnx800.target.screen.img_codecs | 0.0.2.00108T202504090902L |
Updates and fixed issues
The PCX Image codec has been updated.
QNX SDP 8.0.2 Graphics Update (Build 132)
Date of this edition: March 20, 2025
Name | Package ID | Package internal version |
---|---|---|
QNX SDP 8.0 Screen Base Graphics | com.qnx.qnx800.target.screen.base | 4.0.2.00132T202501161817L |
QNX SDP 8.0 Screen Utilities | com.qnx.qnx800.target.screen.screen_utils | |
QNX SDP 8.0 Vulkan SDK for development | com.qnx.qnx800.target.screen.vulkan.sdk | |
QNX SDP 8.0 Screen Board Support drm | com.qnx.qnx800.target.screen.board.drm | |
QNX SDP 8.0 Screen Demos and Tutorials Source Code |
com.qnx.qnx800.target.screen.demos_tutorials.source |
|
QNX SDP 8.0 Video Capture |
com.qnx.qnx800.target.screen.video_capture |
|
QNX SDP 8.0 Screen WFD Server |
com.qnx.qnx800.target.screen.base.wfd_server |
|
QNX SDP 8.0 VulkanSC | com.qnx.qnx800.target.screen.vulkansc | |
QNX SDP 8.0 VulkanSC SDK | com.qnx.qnx800.target.screen.vulkansc.sdk | |
QNX SDP 8.0 Screen Device Input Utilities |
com.qnx.qnx800.target.screen.device_input_screen |
|
QNX SDP 8.0 Screen Board Support - NXP iMX8X series, common files | com.qnx.qnx800.target.screen.board.nxp.imx8.common | |
QNX SDP 8.0 Screen Board Support for TI AM62A | com.qnx.qnx800.target.screen.board.am62a | |
QNX SDP 8.0 Screen Board Support for TI AM62P | com.qnx.qnx800.target.screen.board.am62p | |
QNX SDP 8.0 Screen Board Support for TI AM62x | com.qnx.qnx800.target.screen.board.am62x | |
QNX SDP 8.0 Screen Board Support for TI J721E | com.qnx.qnx800.target.screen.board.j721e | |
QNX SDP 8.0 Screen Board Support for TI J721S2 | com.qnx.qnx800.target.screen.board.j721s2 | |
QNX SDP 8.0 Screen Board Support for TI J722S | com.qnx.qnx800.target.screen.board.j722s | |
QNX SDP 8.0 Screen Board Support for TI J742S2 | com.qnx.qnx800.target.screen.board.j742s2 | |
QNX SDP 8.0 Screen Board Support for TI J784S4 | com.qnx.qnx800.target.screen.board.j784s4 | |
QNX SDP 8.0 Screen Board Support i.MX8QM | com.qnx.qnx800.target.screen.board.imx8qm | |
QNX SDP 8.0 Screen Board Support Intel | com.qnx.qnx800.target.screen.board.intel | |
QNX SDP 8.0 Screen Board Support Intel OpenCL | com.qnx.qnx800.target.screen.board.intel.opencl | |
QNX SDP 8.0 WFD-Server Demos and Tutorials Source Code |
com.qnx.qnx800.target.screen.wfd_server.demos_tutorials.source |
Additional packages:
- Documentation (Build 117)This update includes the following packages found under Updates -> QNX Software Development Platform -> Documentation or Available -> QNX Software Development Platform -> Documentation:
Name Package ID Package internal version QNX SDP 8.0 Screen Documentation com.qnx.qnx800.target.screen.docs.plugins
4.0.1.00117T202501221715L
- Microkernel (Build 2026)This update includes the following packages found under Updates -> QNX Software Development Platform -> Microkernel or Available -> QNX Software Development Platform -> Microkernel:
Name Package ID Package internal version QNX SDP 8.0 Kernel and libc com.qnx.qnx800.target.microkernel.core
2.0.4.02026T202501161902L
- Device Input (Build 7)This update includes the following packages found under Updates -> QNX Software Development Platform -> Device Input or Available -> QNX Software Development Platform -> Device Input:
Name Package ID Package internal version QNX SDP 8.0 Device Input com.qnx.qnx800.target.screen.device_input
0.1.0.00007T202411230047L
What's new
- Vulkan has been updated to version 1.3.216.
- OpenCL has been updated to version 3.0.11.
- The VulkanSC ICD loader is now available as part of the com.qnx.qnx800.target.screen.base package. It is an experimental package.
- New screen APIs have been added to manipulate float values:
- screen_get_device_property_fv()
- screen_set_device_property_fv()
- screen_get_display_property_fv()
- screen_set_display_property_fv()
- screen_get_session_property_fv()
- screen_set_session_property_fv()
- screen_get_window_property_fv()
- screen_set_window_property_fv()
- The OpenWF Display Server (wfd-server) is now available as part of the com.qnx.qnx800.target.screen.base.wfd_server
package. It is an experimental package.
- The wfd-server is a resource manager that provides the ability to
control display output independently from QNX Screen. The separation of the display
controller from QNX Screen allows the
display of critical elements directly to the display device through
the use of OpenWF Display API in the event of a failure of other
applications using QNX Screen or QNX
Screen itself. The wfd-server
package includes the resource manager, OpenWF Display API library,
and demo and utility applications that highlight wfd-server
capabilities and its potential use cases. Note:The wfd-server was tested on Imx8QM and j721e platforms only. Other platforms might have unexpected behavior.
- The wfd-server is a resource manager that provides the ability to
control display output independently from QNX Screen. The separation of the display
controller from QNX Screen allows the
display of critical elements directly to the display device through
the use of OpenWF Display API in the event of a failure of other
applications using QNX Screen or QNX
Screen itself. The wfd-server
package includes the resource manager, OpenWF Display API library,
and demo and utility applications that highlight wfd-server
capabilities and its potential use cases.
- A new SCREEN_PROPERTY_FOCUS_MODE display property has been added. This property enables Screen to tailor focus settings based on the specific connected display.
- Support for the following Intel hardware has been added:
- Elkhart Lake
- Intel Elkhart Lake x6427FE CRB
- NexCOBOT Elkhart Lake SCB100
- Advantech Elkhart Lake AIMB-218
- Alder Lake
- Axiomtek Alder Lake MANO566
- Tiger Lake
- Kontron Tiger Lake 3.5"-SBC-TGL
- Advantech Tiger Lake MIO-5375C5
Note:If your board is not listed above, we cannot guarantee whether our driver supports your GPU or not. To confirm, contact us and provide the device ID of your GPU. To find the device ID, run the following command:
In the current example, a7a0 is the device ID.pci-tool -v | grep -B 4 "PC Compatible VGA Display Controller" B000:D02:F00 @ idx 1 vid/did: 8086/a7a0 Intel Corporation, <device id - unknown> class/subclass/reg: 03/00/00 PC Compatible VGA Display Controller
- Elkhart Lake
BSP Integration for Intel X86
########################################################################### ## Screen composition manager support ########################################################################### # Graphics support - screen /lib/dll/screen-gles2blt.so=screen-gles2blt.so /lib/dll/screen-debug.so=screen-debug.so /lib/dll/screen-stdbuf.so=screen-stdbuf.so /lib/dll/screen-sw.so=screen-sw.so /lib/libmemobj.so=libmemobj.so /lib/libscrmem.so=libscrmem.so /sbin/screen=screen /usr/lib/libEGL.so=libEGL.so /usr/lib/libGLESv2.so=libGLESv2.so /usr/lib/libOpenVG.so=libOpenVG.so /usr/lib/libOpenVGU.so=libOpenVGU.so /usr/lib/libWFD.so=libWFD.so /usr/lib/libscreen.so=libscreen.so /usr/lib/libdrm_intel.so.1=libdrm_intel.so.1 ######################################################################### ## OpenCL files to add ######################################################################### /usr/lib/libOpenCL.so=libOpenCL.so #/usr/lib/libCL.so=libCL.so ######################################################################### ## Vulkan files to add ######################################################################### /usr/lib/graphics/vulkan/VkLayer_MESA_overlay.json=graphics/vulkan/VkLayer_MESA_overlay.json /usr/lib/graphics/vulkan/VkLayer_api_dump.json=graphics/vulkan/VkLayer_api_dump.json /usr/lib/graphics/vulkan/VkLayer_api_dump.so=graphics/vulkan/VkLayer_api_dump.so /usr/lib/graphics/vulkan/VkLayer_khronos_validation.json=graphics/vulkan/VkLayer_khronos_validation.json /usr/lib/graphics/vulkan/VkLayer_khronos_validation.so=graphics/vulkan/VkLayer_khronos_validation.so /usr/lib/graphics/vulkan/vk_layer_settings.txt=graphics/vulkan/vk_layer_settings.txt /usr/lib/graphics/vulkan/libVkLayer_MESA_overlay.so=graphics/vulkan/libVkLayer_MESA_overlay.so /usr/lib/libvulkan.so=libvulkan.so ######################################################################### ## Screen applications to add ######################################################################### /usr/bin/gles2-gears=gles2-gears /usr/bin/sw-vsync=sw-vsync /usr/bin/gles2-teapot=gles2-teapot /usr/bin/gles2-maze=gles2-maze /usr/bin/gles3-gears=gles3-gears /usr/bin/events=events /usr/bin/egl-configs=egl-configs ######################################################################### ## Vulkan applications to add ######################################################################### /usr/bin/vulkaninfo=vulkaninfo /usr/bin/vkcube=vkcube /usr/bin/vk-fsray=vk-fsray /usr/bin/vk-gears=vk-gears /usr/bin/vk-maze=vk-maze /usr/bin/vk-teapot=vk-teapot ######################################################################### ## OpenCL applications to add ######################################################################### /usr/bin/clinfo=clinfo /usr/bin/cl10-pi=cl10-pi /usr/bin/cl11-ray=cl11-ray ######################################################################### ## Board Specific graphics files for Intel DRM target ######################################################################### /usr/lib/libdrm.so=libdrm.so /usr/bin/drm-probe-displays=drm-probe-displays /lib/dll/screen-inteldrm.so=screen-inteldrm.so /sbin/drm-intel-518=drm-intel-518 /usr/lib/graphics/intel-drm/crocus_dri.so=graphics/intel-drm/crocus_dri.so /usr/lib/graphics/intel-drm/gpu_drm.so=graphics/intel-drm/gpu_drm.so /usr/lib/graphics/intel-drm/[insert intel board variant graphics.conf]=graphics/intel-drm/[insert intel board variant graphics.conf] /usr/lib/graphics/intel-drm/i965_dri.so=graphics/intel-drm/i965_dri.so /usr/lib/graphics/intel-drm/intel_icd.json=graphics/intel-drm/intel_icd.json /usr/lib/graphics/intel-drm/iris_dri.so=graphics/intel-drm/iris_dri.so /usr/lib/graphics/intel-drm/libEGL-mesa.so=graphics/intel-drm/libEGL-mesa.so /usr/lib/graphics/intel-drm/libGLESv2-mesa.so=graphics/intel-drm/libGLESv2-mesa.so /usr/lib/graphics/intel-drm/libWFDintel-drm-atomic.so=graphics/intel-drm/libWFDintel-drm-atomic.so /usr/lib/graphics/intel-drm/libWFDintel-drm.so=graphics/intel-drm/libWFDintel-drm.so /usr/lib/graphics/intel-drm/libWFDintel-drm.so.1=graphics/intel-drm/libWFDintel-drm.so /usr/lib/graphics/intel-drm/libglapi-mesa.so=graphics/intel-drm/libglapi-mesa.so /usr/lib/graphics/intel-drm/libigdrcl.so=graphics/intel-drm/libigdrcl.so /usr/lib/graphics/intel-drm/libvulkan_intel.so=graphics/intel-drm/libvulkan_intel.so /usr/lib/graphics/intel-drm/libwfdcfg-intel-generic.so=graphics/intel-drm/libwfdcfg-intel-generic.so ####################################################################### ## Start the screen graphics ####################################################################### [perms=0755] /scripts/graphics_start.sh = { #!/bin/sh LD_LIBRARY_PATH=/lib:/usr/lib:/lib/dll:/lib/dll/pci:/proc/boot:/usr/lib/graphics/intel-drm PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/sbin:/opt/bin:/proc/boot echo "Starting screen" drm-intel-518 sleep 6 screen -c /usr/lib/graphics/intel-drm/[insert intel board variant graphics.conf] waitfor /dev/screen }
- Pick an existing file, i.e., graphics-nuc-6i5SYH.conf.
- Run drm-probe-displays utility. For details, refer to
drm-probe-displays.Note:Query displays the following:Make sure drm-intel-518 is running.
count_displays : 5 count_pipelines: 4 display 1: HDMI-A (HDMI-A-1), connected Mode: "1920x1080" 1920x1080 60 [...] Mode: "720x400" 720x400 70 display 2: DisplayPort (DP-1), disconnected display 3: DisplayPort (DP-2), disconnected display 4: DisplayPort (DP-3), connected Mode: "1920x1080" 1920x1080 75 [...] Mode: "640x480" 640x480 60 display 5: HDMI-A (HDMI-A-2), disconnected pipeline 1 pipeline 2 pipeline 3 pipeline 4
- Change the graphics file (in this case, it is
graphics-nuc-6i5SYH.conf) to reflect what's
reported by the utility (display 1 and display 4 are connected).Note:
- Assign the pipeline to the connected display in the WFD device section.
- Make sure to add a display (begin display) for all the connected displays.
- Make sure to add a framebuffer (begin class framebuffer) for all the connected displays, and assign a valid pipeline.
Updates and fixed issues
Description | Affected Architecture(s) | Application-Level Impact | System-Level Impact | Reference Numbers |
---|---|---|---|---|
Attempting to launch a
new instance of the Screen window manager throws the
following error:
|
Raspberry Pi 4 | None | None | 2967672 |
The screen core might dump after a slay command uses -s SIGKILL. | aarch64 | None | None | 2965912 |
When a window shares its buffer with another window, high frame rates are observed. | aarch64 | None | None | 2964603 |
A static virtual display, with deferred framebuffer-creation enabled, doesn't start the composition module as needed. | General | None | None | 2964819 |
Virtual displays don't support defer-framebuffer-creation. | aarch64 | None | None | 2962908 |
The drm server process isn't slayed with Screen for Intel boards. | General | None | None | 2956111 |
Screen creates non-displayable cursor pixmap. Cursor might not behave properly on certain platforms. | General | None | None | 2950869 |
Applications using virtual displays show lower frames per second (fps) readings than expected. | aarch64 | None | None | 2949623 |
Virtual display consumer application doesn't throttle the virtual display refresh rate, which makes the virtual display run as fast as it can (or is limited by the configured virtual vsync). | aarch64, General | None | None | 2944389 |