Opened 20 months ago

Closed 20 months ago

Last modified 19 months ago

#18432 closed defect (fixed)

webkitgtk-2.41.91 (fix scrolling issues with new tabs in epiphany)

Reported by: Xi Ruoyao Owned by: Douglas R. Reno
Priority: normal Milestone: 12.0
Component: BOOK Version: git
Severity: blocker Keywords:
Cc:

Description

Upstream issue: https://bugs.webkit.org/show_bug.cgi?id=260073

This issue can be "worked around" by using "clone the tab" to reopen a tab, but it's very annoying.

Upstream has made a PR: https://github.com/WebKit/WebKit/pull/16668. But it breaks something on Mac so it's not merged yet. We are not Mac so we can apply the PR as a patch anyway, but I'd like to wait for several days for the final version of the PR.

Change History (15)

comment:1 by Douglas R. Reno, 20 months ago

2.41.91 was just released with the following fixes:

What’s new in the WebKitGTK 2.41.91 release?

    Properly handle toplevel window state changes in GTK4.
    Do not keep processing frames while the view is unrealized when using DMA-BUF renderer.
    Fallback to first render node returned by DRM when failing to get using EGLDevice.
    Fix the build with libjxl < 0.7.0.
    Fix several crashes and rendering issues.
    Translation updates: Turkish.

It does not appear to have the change that we were looking for though unfortunately, nothing in https://github.com/WebKit/WebKit/compare/webkitgtk-2.41.90...webkitgtk-2.41.91 matches that bug number.

comment:2 by Douglas R. Reno, 20 months ago

From the description of that bug though, that might honestly be our fix.

This only happens in GTK4 because the views opened in new tabs stay 
unrealized until they are shown. With the DMA-BUF rendered enabled we keep 
processing frames while the view is unrealized, just pretending they have 
been rendered on screen. This causes the page to be throttled, because it's 
visually idle, which changes the preferred frame rate from 60 to 30. 
This new condition makes DisplayUpdate::relevantForUpdateFrequen
cy() always return false, leaving the last frame scheduled forever, because 
DisplayRefreshMonitorClient::fireDisplayRefreshIfNeeded() doesn't update the 
m_scheduled in that particular case.
Last edited 20 months ago by Douglas R. Reno (previous) (diff)

comment:3 by Douglas R. Reno, 20 months ago

Summary: Fix scrolling issues with new tabs in epiphanywebkitgtk-2.41.91 (fix scrolling issues with new tabs in epiphany)

comment:4 by Douglas R. Reno, 20 months ago

Owner: changed from blfs-book to Douglas R. Reno
Status: newassigned

comment:5 by Rahul Chandra, 20 months ago

Should we be going back to the stable branch? For a 'stable' release of BLFS, maybe we should downgrade back to 2.40 instead of telling people to use beta software on a workstation. I'm in the process of building a new system right now, so I can see if 2.40 causes any severe regressions compared to 2.41 if needed.

in reply to:  5 comment:6 by Xi Ruoyao, 20 months ago

Replying to Rahul Chandra:

Should we be going back to the stable branch? For a 'stable' release of BLFS, maybe we should downgrade back to 2.40 instead of telling people to use beta software on a workstation. I'm in the process of building a new system right now, so I can see if 2.40 causes any severe regressions compared to 2.41 if needed.

2.41.91 is already on the next stable branch, webkitglib/2.42. 2.42.0 will be released in Sept so IMO downgrading now is just unnecessary bikeshedding.

Last edited 20 months ago by Xi Ruoyao (previous) (diff)

comment:7 by Douglas R. Reno, 20 months ago

Downgrading now wouldn't be a good idea. As Xi said it's unnecessary work, but also we should remember why we went to unstable in the first place - because otherwise GTK-4 WebKit applications become completely unusable on systems with Intel Iris GPUs (Skylake and higher). As a reminder, here's an old screen recording: https://linuxfromscratch.org/~renodr/webkit-issue-1.mp4

This problem occurs with the WPE renderer, and as far as I'm aware was never fixed in the 2.40 series (probably because it works fine on 2.41 since it uses DMABUF instead and is thus unaffected)

comment:8 by Douglas R. Reno, 20 months ago

For testing purposes, I've run Epiphany with five tabs and scrolled between them and played two YouTube videos. Everything there seems to be working well

comment:9 by Douglas R. Reno, 20 months ago

Resolution: fixed
Status: assignedclosed

in reply to:  8 comment:10 by Xi Ruoyao, 20 months ago

Replying to Douglas R. Reno:

For testing purposes, I've run Epiphany with five tabs and scrolled between them and played two YouTube videos. Everything there seems to be working well

Did you tried the reproduce step in https://bugs.webkit.org/show_bug.cgi?id=260073? It only happens when "open a link in a new tab", not switching between existing tabs.

comment:11 by Douglas R. Reno, 20 months ago

I just tried that over here and wasn't able to reproduce it. I used the BLFS book, navigated to a random page, and then right clicked on "Home" and clicked on "Open Link in New Tab", and the table of contents scrolls well

in reply to:  11 ; comment:12 by Xi Ruoyao, 20 months ago

Replying to Douglas R. Reno:

I just tried that over here and wasn't able to reproduce it. I used the BLFS book, navigated to a random page, and then right clicked on "Home" and clicked on "Open Link in New Tab", and the table of contents scrolls well

I'll try. Maybe it's "mysteriously" fixed in 2.41.91 w/o merging the PR but I'm skeptical.

in reply to:  12 comment:13 by Douglas R. Reno, 20 months ago

Replying to Xi Ruoyao:

Replying to Douglas R. Reno:

I just tried that over here and wasn't able to reproduce it. I used the BLFS book, navigated to a random page, and then right clicked on "Home" and clicked on "Open Link in New Tab", and the table of contents scrolls well

I'll try. Maybe it's "mysteriously" fixed in 2.41.91 w/o merging the PR but I'm skeptical.

That sounds good. I think it would've been this news item: "Do not keep processing frames while the view is unrealized when using DMA-BUF renderer." - which is https://github.com/WebKit/WebKit/commit/1eb41dcaf2f3bbb9ea943f9eca75cc544a3a30d0

comment:14 by Xi Ruoyao, 20 months ago

I cannot reproduce the issue with 2.41.91 too.

comment:15 by Xi Ruoyao, 19 months ago

For the record: the scrolling issue is still not fully fixed but it's harder to reproduce.

Note: See TracTickets for help on using tickets.