On 24/10/2025 13:48, Jocelyn Falempe wrote:
On 24/10/2025 13:53, Tvrtko Ursulin wrote:

On 24/10/2025 12:04, Jocelyn Falempe wrote:
On a lenovo se100 server, when using i915 GPU for rendering, and the
ast driver for display, the graphic output is corrupted, and almost
unusable.

Adding a clflush call in the vmap function fixes this issue
completely.

AST is importing i915 allocated buffer in this use case, or how exactly is the relationship?

I think it's mutter/gnome-shell who copy the buffer from i915 to ast, here is the logs:

gnome-shell[2079]: Failed to initialize accelerated iGPU/dGPU framebuffer sharing: Do not want to use software renderer (llvmpipe (LLVM 19.1.7, 256 bits)), falling back to CPU copy path
gnome-shell[1533]: Created gbm renderer for '/dev/dri/card0'
gnome-shell[1533]: GPU /dev/dri/card1 selected as primary

card0 is ast and card1 is i915

Do you think there is something missing in mutter?

No idea. I only notice that the log message "falling back to CPU copy path" has been removed from the codebase in:

commit d4e8cfa17a3a69965b9bd130ded46cf54a438908
Author: Jonas Ådahl <[email protected]>
Date:   Wed May 5 15:53:59 2021 +0200

    renderer/native: Use MetaRenderDevice

    This replaces functionality that MetaRenderDevice and friends has
    learned, e.g. buffer allocation, EGLDisplay creation, with the usage of
    those helper objects. The main objective is to shrink
    meta-renderer-native.c and by extension meta-onscreen-native.c, moving
    its functionality into more isolated objects.

    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1854>

So long long time ago. Maybe worth trying with a newer version?

Regards,

Tvrtko

Reply via email to