RESOLVED INVALID 236438
REGRESSION(r289106): [GTK] NVIDIA X11 broken
https://bugs.webkit.org/show_bug.cgi?id=236438
Summary REGRESSION(r289106): [GTK] NVIDIA X11 broken
Jim Mason
Reported 2022-02-10 04:32:00 PST
Created attachment 451517 [details] webkit://gpu output (working) I am finding the following broken: * Navigating to 'webkit://gpu' results in a segmentation fault (epiphany and MiniBrowser); * The tanks demo (http://webassembly.org.cn/demo/Tanks/) displays 'Your browser does not support WebGL'. Reverting the patch from Bug 235946 restores normal functionality. (I should also add, I had previously reverted the changes from Bug 236290 with no effect, so both patches were reverted in my now working build.) It was still breaking as of the most recent build I did, which was at svn rev 289465. Segmentation fault looks like this: Thread 2 received signal SIGSEGV, Segmentation fault. [Switching to Thread 1 (LWP 1)] 0x00007ff12b3f795e in WebKit::WebKitProtocolHandler::handleGPU(_WebKitURISchemeRequest*) () from /usr/lib/64/libwebkit2gtk-4.0.so.37 (gdb) bt #0 0x00007ff12b3f795e in WebKit::WebKitProtocolHandler::handleGPU(_WebKitURISchemeRequest*) () at /usr/lib/64/libwebkit2gtk-4.0.so.37 #1 0x00007ff12b3f7e22 in WebKit::WebKitProtocolHandler::handleRequest(_WebKitURISchemeRequest*) () at /usr/lib/64/libwebkit2gtk-4.0.so.37 #2 0x00007ff12b410bd4 in WebKitURISchemeHandler::platformStartTask(WebKit::WebPageProxy&, WebKit::WebURLSchemeTask&) () at /usr/lib/64/libwebkit2gtk-4.0.so.37 I have attached the output of the working 'webkit://gpu'. Thanks!
Attachments
webkit://gpu output (working) (12.57 KB, application/x-mimearchive)
2022-02-10 04:32 PST, Jim Mason
no flags
Jim Mason
Comment 1 2022-03-08 08:05:42 PST
r289106 introduces a new EGL function `glEGLImageTargetTexture2DOES` in OpenGLShims. It is the first and only EGL function in this class. OpenGLShims calls glXGetProcAddress{,ARB} to resolve the addresses of the functions. My nVIDIA-supplied libEGL includes `glEGLImageTargetTexture2DOES`, but it must be loaded via `eglGetProcAddress` instead of `glXGetProcAddress`. This seems consistent with the documentation. When I locally patch OpenGLShims to load this function with eglGetProcAddress, everything then works as expected. However, I resist submitting a patch, because I have doubts: * There is chatter in other bugs about OpenGLShims and some things seem in flux. Maybe it's better for someone else more knowledgable handle this; * Is it desired to include an EGL function in OpenGLShims? The function introduced by r289106 is the only EGL function in there; * I cannot imagine I have the only nVIDIA libraries that are doing this, but if others were affected, I would have thought someone else would have opened a bug by now, as this breaks GL.
Jim Mason
Comment 2 2023-10-05 11:06:41 PDT
This problem is no longer present as of 2.42.0, as OpenGLShims was deprecated. Closing as invalid/no longer relevant.
Note You need to log in before you can comment on or make changes to this bug.