serenity icon indicating copy to clipboard operation
serenity copied to clipboard

LibWeb: GPU Painting fails on Ubuntu

Open ADKaster opened this issue 2 years ago • 1 comments

./Meta/serenity.sh run lagom ladybird --enable-gpu-painting

When I run this from my VsCode window, I get this:

FontDatabase::load_all_fonts_from_uri('file:///home/andrew/.local/share/fonts'): open: No such file or directory (errno=2)
GLSL shader compilation failed: ^�l?
VERIFICATION FAILED: false at /home/andrew/serenity/Userland/Libraries/LibAccelGfx/Program.cpp:29
/home/andrew/serenity/Build/lagom/lib/liblagom-core.so.0(ak_verification_failed+0xef) [0x7f0b635b721f]
/home/andrew/serenity/Build/lagom/lib/liblagom-accelgfx.so.0(+0x9129) [0x7f0b65569129]
/home/andrew/serenity/Build/lagom/lib/liblagom-accelgfx.so.0 AccelGfx::Program::create(char const*, char const*) 0x2c) [0x7f0b65568fdc]
/home/andrew/serenity/Build/lagom/lib/liblagom-accelgfx.so.0 AccelGfx::Painter::Painter(AccelGfx::Context&) 0x45) [0x7f0b655652a5]
/home/andrew/serenity/Build/lagom/lib/liblagom-accelgfx.so.0 AccelGfx::Painter::create() 0x28) [0x7f0b65565248]

When I run it from a terminal, I get an entirely black viewport.

This can be worked around by explicitly linking WebContent against GL after LibAccelGfx in Ladybird/WebContent/CMakeLists.txt

This smells like ODR violations between host GL and our serenity GL for the global GL symbols used in WebGL

cc @kalenikaliaksandr

ADKaster avatar Nov 06 '23 21:11 ADKaster

@ADKaster is that still reproducible on master for you? I expect it to be fixed by https://github.com/SerenityOS/serenity/pull/22872

kalenikaliaksandr avatar Jan 21 '24 14:01 kalenikaliaksandr