Bug 180739

Summary: [GTK] WebKitGtk does not work with NVIDIA systems with NVIDIA driver and Accelerated Compositing
Product: WebKit Reporter: Elis Hirwing <elis>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: bugs-noreply, djbsnx, rek2, sylvain.miossec
Priority: P2    
Version: WebKit Nightly Build   
Hardware: PC   
OS: Linux   

Description Elis Hirwing 2017-12-12 23:50:43 PST
I have two different stationary computers, both with NixOS and both with NVIDIA cards (but two different generations of cards) that I've tested on.

Both run webkitgtk-2.18.3 which seems to be latest stable.
Both run nvidia drivers of version: 387.22

Some, but not all websites fails to render to the screen. But the website loads and then I just get a dark gray box (same color as my gtk-theme has) over it. The website is loaded under it since I can see links if I hover the mouse over the gray area. And I can select text and copy paste it from the website.

The only workaround I've gotten to work is to supply this environment flag to my browser: WEBKIT_DISABLE_COMPOSITING_MODE=1

Some broken ones I've seen so far:
https://duckduckgo.com/
https://google.se/
https://accounts.google.com/
https://elis.nu/ (my personal site)

Some sites that I see works:
https://git.elis.nu/ (my personal git hosting)

This is the lspci output for one of my nvidia-cards:
01:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1)
	Subsystem: ASUSTeK Computer Inc. Device 85f1
	Kernel driver in use: nvidia
	Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia

I still think that this bug seems very similar to https://bugs.webkit.org/show_bug.cgi?id=176852, but people requested me to create a new issue.

NixOS issue tracker regarding this here: https://github.com/NixOS/nixpkgs/issues/32580
Comment 1 Sylvain Miossec 2021-10-27 12:10:31 PDT
Same problem (but getting a white page) on epiphany. Sometime display flicker.

I am on Gentoo with
nvidia-drivers-470.74
webkit-gtk-2.32.4
kernel 5.14.13

lspci gives nvidia card
VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710] (rev a1)

I do not have integrated graphics.

I did not found errors in logs.

Using 
WEBKIT_DISABLE_COMPOSITING_MODE=1 epiphany
epiphany works well, but I understand that some hardware accelerations are disabled.
Comment 2 Daniel Beckwith 2022-04-06 10:18:50 PDT
I encountered the same issue. I'm building a GTK3 app with WebKit using Rust. Some "complex" webpages like https://google.com/ eventually stop rendering, although all other interaction seems to still work. It also seems to happen whenever I open the dev tools. But it doesn't seem to happen with my simple local web app. WEBKIT_DISABLE_COMPOSITING_MODE=1 seems to prevent the issue from happening. I couldn't find anything noteworthy in the debug logs.

gtk 3.24.30 (using Rust bindings from crate gtk 0.15.4)
webkitgtk 2.34.6 (using Rust bindings from crate webkit2gtk 0.17.1)

Compositor: picom 8.2
DE: XFCE 4.16
OS: NixOS 21.11
Kernel: Linux 5.10.103
Graphics: NVidia driver 495.44

dump of webkit://gpu: https://gist.github.com/dbeckwith/90ff8f0dc5da4583b463d7a00b769de0
Comment 3 ReK2 2022-05-18 09:57:24 PDT
I have a similar problem with NVIDIA with Nvidia propietary drivers. I am running nyxt and the CPU goes up to 300% everytime I start nyxt, nyxt is a browser that compiles with WebKitGTK. For me the dissable compositing does not work, and is using the CPU to render instead of the GPU aparently
Comment 4 ReK2 2022-05-18 10:06:04 PDT
I have a similar problem with NVIDIA with Nvidia propietary drivers. I am running nyxt and the CPU goes up to 300% everytime I start nyxt, nyxt is a browser that compiles with WebKitGTK. For me the dissable compositing does not work, and is using the CPU to render instead of the GPU aparently
Comment 5 ReK2 2022-05-18 11:00:28 PDT
sorry I made two post, wantedto add this for more context https://github.com/atlas-engineer/nyxt/issues/2170
and:
https://discourse.atlas.engineer/t/hight-cpu-use-nyxt-gi-gtk-3-826-g379735f2/499/2