Description of problem: Since Fedora 34 ships the KDE/Plasma spinn with as default and should use WebRender to get full performance. This will also enable hardware accelerated webgl. Version-Release number of selected component (if applicable): Fedora-KDE-Live-x86_64-34_Beta-1.3 Firefox 86. How reproducible: When launching with MOZ_ENABLE_WAYLAND=1 Firefox will be incredibly slow. This is on a Intel iGPU. Steps to Reproduce: 1. Start firefox with MOZ_ENABLE_WAYLAND=1 on LiveCD. Actual results: Firefox is unusably slow and shows error message: Failed to load EGL library: FEATURE_FAILURE_EGL_LOAD_3 and Failed GL context creation for WebRender. Expected results: A fast browsing experience. Additional info: Can be worked around by simply installing libglvnd-gles.
Note: This is already installed by default on Gnome/Workstation.
Setting component to comps, as that's where the change will need to land. In the meantime, I've opened an issue with the KDE SIG for them to decide if they want to make this change: https://pagure.io/fedora-kde/SIG/issue/55
Firefox needs to recommend/require this package, because this is *Firefox's* need, and the rest of Plasma does not use it.
Here's a PR to do this: https://src.fedoraproject.org/rpms/firefox/pull-request/32
Switching back to comps, as I don't think we'll get the Firefox maintainer to accept the change at the package level (even though that's the correct place).
Comps PR: https://pagure.io/fedora-comps/pull-request/648
Proposed as a Freeze Exception for 34-final by Fedora user ngompa using the blocker tracking app because: Without this fix, the Firefox WebRender backend does not work correctly due to missing GLES library.
Okay, let's see what installs libglvnd-gles on F33: $ dnf repoquery --whatrequires libglvnd-gles efl-0:1.25.1-4.fc33.x86_64 egl-utils-0:8.4.0-8.20181118git1830dcb.fc33.x86_64 elementary-greeter-0:5.0.4-5.fc33.x86_64 gala-libs-0:3.3.2-5.git88e3294.fc33.x86_64 gnome-session-0:3.38.0-1.fc33.x86_64 gnome-shell-0:3.38.4-1.fc33.x86_64 libglvnd-devel-1:1.3.2-2.fc33.x86_64 mate-session-manager-0:1.24.2-2.fc33.x86_64 mesa-demos-0:8.4.0-8.20181118git1830dcb.fc33.x86_64 mir-common-libs-0:2.3.2-1.fc33.x86_64 mir-demos-0:2.3.2-1.fc33.x86_64 mir-server-libs-0:2.3.2-1.fc33.x86_64 mir-test-tools-0:2.3.2-1.fc33.x86_64 mutter-0:3.38.4-1.fc33.x86_64 mutter-tests-0:3.38.4-1.fc33.x86_64 phoc-0:0.4.2-1.fc33.x86_64 sway-0:1.5-3.fc33.x86_64 wayfire-0:0.5.0-1.fc33.x86_64 weston-demo-0:8.0.0-6.fc33.x86_64 weston-libs-0:8.0.0-6.fc33.x86_64 wlroots-0:0.11.0-2.fc33.x86_64 xorg-x11-drv-nvidia-390xx-libs-3:390.138-4.fc33.x86_64 xorg-x11-drv-nvidia-libs-3:465.24.02-2.fc33.x86_64 Looks like this package should be required by wayland compositors as wayland uses EGL. Maybe KWin should require it?
(In reply to Martin Stransky from comment #8) > Okay, let's see what installs libglvnd-gles on F33: > > $ dnf repoquery --whatrequires libglvnd-gles > > efl-0:1.25.1-4.fc33.x86_64 > egl-utils-0:8.4.0-8.20181118git1830dcb.fc33.x86_64 > elementary-greeter-0:5.0.4-5.fc33.x86_64 > gala-libs-0:3.3.2-5.git88e3294.fc33.x86_64 > gnome-session-0:3.38.0-1.fc33.x86_64 > gnome-shell-0:3.38.4-1.fc33.x86_64 > libglvnd-devel-1:1.3.2-2.fc33.x86_64 > mate-session-manager-0:1.24.2-2.fc33.x86_64 > mesa-demos-0:8.4.0-8.20181118git1830dcb.fc33.x86_64 > mir-common-libs-0:2.3.2-1.fc33.x86_64 > mir-demos-0:2.3.2-1.fc33.x86_64 > mir-server-libs-0:2.3.2-1.fc33.x86_64 > mir-test-tools-0:2.3.2-1.fc33.x86_64 > mutter-0:3.38.4-1.fc33.x86_64 > mutter-tests-0:3.38.4-1.fc33.x86_64 > phoc-0:0.4.2-1.fc33.x86_64 > sway-0:1.5-3.fc33.x86_64 > wayfire-0:0.5.0-1.fc33.x86_64 > weston-demo-0:8.0.0-6.fc33.x86_64 > weston-libs-0:8.0.0-6.fc33.x86_64 > wlroots-0:0.11.0-2.fc33.x86_64 > xorg-x11-drv-nvidia-390xx-libs-3:390.138-4.fc33.x86_64 > xorg-x11-drv-nvidia-libs-3:465.24.02-2.fc33.x86_64 > > Looks like this package should be required by wayland compositors as wayland > uses EGL. Maybe KWin should require it? EGL != GLES. EGL works with regular OpenGL just fine, and that's what KWin uses, because Qt5 is compiled that way. I can say confidently about Mir that it can use either regular OpenGL or OpenGL ES, but I compiled it to support both. I would not be surprised if all wlroots-based compositors have a similar capability. I don't know much about Mutter, but I would guess it's in the same boat.
Marking as AcceptedFreezeException as per voting in: https://pagure.io/fedora-qa/blocker-review/issue/363
Merged and will be in the next compose.
(In reply to Neal Gompa from comment #9) > EGL != GLES. > > EGL works with regular OpenGL just fine, and that's what KWin uses, because > Qt5 is compiled that way. I know that. What we see here it perhaps https://bugzilla.mozilla.org/show_bug.cgi?id=1689207. Right now firefox uses GLES as a fallback when EGL fails to initialize. But IMHO better to ship both EGL and GLES as Gnome does.
Well, the PR was merged, and the RC2 KDE live definitely has libglvnd-gles in it. Nothing else to see here.