Hi,
I have deployed Linux (based on IMX Yocto Project LF6.1.55_2.2.0) on a custom iMX93 board. A MIPI (4 lanes) LCD Display is connected to the board. I am using a custom DTS with the kernel. The panel driver has been updated with manufacturer's provided initialization code and timing settings have been addressed. The panel shows the correct testing bar image when running the following modetest command:
modetest -M imx-drm -D 1 -a -s 35@33:800x1280 -P 31@33:800x1280
Weston, however, doesn't start with 'use-g2d=true' (weston.ini).
With 'use-g2d' disabled, weston will start, however all the windows will render very slow on the display panel. When I test with '/usr/bin/weston-simple-egl', it reports ~8 fps, instead of ~60 fps (as I would expect when using g2d).
Here is the extract from the weston.log with g2d related errors:
[10:02:08.254] weston 11.0.3
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 10.0.0-661-ga509c319+
[10:02:08.255] Command line: /usr/bin/weston --log=/run/user/0/weston.log --modules=systemd-notify.so
[10:02:08.255] OS: Linux, 6.1.55-00011-g95af9f676d77-dirty, #109 SMP PREEMPT Mon Apr 8 11:44:52 CDT 2024, aarch64
[10:02:08.255] Flight recorder: enabled
[10:02:08.255] Using config file '/etc/xdg/weston/weston.ini'
[10:02:08.255] Output repaint window is 16 ms maximum.
[10:02:08.255] Loading module '/usr/lib/libweston-11/drm-backend.so'
[10:02:08.259] initializing drm backend
[10:02:08.259] Trying logind launcher...
[10:02:08.275] logind: session control granted
[10:02:08.281] using /dev/dri/card0
[10:02:08.281] DRM: supports atomic modesetting
[10:02:08.281] DRM: does not support GBM modifiers
[10:02:08.281] DRM: supports picture aspect ratio
[10:02:08.282] Loading module '/usr/lib/libweston-11/g2d-renderer.so'
[10:02:08.314] g2d_open fail.
[10:02:08.314] g2d_renderer_create faile.
[10:02:08.315] failed to initialize g2d render
My /etc/xdg/weston/weston.ini:
[core]
use-g2d=true
repaint-window=16
gbm-format=argb8888
idle-time=0
#enable-overlay-view=1
[shell]
[libinput]
touchscreen_calibrator=true
#[output]
#name=HDMI-A-1
#mode=1920x1080@60
#transform=rotate-90
#[output]
#name=HDMI-A-2
#mode=off
# WIDTHxHEIGHT Resolution size width and height in pixels
# off Disables the output
# preferred Uses the preferred mode
# current Uses the current crt controller mode
#transform=rotate-90
[screen-share]
command=/usr/bin/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize
#start-on-startup=true
I am running an imx-image-multimedia that was built with fsl-imx-wayland distro for iMX93 MCU.
It seems like the following call fails within g2d-renderer.c :
if(g2d_open(&gr->handle))
{
weston_log("g2d_open fail.\n");
return -1;
}
Any idea why weston crashes at start when trying to open a g2d handle ? Has anyone experienced a similar issue?
Any input appreciated.
Solved! Go to Solution.
Hi elFunko,
As tim_cargt mentioned, this is the DT entry that I was missing:
&epxp { status = "okay"; };
Make sure the pixel pipleline is enabled in the device tree.
&epxp {
status = "okay";
};