QtWebengine doesn't work under wayland

Bug #1803103 reported by xxxx
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
qtwebengine-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
Cosmic
Fix Released
Undecided
Unassigned

Bug Description

[Impact]

Ubuntu Cosmic.

QtWebEngine 5.11.1

QtWebEngine doesn't work under wayland since it can't find eglGetProcAddress call.
Instead it starts spamming 10's of thousands of loglines per second.

[487:518:1113/101024.893528:ERROR:gl_surface_qt.cpp(230)] eglGetProcAddress not found.
Using the 'xdg-shell-v6' shell integration
[487:518:1113/101024.995493:ERROR:gl_surface_qt.cpp(299)] Requested OpenGL implementation is not supported. Implementation: 0
[487:518:1113/101024.995511:ERROR:gl_surface_qt.cpp(292)] eglCreatePbufferSurface failed and surfaceless context not available
[487:518:1113/101024.995515:ERROR:gl_surface_qt.cpp(299)] Requested OpenGL implementation is not supported. Implementation: 0
[487:518:1113/101024.995518:ERROR:gl_surface_qt.cpp(292)] eglCreatePbufferSurface failed and surfaceless context not available

This is an issue since qutebrowser and most likely any other QtWebEngine implementation doesn't work under native wayland while this bug exists, only way i've gotten it to run is through Xwayland which seems to use software-rendering instead noticeably decreasing performance and battery-life on my client.

[Test Case]

I've attached a Simple qml which recreates this issue under wayland, it can be run by:
# qmlscene test.qml
<It should start spamming and doesn't work>

[Regression Potential]

The patch adds a fallback for getting get_proc_address function pointer where the previous code fails, so the regression risk is very minimal.

The fix was applied in Qt 5.11.2 and 5.11.3 stable releases, and I am not aware of any bugs reported there.

[Other Info]

Corresponding upstream / Qt Bug:
https://bugreports.qt.io/browse/QTBUG-68479

This has been patched by Qt and is available in 5.11.2, patch can be found at:
https://codereview.qt-project.org/232017

Revision history for this message
xxxx (xxyxyxyxyyxyy-deactivatedaccount) wrote :
tags: added: cosmic
tags: added: wayland
description: updated
Revision history for this message
xxxx (xxyxyxyxyyxyy-deactivatedaccount) wrote :

Trying to build this patch now.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "patch containing all three diff's / patches from QT." seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Revision history for this message
xxxx (xxyxyxyxyyxyy-deactivatedaccount) wrote :

Well, I should probably reply and say that the patch i tried works as intended. Qutebrowser works with native wayland.

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

Uploaded to Cosmic, the fix is now waiting in the queue: https://launchpad.net/ubuntu/cosmic/+queue?queue_state=1.

Thanks for the bug/patch and sorry for the delay.

description: updated
Changed in qtwebengine-opensource-src (Ubuntu):
status: New → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello cetex, or anyone else affected,

Accepted qtwebengine-opensource-src into cosmic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/qtwebengine-opensource-src/5.11.1+dfsg-2ubuntu4.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-cosmic to verification-done-cosmic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-cosmic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in qtwebengine-opensource-src (Ubuntu Cosmic):
status: New → Fix Committed
tags: added: verification-needed verification-needed-cosmic
Revision history for this message
Dmitry Shachnev (mitya57) wrote :

Cetex, can you please test the package in cosmic-proposed?

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

As the original reporter does not respond, I tried to verify this myself (with Kubuntu 18.10 in VirtualBox).

Quite strangely, the attached test.qml file works fine even without the packages from -proposed. I was running it as “qml -qt5 test.qml” and it shows the StackExchange website properly.

Then I tried to reproduce this with qutebrowser. By default qutebrowser disallows using Qt WebEngine backend with Wayland and shows a warning page when one tries to do that. However, it is possible to disable that by exporting QUTE_SKIP_WAYLAND_CHECK=1 environment variable:

https://github.com/qutebrowser/qutebrowser/blob/v1.5.1/qutebrowser/misc/backendproblem.py#L223

When I run qutebrowser (with that variable set) with Qt WebEngine from cosmic-release, it behaves as described in this bug report (prints tons of warnings and does not load anything). After updating libqt5webengine* packages to cosmic-proposed versions, that is fixed.

I think that is enough to mark this bug as verified.

tags: added: verification-done verification-done-cosmic
removed: verification-needed verification-needed-cosmic
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qtwebengine-opensource-src - 5.11.1+dfsg-2ubuntu4.1

---------------
qtwebengine-opensource-src (5.11.1+dfsg-2ubuntu4.1) cosmic; urgency=medium

  * Backport upstream patch to add fallback lookup for eglGetProcAddress,
    to make Qt WebEngine work under Wayland (LP: #1803103).

 -- Dmitry Shachnev <email address hidden> Thu, 28 Feb 2019 14:09:04 +0300

Changed in qtwebengine-opensource-src (Ubuntu Cosmic):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for qtwebengine-opensource-src has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.