A binary requiring webkit2gtk-4.0 would affect roughly 15-25% of current Linux desktop users, primarily those on enterprise Linux distributions (RHEL, Rocky, AlmaLinux) and older LTS releases. Most major desktop distributions now provide webkit2gtk-4.1, though enterprise Linux remains 4.0-only.
The webkit2gtk landscape reveals a stark split: cutting-edge distributions have migrated to 4.1 while enterprise Linux remains firmly on 4.0. This pattern emerged from comprehensive research across distribution families, showing that users on RHEL, Rocky Linux, and AlmaLinux have zero access to webkit2gtk-4.1 through official repositories, while their Fedora counterparts have supported both versions since 2021.
The distinction matters because webkit2gtk-4.0 uses libsoup2 (HTTP/1.1 only) while 4.1 uses libsoup3 (HTTP/2 support). The two versions are parallel-installable at the system level but cannot coexist within the same process—a critical technical constraint that drove coordinated "flag date" migrations across distribution ecosystems. This libsoup incompatibility explains why distributions couldn't simply maintain both versions indefinitely.
The migration timeline shows remarkable coordination: webkit2gtk-4.1 launched in September 2021, major distributions began removing 4.0 in April 2024 (Ubuntu 24.04 LTS, Fedora 40), and complete upstream sunset arrives March 2026 with WebKitGTK 2.52.0. This three-year window aligned with LTS release cycles, though many applications—including Wails v2—still struggle with the transition.
Ubuntu 24.04 LTS (Noble) marks the inflection point. The runtime library libwebkit2gtk-4.0-37 remains available for existing applications, but development packages were removed entirely—forcing new builds to target 4.1. This affects Linux Mint 22, Pop!_OS 24.04, and Elementary OS 8, all based on Noble.
In contrast, Ubuntu 22.04 LTS (Jammy) provides full support for both APIs through April 2027, with parallel installability confirmed. Ubuntu 20.04 LTS (Focal, ending April 2025) primarily shipped 4.0 with limited 4.1 availability. The practical implication: binaries requiring webkit2gtk-4.0 work on Ubuntu 22.04 and earlier, but face installation barriers on 24.04+ unless users manually add older repositories—a workaround that creates dangerous dependency conflicts.
Estimated affected users: Ubuntu holds ~28% of Linux desktop market (Stack Overflow 2025 data), with derivatives adding another 10-15%. Approximately 60% of Ubuntu users run LTS releases. Based on adoption curves, roughly 30-40% have migrated to 24.04 by November 2025, meaning 8-12% of total Linux desktop users are on Ubuntu-based systems without webkit2gtk-4.0 dev packages.
Debian 12 (Bookworm) represents the last stable release with webkit2gtk-4.0 support. Both APIs coexist: libwebkit2gtk-4.0-37 and libwebkit2gtk-4.1-0 install simultaneously from the single webkit2gtk source package (version 2.48.5-1~deb12u1). Debian uses build flags (ENABLE_SOUP2, USE_OLD_PKG_NAMES) to maintain 4.0 compatibility.
Debian 13 (Trixie), which recently became stable, completely removed webkit2gtk-4.0. Only libwebkit2gtk-4.0-doc remains as a transitional dummy package. The source package no longer builds 4.0 binaries. Debian Sid (unstable) mirrors this removal.
Debian 11 (Bullseye) predates the 4.1 API entirely, offering only webkit2gtk-4.0. Security updates continue but Bullseye approaches end-of-life.
Estimated affected users: Debian commands ~11% of Linux desktop market. Assuming 70% remain on stable releases (Bookworm and older), 7-8% of Linux users are on Debian systems with webkit2gtk-4.0 available, though this percentage decreases as Trixie adoption accelerates.
The clearest pattern emerged from Red Hat family research: every enterprise Linux distribution provides ONLY webkit2gtk-4.0, packaged under the legacy name webkit2gtk3. This includes:
- RHEL 9 and RHEL 8: webkit2gtk3 only (versions 2.40.5-2.48.x)
- Rocky Linux 9 and 8: webkit2gtk3 only
- AlmaLinux 9 and 8: webkit2gtk3 only
- CentOS Stream: webkit2gtk3 only
No webkit2gtk-4.1 packages exist in any enterprise Linux repository. GitHub issues explicitly document this limitation—clash-verge-rev issue #3334 confirms Rocky Linux 9.5 lacks libwebkit2gtk-4.1 dependencies entirely.
Fedora provides both versions across Fedora 40, 39, and 38, using modern package names: webkit2gtk4.0 and webkit2gtk4.1. A 2024 proposal to remove webkit2gtk-4.0 from Fedora 40 technically succeeded but failed in practice—maintainers created a separate webkit2gtk4.0 source package rather than removing support, so both versions persist.
The divergence is intentional: Enterprise Linux prioritizes stability and extended support over cutting-edge features. RHEL 9 reaches end-of-life in 2032, and maintaining webkit2gtk-4.0 throughout that lifecycle avoids forced application migrations.
Estimated affected users: RHEL/Rocky/AlmaLinux represent ~3-5% of desktop Linux (primarily developer workstations and technical users, as these aren't consumer-focused distributions). Fedora adds another 3-4%. Combined: 6-9% of Linux desktop users are in the Red Hat ecosystem, with roughly 40% on enterprise distributions requiring 4.0.
Arch Linux currently provides both APIs through separate packages:
webkit2gtk(version 2.50.1-2) - provides 4.0 APIwebkit2gtk-4.1(version 2.50.1-1) - provides 4.1 APIwebkitgtk-6.0- GTK4 variant
However, Arch maintains an active TODO warning: "webkit2gtk EOL". The next WebKitGTK minor release (2.52, March 2026) will remove the 4.0 API upstream, forcing Arch to drop the webkit2gtk package. Package maintainers are actively migrating dependent packages now.
Manjaro (Arch-based) mirrors Arch's package availability with a 2-4 week delay due to their testing branch system. EndeavourOS uses Arch repositories directly, so availability is identical.
Void Linux confirmed as 4.1-only: The webkit2gtk package (version 2.44.2_1) now provides exclusively the 4.1 API. The 4.0 API is completely unavailable. Void represents the most aggressive rolling release migration.
Alpine Linux 3.21+ similarly provides only webkit2gtk-4.1 and webkit2gtk-6.0, having dropped 4.0 entirely.
Pattern confirmed: Rolling releases migrate faster than stable distributions. Void completed migration, Alpine 3.21+ completed migration, Arch removal imminent (Q1-Q2 2026), while stable releases maintain longer compatibility periods.
Estimated affected users: Arch-based distributions represent ~15-20% of Linux desktop market (especially strong among gamers per Steam survey). Currently, webkit2gtk-4.0 remains available on Arch/Manjaro, but by mid-2026, 15-20% of users will be on rolling releases without 4.0 support.
openSUSE Tumbleweed (rolling) provides:
webkit2gtk3-soup2- API 4.0 (libsoup2-based)webkit2gtk3- API 4.1 (libsoup3-based, default)webkit2gtk4- API 6.0 (GTK4)
openSUSE Leap (stable, versions 15.5/15.6) provides both 4.0 and 4.1 from the same webkit2gtk3 source package, though users reported dependency conflicts during security updates between WebKit2GTK-4.0-lang and WebKit2GTK-4.1-lang packages.
Parallel installation confirmed through different SONAME libraries: libwebkit2gtk-4_0-37 versus libwebkit2gtk-4_1-0.
Gentoo provides both via their SLOT system (SLOT 4.0 deprecated, SLOT 4.1 current), with the cleanest parallel installation mechanism. NixOS provides all three API versions as completely isolated derivations. Both allow webkit2gtk-4.0, 4.1, and 6.0 to coexist without conflicts.
Estimated affected users: openSUSE represents ~2-3% of desktop market, Gentoo/NixOS combined add ~1-2%. These distributions currently support webkit2gtk-4.0, contributing 3-5% of users who can run 4.0-linked binaries.
2021: Introduction phase
- March 12, 2021: WebKitGTK 2.32 branch assigns API version 4.1 for libsoup3 builds
- May 14, 2021: WebKitGTK 2.33.1 first development release with libsoup3 default
- September 22, 2021: WebKitGTK 2.34.0 - First stable release with webkit2gtk-4.1
- October 2021: GNOME SDK adds webkit2gtk-4.1, begins deprecating 4.0
2022-2023: Transition phase
- GNOME 42 runtime removes 4.0 support (coordinated "flag date" approach)
- Flatpak ecosystem standardizes on 4.1
- Distribution maintainers begin porting dependent packages
2024: Removal begins
- April 2024: Ubuntu 24.04 LTS removes libwebkit2gtk-4.0-dev from repositories
- April 2024: Fedora 40 removes webkit2gtk-4.0 packages (separate source package created as workaround)
- Linux Mint 22, Pop!_OS 24.04 follow Ubuntu's removal
- Debian 13 (Trixie) development removes 4.0 from builds
2025: Acceleration phase
- Debian 13 becomes stable (recently) without webkit2gtk-4.0
- Arch Linux prepares for 2.52 migration
- Void Linux, Alpine 3.21+ already 4.1-only
2026: Complete sunset
- March 2026: WebKitGTK 2.52.0 will be first upstream release without libsoup2 support
- All rolling releases will drop 4.0 support
- Only LTS releases frozen before 2024 will retain 4.0
The extended timeline (2021-2026) reflects several factors:
Technical constraints: libsoup2 and libsoup3 cannot be linked in the same process. GTK3 historically used libsoup2 via tracker, creating cascading dependencies. GNOME opted for coordinated ecosystem-wide migration rather than piecemeal transitions that would cause crashes.
LTS alignment: Ubuntu's five-year LTS cycle (20.04 ends April 2025, 22.04 ends April 2027) and RHEL's decade-long support (RHEL 9 through 2032) required extended parallel support. Distributions couldn't force migrations on systems with years of remaining support life.
Application ecosystem: Thousands of applications depend on WebKitGTK. The migration required coordinated updates across GNOME applications (Evolution, Epiphany), development frameworks (Tauri, Wails), game launchers, and embedded browser use cases.
HTTP/2 adoption: While libsoup3 enables HTTP/2, many deployments don't require it. The performance benefit didn't justify forced near-term migration for stable distributions.
Wails v2 hardcoded webkit2gtk-4.0 dependencies initially, creating immediate breakage on Ubuntu 24.04+, Fedora 40+, and Linux Mint 22+ when these distributions removed development packages. GitHub issues document the problem extensively:
- Issue #3581: Ubuntu 24.04 dependency failures
- Issue #3513: libwebkit2gtk-4.0 unavailable errors
- Issue #4661: Linux Mint 22.2 build failures
- Issue #4457:
wails doctorfalse reporting on Fedora 41
Wails v2 eventually added the -tags webkit2_41 build flag, allowing developers to target either API version:
wails build -tags webkit2_41 # For newer distributions
wails dev -tags webkit2_41 # Development modeHowever, documentation and tooling lag behind distribution changes. The wails doctor command doesn't reliably detect webkit2gtk-4.1 availability. Installation guides still reference outdated prerequisites. Developers face trial-and-error determining which build tag their target distribution requires.
The Anki addon consideration: Creating a separate binary without webkit dependencies sidesteps this entire complexity. Given that 15-25% of current Linux users cannot install webkit2gtk-4.0 development packages (Ubuntu 24.04+, Fedora 40+, Debian 13+, Void, Alpine 3.21+, and this percentage increases monthly), and another 3-5% are on enterprise Linux that may never support 4.1, maintaining separate build targets introduces significant maintenance burden.
All research confirms webkit2gtk-4.0 and webkit2gtk-4.1 can coexist at the system level:
- Different library names:
libwebkit2gtk-4.0.so.37vslibwebkit2gtk-4.1.so.0 - Different pkg-config files:
webkit2gtk-4.0.pcvswebkit2gtk-4.1.pc - Different include directories:
/usr/include/webkitgtk-4.0vs/usr/include/webkitgtk-4.1 - Linux From Scratch documentation explicitly states: "Both versions can be installed side by side"
The critical limitation: libsoup2 and libsoup3 cannot be linked in the same process. An application linking webkit2gtk-4.1 (libsoup3-based) that also links to any library using libsoup2 will crash. This process-level incompatibility drove the coordinated migration approach—distributions couldn't allow gradual transitions that would create unstable dependency trees.
Practical implication: A system can have both installed. Different applications can use different versions. But a single application cannot use both, and all its dependencies must use the same libsoup version.
Users who CAN run webkit2gtk-4.0 binaries (~75-85%):
- Ubuntu 22.04 and earlier: ~18-20% of Linux users
- Debian 12 (Bookworm) and 11 (Bullseye): ~7-8%
- RHEL/Rocky/AlmaLinux (4.0-only): ~2-3%
- Fedora (both available): ~3-4%
- Arch/Manjaro (currently both available): ~15-18%
- openSUSE (both available): ~2-3%
- Gentoo/NixOS/others (both available): ~2-3%
- Total: ~49-59% can definitely run 4.0 binaries
Users who CANNOT run webkit2gtk-4.0 binaries (~15-25%):
- Ubuntu 24.04+ without workarounds: ~8-12%
- Debian 13 (Trixie): ~1-2% (early adoption phase)
- Void Linux (4.1-only): <1%
- Alpine Linux 3.21+ (4.1-only): <1% (primarily servers)
- Users on other 4.1-only distributions: ~1-2%
- Total: ~11-18% cannot run 4.0 binaries without workarounds
Uncertain/Intermediate (~10-25%):
- Ubuntu 24.04 users who added Jammy repositories: Unknown percentage
- Users running containers/Flatpak: Can work around system limitations
- Mixed enterprise/desktop environments: Complex dependency management
By mid-2026, the percentage unable to run webkit2gtk-4.0 binaries will increase substantially:
After WebKitGTK 2.52.0 (March 2026):
- Arch Linux removes 4.0: +15-18%
- Manjaro follows within weeks: Included above
- openSUSE Tumbleweed likely removes 4.0: +1-2%
- Additional rolling releases: +1-2%
By end of 2026:
- Ubuntu 24.04 adoption reaches 60-70% of Ubuntu users: +10-14%
- Debian 13 adoption accelerates: +3-5%
- Ubuntu 22.04 remains supported but shrinks: -5-10% from "can run" category
Estimated impact by December 2026: 35-45% of Linux desktop users will be unable to run webkit2gtk-4.0 binaries, while ~55-65% remain on systems where it's available (primarily Ubuntu 22.04 LTS, enterprise Linux, and older stable releases).
Package naming varies significantly across distributions:
Ubuntu/Debian:
- Runtime:
libwebkit2gtk-4.0-37(4.0),libwebkit2gtk-4.1-0(4.1) - Development:
libwebkit2gtk-4.0-dev(4.0),libwebkit2gtk-4.1-dev(4.1)
RHEL/Rocky/AlmaLinux:
- Package:
webkit2gtk3(provides 4.0 API despite name) - Development:
webkit2gtk3-devel
Fedora:
- Package:
webkit2gtk4.0(4.0),webkit2gtk4.1(4.1) - Development:
webkit2gtk4.0-devel,webkit2gtk4.1-devel
Arch Linux:
- Package:
webkit2gtk(4.0),webkit2gtk-4.1(4.1)
openSUSE:
- Runtime:
libwebkit2gtk-4_0-37(4.0),libwebkit2gtk-4_1-0(4.1) - Development:
webkit2gtk3-soup2-devel(4.0),webkit2gtk3-devel(4.1)
Gentoo:
- Package:
net-libs/webkit-gtk:4.0(SLOT 4.0),net-libs/webkit-gtk:4.1(SLOT 4.1)
NixOS:
- Package:
webkitgtk_4_0,webkitgtk_4_1
For the webkit2gtk-4.0 binary question: A binary requiring webkit2gtk-4.0 currently affects 15-25% of Linux desktop users who have no straightforward way to install it (primarily Ubuntu 24.04+, Fedora 40+, Debian 13+, Void, Alpine). This percentage grows to 35-45% by end of 2026 as rolling releases complete migration and LTS adoption increases.
Three distribution categories emerged:
- Enterprise Linux (RHEL, Rocky, AlmaLinux): 4.0-only, no migration planned, ~3-5% of users
- Modern stable/rolling (Ubuntu 24.04+, Fedora 40+, Debian 13+, Void, Alpine): 4.1-only or transitioning, ~15-25% currently, growing to 35-45%
- Older stable (Ubuntu 22.04, Debian 12): Both available, ~50-60% currently, shrinking to 20-30% by 2026
For the Anki addon use case: Creating a separate binary without webkit dependency is likely the most practical path. Distribution targeting becomes simpler, the webkit version fragmentation problem disappears, and the maintenance burden of supporting two build configurations may be lower than managing webkit2gtk version detection, conditional compilation, and user support across a dozen distribution families with different package naming schemes and migration timelines.
The fundamental tension: Enterprise users need 4.0 exclusively. Modern distribution users need 4.1 (or will soon). No single binary can satisfy both without bundling webkit2gtk—and webkit is massive (200+ MB), making bundling impractical. The ecosystem split appears permanent until enterprise Linux releases reach end-of-life (RHEL 8 in 2029, RHEL 9 in 2032).