Skip to content

Fullscreen artifacts on error page when image geometry does not match surface geometry #795

Description

@tkirchner-emlix

This issue is probably related to
#489

which was (mostly?) fixed by
#539

While successfully loaded URLs display fine, when cog immediately hits the error page after launch, we observe the artifact that only approx. the top half of the screen is drawn correctly, but the bottom half is dark.

When applying the workaround of #489 to hardcode DEFAULT_WIDTH/HEIGHT in platform/wayland/cog-platform-wl.c to the displayplay's actual dimension everything works fine.

Tested with cog 0.19.1 (and also 0.18.5).

Logs of the "failure" invocation with invalid URL http://127.0.0.1:81
fail-log.txt

Logs of successful invocation with valid URL:
success-log.txt

Tested on a small screen (800x480) on an
Vivante GC2000 (using the etnaviv Mesa driver).
Some platform info (weston log) :

[07:03:55.624] OS: Linux, 6.12.103-Foobar-BSP, #1 SMP Fri Aug 14 14:19:41 UTC 2026, armv7l
[07:03:55.624] Flight recorder: enabled
[07:03:55.625] Using config file '/etc/xdg/weston/weston.ini'
WARNING: debug protocol has been enabled. This is a potential denial-of-service attack vector and information leak.
[07:03:55.627] Output repaint window is 15 ms maximum.
[07:03:55.627] Loading module '/usr/lib/libweston-13/drm-backend.so'
[07:03:55.631] initializing drm backend
[07:03:55.632] Trying libseat launcher...
[07:03:55.638] [seatd/seat.c:48] Created VT-bound seat seat0
[07:03:55.640] [seatd/server.c:145] New client connected (pid: 648, uid: 0, gid: 0)
[07:03:55.640] [libseat/backend/seatd.c:673] Started embedded seatd
[07:03:55.641] [seatd/seat.c:239] Added client 1 to seat0
[07:03:55.641] [seatd/seat.c:563] Opened client 1 on seat0
[07:03:55.642] [libseat/libseat.c:73] Seat opened with backend 'builtin'
[07:03:55.642] [libseat/backend/seatd.c:212] Enabling seat
[07:03:55.642] libseat: session control granted
[07:03:55.684] using /dev/dri/card0
[07:03:55.684] DRM: supports atomic modesetting
[07:03:55.684] DRM: supports GBM modifiers
[07:03:55.685] DRM: does not support async page flipping
[07:03:55.685] DRM: supports picture aspect ratio
Failed to create /root/.cache for shader cache (Read-only file system)---disabling.
[07:03:55.790] Loading module '/usr/lib/libweston-13/gl-renderer.so'
[07:03:55.840] Using rendering device: /dev/dri/renderD128
[07:03:55.840] EGL version: 1.4
[07:03:55.841] EGL vendor: Mesa Project
[07:03:55.841] EGL client APIs: OpenGL OpenGL_ES 
[07:03:55.842] EGL features:
               EGL Wayland extension: yes
               context priority: no
               buffer age: yes
               partial update: yes
               swap buffers with damage: no
               configless context: yes
               surfaceless context: yes
               dmabuf support: modifiers
[07:03:55.861] GL version: OpenGL ES 2.0 Mesa 25.3.6
[07:03:55.861] GLSL version: OpenGL ES GLSL ES 1.0.16
[07:03:55.861] GL vendor: Mesa
[07:03:55.862] GL renderer: Vivante GC2000 rev 5108
[07:03:55.862] warning: Disabling render GPU timeline due to missing GL_EXT_disjoint_timer_query extension
[07:03:55.937] GL ES 2.0 - renderer features:
               read-back format: ARGB8888
               glReadPixels supports y-flip: yes
               wl_shm 10 bpc formats: yes
               wl_shm 16 bpc formats: no
               wl_shm half-float formats: no
               internal R and RG formats: no
               OES_EGL_image_external: yes

Cpu:

cat /proc/cpuinfo 
processor       : 0
model name      : ARMv7 Processor rev 10 (v7l)
BogoMIPS        : 6.00
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpd32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x2
CPU part        : 0xc09
CPU revision    : 10
...
Hardware        : Freescale i.MX6 Quad/DualLite (Device Tree)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions