Bug 1932692 - WebGL doesn't work in software mode (SwiftShader is broken)
Summary: WebGL doesn't work in software mode (SwiftShader is broken)
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: chromium
Version: epel7
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Tom "spot" Callaway
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-02-24 23:34 UTC by Ivan Butorin
Modified: 2021-03-27 00:42 UTC (History)
4 users (show)

Fixed In Version: chromium-88.0.4324.182-2.fc33 chromium-88.0.4324.182-2.fc34 chromium-89.0.4389.82-1.fc32 chromium-89.0.4389.82-1.el8 chromium-89.0.4389.82-1.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-03-03 23:15:44 UTC
Type: Bug


Attachments (Terms of Use)
WebGL status from chrome://gpu (104.10 KB, image/png)
2021-02-24 23:34 UTC, Ivan Butorin
no flags Details
chromium output with patch (82.39 KB, text/html)
2021-02-25 19:55 UTC, Tom "spot" Callaway
no flags Details

Description Ivan Butorin 2021-02-24 23:34:21 UTC
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.

Comment 1 Tom "spot" Callaway 2021-02-25 16:09:43 UTC
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.

Comment 2 Tom "spot" Callaway 2021-02-25 19:55:23 UTC
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.

Comment 3 Ivan Butorin 2021-02-25 22:56:56 UTC
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!

Comment 4 Tom "spot" Callaway 2021-02-25 23:14:08 UTC
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.

Comment 5 Ivan Butorin 2021-02-25 23:19:34 UTC
No surprise :) Thanks for the patch. It was lightning-fast!

Comment 6 Fedora Update System 2021-03-02 14:31:52 UTC
FEDORA-2021-6f9ba419d1 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-6f9ba419d1

Comment 7 Fedora Update System 2021-03-02 14:31:52 UTC
FEDORA-2021-4f9c663b52 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2021-4f9c663b52

Comment 8 Fedora Update System 2021-03-02 14:31:53 UTC
FEDORA-EPEL-2021-580891d7f4 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-580891d7f4

Comment 9 Fedora Update System 2021-03-02 14:31:55 UTC
FEDORA-EPEL-2021-a2e8a7475f has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-a2e8a7475f

Comment 10 Fedora Update System 2021-03-02 15:57:19 UTC
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.

Comment 11 Fedora Update System 2021-03-02 16:07:22 UTC
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.

Comment 12 Fedora Update System 2021-03-02 16:07:43 UTC
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.

Comment 13 Fedora Update System 2021-03-02 16:30:13 UTC
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.

Comment 14 Fedora Update System 2021-03-03 15:46:20 UTC
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.

Comment 15 Fedora Update System 2021-03-03 23:15:44 UTC
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.

Comment 16 Fedora Update System 2021-03-12 20:13:43 UTC
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.

Comment 17 Fedora Update System 2021-03-12 20:28:47 UTC
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.

Comment 18 Fedora Update System 2021-03-12 20:45:52 UTC
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.

Comment 19 Fedora Update System 2021-03-19 17:43:33 UTC
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.

Comment 20 Fedora Update System 2021-03-19 19:59:40 UTC
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.

Comment 21 Fedora Update System 2021-03-20 01:13:55 UTC
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.

Comment 22 Fedora Update System 2021-03-27 00:30:18 UTC
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.

Comment 23 Fedora Update System 2021-03-27 00:42:37 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.