Created attachment 1759176 [details] WebGL status from chrome://gpu Description of problem: We use headless chromium for server-side rendering of web pages, including WebGL graphics (SwiftShader is used in this case). After upgrade from chromium 86 to chromium 88 WebGL stopped working. The reason seem to be the SwiftShader, which is supposed to be used for WebGL on systems with no GPU. But it appears to be broken. Version-Release number of selected component (if applicable): chromium-88.0.4324.150-1.el7.x86_64 chromium-88.0.4324.150-1.fc34.x86_64 and most likely chromium-87.* How reproducible: Main condition - no (or disabled) GPU. Not sure about full mode, but in headless mode it is 100% reproducible on both CentOS and Fedora. Steps to Reproduce: 1. Run this command: >/usr/lib64/chromium-browser/chromium-browser --disable-gpu --headless --dump-dom chrome://gpu 2. Observe STDERR 3. Collect and open generated HTML. Observe WebGL and GPU Vendor sections Actual results: - STDERR contains these errors: [0224/104936.215438:ERROR:gl_initializer_linux_x11.cc(121)] eglGetProcAddress not found. [0224/104936.227872:ERROR:viz_main_impl.cc(150)] Exiting GPU process due to errors during initialization - Generated HTML from chrome://gpu shows that WebGL is disabled and there is no GPU (VENDOR= 0x0000, DEVICE=0x0000). Expected results: - Generated HTML from chrome://gpu shows that WebGL is enabled (Software only mode) and GPU section shows that SwiftShader is used (VENDOR= 0xffff [Google Inc.], DEVICE=0xffff [Google SwiftShader] *ACTIVE*) Additional info: 1. This issue doesn't seem to come from the source code, e.g. a .deb package from Linux Mint, built from the very same sources (88.0.4324.150), works fine. 2. Previous version (87.0.4280.88) is also affected by this, however the one before it (86.0.4240.198) works fine. 3. If I keep (manually replace the newer ones) SwiftShader libs from old version 86, it starts working. I am talking about /usr/lib64/chromium-browser/swiftshader/*.so 4. The issue is reproducible also with headless_shell binary.
Confirmed. Looks like something is happening to the swiftshader/libEGL.so library, it is definitely missing symbols. Pretty sure I know why too. Stay tuned.
Created attachment 1759378 [details] chromium output with patch Yup. I have a patch that fixes it. With the patch applied, this is the output from your reproducer case.
That's great! Could you please share the patch so we don't wait for official release? Not necessarily here, could be via email. Thank you so much, Tom!
Of course: https://src.fedoraproject.org/rpms/chromium/blob/rawhide/f/chromium-88.0.4324.182-gcc-fix-swiftshader-libEGL-visibility.patch Rawhide is building now, I can't send too many chromium builds through koji at once or it gets sad.
No surprise :) Thanks for the patch. It was lightning-fast!
FEDORA-2021-6f9ba419d1 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-6f9ba419d1
FEDORA-2021-4f9c663b52 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2021-4f9c663b52
FEDORA-EPEL-2021-580891d7f4 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-580891d7f4
FEDORA-EPEL-2021-a2e8a7475f has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-a2e8a7475f
FEDORA-2021-6f9ba419d1 has been pushed to the Fedora 33 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-6f9ba419d1` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-6f9ba419d1 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-EPEL-2021-a2e8a7475f has been pushed to the Fedora EPEL 8 testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-a2e8a7475f See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-EPEL-2021-580891d7f4 has been pushed to the Fedora EPEL 7 testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-580891d7f4 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-4f9c663b52 has been pushed to the Fedora 32 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-4f9c663b52` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-4f9c663b52 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-64ebb7a933 has been pushed to the Fedora 34 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-64ebb7a933` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-64ebb7a933 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-6f9ba419d1 has been pushed to the Fedora 33 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2021-c88a96bd4b has been pushed to the Fedora 32 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-c88a96bd4b` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-c88a96bd4b See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-EPEL-2021-9ca5d37fa8 has been pushed to the Fedora EPEL 8 testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-9ca5d37fa8 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-EPEL-2021-7b1c8f21d9 has been pushed to the Fedora EPEL 7 testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-7b1c8f21d9 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-64ebb7a933 has been pushed to the Fedora 34 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2021-c88a96bd4b has been pushed to the Fedora 32 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-EPEL-2021-9ca5d37fa8 has been pushed to the Fedora EPEL 8 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-EPEL-2021-7b1c8f21d9 has been pushed to the Fedora EPEL 7 stable repository. If problem still persists, please make note of it in this bug report.