QtWebKit and Webkit2GTK - sgml/signature GitHub Wiki
-
WEBKIT_DISABLE_DMABUF_RENDERER
Disables the DMA-BUF renderer path (GPU accelerated rendering). Forces software rendering. -
WEBKIT_DISABLE_COMPOSITING_MODE
Turns off accelerated compositing. Useful if GPU drivers cause glitches. -
WEBKIT_DISABLE_ACCELERATED_2D_CANVAS
Disables GPU acceleration for<canvas>rendering. Falls back to CPU. -
WEBKIT_DISABLE_WEBGL
Disables WebGL entirely. Prevents GPU usage for 3D contexts. -
WEBKIT_DISABLE_JIT
Disables the JavaScript JIT compiler. Slower, but sometimes needed for debugging or security. -
WEBKIT_FORCE_SANDBOX
Forces WebKitGTK to run with its sandbox enabled, even if disabled by default. -
WEBKIT_DISABLE_SANDBOX
Disables the WebKitGTK sandbox (not recommended for security reasons). -
WEBKIT_DISABLE_X11_ACCELERATION
Disables X11 hardware acceleration paths (useful if running under X11 with buggy drivers). -
WEBKIT_DISABLE_WAYLAND_ACCELERATION
Disables Wayland hardware acceleration paths. -
WEBKIT_DISABLE_VIDEO_ACCELERATION
Disables VA-API video decoding acceleration.
| Factor | Desktop Impact | Laptop Impact |
|---|---|---|
| GPU availability | Often discrete GPUs with strong VA-API/WebGL support, enabling smoother hardware acceleration. | Typically integrated GPUs (Intel/AMD), weaker or inconsistent VA-API support. |
| Driver maturity | Desktop GPUs (AMD/NVIDIA) usually have more mature drivers, improving accelerated compositing and video decoding. | Laptop GPUs may lag in driver updates, especially with hybrid graphics setups. |
| Thermal constraints | Better cooling, so sustained GPU acceleration (WebGL, video decode) is stable. | Thermal throttling can cause fallback to software rendering under heavy load. |
| Power management | Runs at full power, acceleration can be used aggressively. | Battery-saving modes may disable VA-API or GPU paths to conserve energy. |
| Display outputs | External monitors with higher resolutions (4K, ultrawide) stress framebuffers. | Built-in displays are lower resolution, but docking can stress scaling. |
| Hybrid graphics | Rare on desktops. | Common (Intel + NVIDIA/AMD), WebKitGTK may struggle with GPU selection. |
| Input devices | Mouse/keyboard precision affects UI smoothness. | Touchpads/touchscreens require optimized gesture handling and kinetic scrolling. |
- Desktops: WebKitGTK benefits from stronger GPUs, stable drivers, and cooling → hardware acceleration is more reliable.
- Laptops: WebKitGTK faces constraints from integrated graphics, thermal throttling, and power management → acceleration may be reduced or disabled.
- Video playback: smoother on desktops, more likely to stutter on laptops if VA-API isn’t supported.
- WebGL demos: desktops handle complex 3D scenes better; laptops may fall back to software.
- Battery vs performance trade-offs: laptops may disable acceleration to conserve energy, desktops run full throttle.
[[browser]]
name = "GNOME Web (Epiphany)"
package = "epiphany (WebKitGTK)"
engine = "WebKitGTK / WebKit2"
status = "active"
github = "https://github.com/GNOME/epiphany"
linux_mint_compat = "high"
notes = "GNOME‑integrated browser; primary WebKit implementation on Linux"
[[browser]]
name = "surf (suckless)"
package = "surf (WebKit2GTK)"
engine = "WebKit2GTK"
status = "active"
github = "https://github.com/mrdotx/surf"
linux_mint_compat = "medium"
notes = "Minimal wrapper around WebKit2GTK"
[[browser]]
name = "Midori"
package = "midori (community packages)"
engine = "WebKitGTK"
status = "active"
github = "https://github.com/goastian/midori-desktop"
linux_mint_compat = "medium"
notes = "Lightweight browser; multiple maintained forks"
# QtWebKit-compatible / Qt-focused projects (active; QtWebKit support is legacy, optional, or conditional)
[[browser]]
name = "Otter Browser"
package = "otter-browser"
engine = "Qt (QtWebEngine primary; optional/legacy QtWebKit support in some builds)"
status = "active"
github = "https://github.com/OtterBrowser/otter-browser"
linux_mint_compat = "medium"
notes = "Project aims to recreate classic Opera UI; historically supported QtWebKit and can be built with legacy QtWebKit on some platforms"
[[browser]]
name = "Falkon"
package = "falkon (Qt-based)"
engine = "QtWebEngine (originated from QtWebKit/QupZilla lineage); legacy QtWebKit support historically"
status = "active"
github = "https://github.com/KDE/falkon"
linux_mint_compat = "high"
notes = "Continuation of QupZilla; currently uses QtWebEngine but traces to QtWebKit era; recommended on Mint as a Qt browser option"
- Migrated legacy MFC application to Qt C++
- Used Qt Designer and QtWinMigrate for UI modernization
- MFC Migration Case Study
- Qt Training Course
- Provides KDWinUtils: Qt-based API mimicking MFC classes
- Offers consulting and tooling for MFC to Qt migration
- KDWinUtils MFC API Docs
- KDAB Qt Tools Documentation
- QtWinMigrate enables embedding Qt widgets in MFC apps
- Supports gradual migration and hybrid UI strategies
- QtWinMigrate API Docs