what is graphics.conf?
graphics.conf is a configuration file in the QNX screen framework, which is used to define the graphics properties and behavior of the QNX screen system. Usually loaded when the screen service starts (via screen -c $PATH/graphics.conf). The content of graphics.conf configuration includes: specifying various graphics-related settings, display resolution, color mode, refresh rate, allocation of image buffers, and other options related to graphics display.
graphics.conf configuration content (section)
chronos
Specifies libraries and parameters related to Khronos (GPU and WFD libraries). The libraries and parameters in this section apply to EGL display and WFD drivers. This section begins with begin khronos and ends with the end khronos statement.
The khronos section can contain the following subsections:
• egl display
• wfd device
example:
begin khronos
begin egl display 1
egl-dlls = libESXEGL_Adreno.so
glesv2-dlls = libESXGLESv2_Adreno.so
glesv1-dlls = libESXGLESv1_CM_Adreno.so
eglsub-dlls = libscreen.so.1 libeglSubDriverQnx.so
c2d-dlls = c2d30.so
gralloc-module = Adreno
end egl display
begin wfd device 1
wfd-dlls = libopenwfd_qnx.so
end wfd device
end khronos
winmgr
Start with begin winmgr and end with end winmgr. It is used to configure screen related parameters, such as screen global configuration, display parameters, framebuffer configuration, etc.
This section usually also needs to configure subsections: globals, display, class
globals
This configuration section is used to specify global parameters that apply to the entire Screen framework. It starts with "begin globals" and ends with "end globals". There can only be one globals section in a configuration file.
In the globals section, you can set some parameters applicable to the entire Screen framework, such as the default settings of the screen, global display configuration, input device settings, etc. These parameters will apply to all parts in the whole system.
It should be noted that this section supports many parameters, which can be modified according to actual needs. For more parameter details, please refer to P693 in the QNX screen 7.0 Developer Manual .
example:
begin globals
blit-config = c2d
input = keyboard,mouse
default-display = 1
end globals
- blit-config=c2d: This parameter specifies the blit configuration using C2D (Composition Manager 2D).
- input = keyboard,mouse: This parameter specifies the default input device, where the keyboard and mouse are defined as input devices.
- default-display = 1: This parameter specifies the number of the default display, which is set to 1 here.
display
The display subsection specifies configurations applicable to the physical displays supported by the platform. This section must start with "begin display display_id" and end with "end display". Multiple display subsections are allowed, and the actual number depends on the physical displays supported by your system.
example:
begin display 1
video-mode = 1920 x 720 @ 60
cursor = auto
end display
Similarly, display also supports a lot of parameters:
Some parameter configurations need to be configured in specific scenarios, otherwise a black screen will appear, such as background-alpha = 0, in the case of using the scale feature and rotation feature, if not configured, a black screen may appear (enable scale or rotation).
class
The class is divided into Framebuffers and Application windows.
Framebuffers: Configure framebuffers for each display, and screen allows each display to use a framebuffer.
example,
begin class framebuffer3
display = 3
pipeline = 8
format = rgba8888
usage = gles2
end class
Application windows:todo
Summarize
Generally, several roles of the graphic.conf file may be modified:
Chip original engineer: Usually it will be modified when doing display/GPU driver porting
Each OEM/T1 engineer/architect: Mainly modify the configuration according to the actual project requirements, usually focusing on the display and framebuffer section.