Igalia / cog

WPE launcher and webapp container
MIT License
236 stars 61 forks source link

cog flickering and not HW accelerated on NXP iMX8M-Plus #699

Open escherstair opened 7 months ago

escherstair commented 7 months ago

I have a SoM from Toradex, with NXP iMX8M-Plus. The OS is TorizonOS (based on kernel 5.15.52) with some pre-built containers

SoC is: 'i.MX8MP'
SoC has GPU: true
SoC has DPU: false
g2d implementation: viv
Removing previously created '.X*-lock' entries under /tmp before starting Weston. Pass 'IGNORE_X_LOCKS=1' environment variable to Weston container to disable this behavior.
dos2unix: converting file /etc/xdg/weston/weston.ini to Unix format...
dos2unix: converting file /etc/xdg/weston-dev/weston.ini to Unix format...
00:00:00.000 [INFO] [seatd/seat.c:39] Created VT-bound seat seat0
00:00:00.000 [INFO] [seatd/seatd.c:194] seatd started
Date: 2024-03-05 UTC
[09:40:19.211] weston 10.0.1
               https://wayland.freedesktop.org
               Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
               Build: lf-5.15.52-2.1.0-10-g9452feba
[09:40:19.211] Command line: weston -Bdrm-backend.so --current-mode -Swayland-0
[09:40:19.211] OS: Linux, 5.15.129-6.6.0-devel+git.756e3199ba82, #1-TorizonCore SMP PREEMPT Fri Feb 23 14:24:18 UTC 2024, aarch64

The containers are: torizon/cog:3.2.0 and torizon/weston-vivante:3.3.0 I use

torizon@649aeaf0fbbc:/$ cog --version
0.16.1 (WPE WebKit 2.38.6)

and I browse to https://webglsamples.org/fishtank/fishtank.html whith 1 fish and no sharks. I see that cog is flickering, and sometimes big white squares are shown over the webpage. Moreover the performace are poor (14 FPS) and I suspect the HW acceleration is not in use (NXP told me that I should see 60 FPS on the fishtank example). Here iks the log from cog```

(cog:1): GLib-GIO-WARNING **: 09:40:20.217: Your application does not implement g_application_activate() and has no handlers connected to the 'activate' signal. It should do one of these. Cog-Core-Message: 09:40:20.452: https://webglsamples.org/fishtank/fishtank.html Load started. Cog-Core-Message: 09:40:21.007: https://webglsamples.org/fishtank/fishtank.html Loading... Cog-Core-Message: 09:40:21.701: https://webglsamples.org/fishtank/fishtank.html Loaded successfully.


Should I specify some command line parameter to cog?
aperezdc commented 6 months ago

@escherstair Could you run Cog as follows to get additional logs?

G_MESSAGES_DEBUG=Cog,Cog-Core,Cog-Wayland cog --platform=wl <url>
escherstair commented 5 months ago

Hi @aperezdc here is the extended log

root@verdin-imx8mp-14777722:/home/torizon# G_MESSAGES_DEBUG=Cog,Cog-Core,Cog-Wayland cog --platform=wl https://webglsamples.org/fishtank/fishtank.html
(process:981): Cog-Core-DEBUG: 06:55:27.858: ensure_extension_points: Extension points registered.
(process:981): Cog-Core-DEBUG: 06:55:27.859: cog_modules_add_directory: Scanning '/usr/lib/aarch64-linux-gnu/cog/modules'
Cog-INFO: 06:55:27.871: com.igalia.Cog.Platform:
Cog-INFO: 06:55:27.871:   wl - 500/CogWlPlatform
Cog-INFO: 06:55:27.871:   drm - 200/CogDrmPlatform
Cog-INFO: 06:55:27.871:   headless - 100/CogHeadlessPlatform
(cog:981): Cog-DEBUG: 06:55:27.887: platform_setup: Platform name: wl
(cog:981): Cog-Wayland-DEBUG: 06:55:27.892: Initializing Wayland...
(cog:981): Cog-Wayland-DEBUG: 06:55:27.893: Using 'wl_compositor' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.893: Using 'wl_subcompositor' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.893: Ignoring 'wp_viewporter' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.893: Ignoring 'zxdg_output_manager_v1' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.893: Using 'wp_presentation' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.893: Ignoring 'zwp_alpha_compositing_v1' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.893: Ignoring 'zwp_relative_pointer_manager_v1' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.893: Ignoring 'zwp_pointer_constraints_v1' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.893: Ignoring 'zwp_input_timestamps_manager_v1' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.893: Ignoring 'wl_data_device_manager' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.893: Using 'wl_shm' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.893: Ignoring 'wl_viv' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.893: Ignoring 'wl_drm' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.894: Using 'wl_seat' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.894: Ignoring 'zwp_linux_dmabuf_v1' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.894: Ignoring 'weston_direct_display_v1' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.894: Ignoring 'zwp_linux_explicit_synchronization_v1' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.894: Ignoring 'weston_content_protection' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.894: Ignoring 'zwp_hdr10_metadata_v1' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.894: Using 'wl_output' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.894: Ignoring 'zwp_input_panel_v1' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.894: Ignoring 'zwp_input_method_v1' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.894: Using 'zwp_text_input_manager_v1' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.894: Using 'xdg_wm_base' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.894: Ignoring 'weston_desktop_shell' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.894: Ignoring 'weston_screenshooter' interface obtained from the Wayland registry.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.894: Initializing EGL...
Cog-Wayland-INFO: 06:55:27.924: EGL version 1.5 initialized.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.924: Creating Wayland surface...
(cog:981): Cog-Core-DEBUG: 06:55:27.938: gamepad setup: manette
(cog:981): Cog-DEBUG: 06:55:27.938: platform_setup: Selected CogWlPlatform @ 0xaaab00701e40
Could not determine the accessibility bus address

(cog:981): GLib-GIO-WARNING **: 06:55:27.959: Your application does not implement g_application_activate() and has no handlers connected to the 'activate' signal.  It should do one of these.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.959: Enumerating seat capabilities:
(cog:981): Cog-Wayland-DEBUG: 06:55:27.960:   - Pointer
(cog:981): Cog-Wayland-DEBUG: 06:55:27.961:   - Keyboard
(cog:981): Cog-Wayland-DEBUG: 06:55:27.962: Done enumerating seat capabilities.
(cog:981): Cog-Wayland-DEBUG: 06:55:27.962: Seat name: 'default'
Cog-Wayland-INFO: 06:55:27.963: Got scale factor 1 for output 0xaaab0072c500

Cog-Wayland-INFO: 06:55:27.963: Output 0xaaab0072c500 is 1280x1024 @ 60.02Hz
(cog:981): Cog-Wayland-DEBUG: 06:55:27.979: New XDG toplevel configuration: (0, 0)
(cog:981): Cog-Wayland-DEBUG: 06:55:27.980: Resized EGL buffer to: (1024, 768) @1x

Cog-Core-Message: 06:55:28.326: <https://webglsamples.org/fishtank/fishtank.html> Load started.
(cog:981): Cog-Wayland-DEBUG: 06:55:28.326: New XDG toplevel configuration: (0, 0)
(cog:981): Cog-Wayland-DEBUG: 06:55:28.327: Resized EGL buffer to: (1024, 768) @1x

Cog-Core-Message: 06:55:28.783: <https://webglsamples.org/fishtank/fishtank.html> Loading...
Cog-Core-Message: 06:55:31.288: <https://webglsamples.org/fishtank/fishtank.html> Loaded successfully.

Do you need other info?