Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 923476 - net-libs/webkit-gtk should depend on media-libs/mesa[gles2]
Summary: net-libs/webkit-gtk should depend on media-libs/mesa[gles2]
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-02-01 14:24 UTC by Daniel Harding
Modified: 2024-04-14 08:57 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Harding 2024-02-01 14:24:19 UTC
Version 2.41.5 of WebKitGTK removed support for the OpenGL API in the web process, instead requiring the use of GLES[1].  However, while the current net-libs/webkit-gtk ebuilds depend on media-libs/mesa, they do not enforce that media-libs/mesa be built with USE=gles2.

This was noticed when running app-office/gnucash on a system where media-libs/mesa had been built without USE=gles2.  In that case, attempting to open a report in GnuCash (which uses WebKit to render reports) simply displays a white screen and prints the message "Could not create EGL surfaceless context: EGL_BAD_ALLOC." to the console.  This message originates from WebKit's 
Source/WebCore/platform/graphics/egl/GLContext.cpp file[2][3].  Rebuilding media-libs/mesa with USE=gles2 causes GnuCash reports to display properly with no error message.

[1] https://github.com/WebKit/WebKit/commit/cfe917fec45bf72c371087ece034feee8454f1b4
[2] https://github.com/WebKit/WebKit/blob/6247bb871b437b9106c762def60044cc8ed5c3ca/Source/WebCore/platform/graphics/egl/GLContext.cpp#L380
[3] https://github.com/WebKit/WebKit/blob/6247bb871b437b9106c762def60044cc8ed5c3ca/Source/WebCore/platform/graphics/egl/GLContext.cpp#L429
Comment 1 Mart Raudsepp gentoo-dev 2024-04-14 08:40:58 UTC
Technically at least in 2.44 it only build depends on libepoxy and the rest is at runtime. Which is complicated and confusing to me in relation to closed source drivers like nvidia-drivers.