serenity
serenity copied to clipboard
LibWeb: GPU Painting fails on Ubuntu
./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 is that still reproducible on master for you? I expect it to be fixed by https://github.com/SerenityOS/serenity/pull/22872