X11Libre
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.
Summary
Replace the X.Org X11 Xserver (xorg-x11-xserver
) with the X11Libre (XLibre) Xserver, an actively maintained fork.
Disclaimer
The Change Owner does NOT share or endorse upstreamâs political views! Given that those can be found even in the upstream project-wide README.md
, the Change Owner feels obliged to make this clarification.
Owner
- Name: Kevin Kofler
- Email: Kevin@tigcc.ticalc.org
Detailed Description
A long time has passed since the last major release of the X.Org X11 Xserver. Even bugfix releases have become rare. Therefore, this Change proposes replacing the nearly unmaintained upstream with a maintained fork, the X11Libre XServer.
The upstream maintainer of X11Libre had been the most active remaining contributor to the X.Org X11 Xserver before the fork. The Change Owner is well aware of the controversies around the X11Libre upstream maintainer (FreeDesktop.org CoC violations, controversial political views, conspiracy theories, rants against Red Hat), but believes that the benefit of shipping maintained software outweighs the potential annoyances when having to deal with upstream.
There is no intent to ever replace the Xwayland implementation, only the standalone Xserver and its subpackages (Xnest, Xvfb, Xephyr), and possibly the driver packages (xorg-x11-drv-*
).
Feedback
The formal discussion on this Change has not started yet, pending official announcement of the Change.
Some earlier X11-related discussion (not directly related to this Change)
Ticket:
Thread:
Discussion of this Change started before the formal announcement
Thread:
Benefit to Fedora
- Fedora will benefit from shipping an actively maintained Xserver instead of a moribund one whose maintainers themselves label as âunmaintainedâ (pushing Wayland as the replacement).
- All the Spins (and Editions, if any) still shipping X11 will benefit from the improvements. The ones that have switched to Wayland (only) will not be affected at all.
- One interesting new feature is the Xnamespace extension, which aims at bridging the gap in isolation capabilities between X11 and Wayland. If and where that extension is used, it will no longer be possible to abuse the Xserver for privilege escalation across a security boundary enforced by the extension (e.g., host/container, root/user). (Note that this extension is purely opt-in and will by default do nothing.)
- The Xnest nested X server has been ported from the legacy Xlib to the xcb library.
- The fact that the Xserver is now maintained again means it will be able to live in Fedora for much longer, and the need to push all users to Wayland at all costs disappears completely.
Scope
-
Proposal owners: Package
x11libre-xserver
(based on the existingxorg-x11-xserver
package), add proper Obsoletes/Provides, get it through the package review process, and try to find comaintainers. (The packaging changes as such are pretty much self-contained. The Change is system-wide due to touching an important package with many users and reverse dependencies.) -
Other developers: Drivers depending on the X11 driver ABI will need to be rebuilt (see the next section Upgrade/compatibility impact). For those that are part of X.Org, instead of just rebuilding the old unmaintained code, it may make sense to move those packages to the forks in the X11Libre project as well. Otherwise, no changes by other developers should be needed.
-
Release engineering: Rel-eng says no impact.
-
Policies and guidelines: No updates needed.
-
Trademark approval: N/A (not needed for this Change)
-
Alignment with the Fedora Strategy: Replacing near-unmaintained software with a maintained version matches the point âFocus Area: Technology Innovation & Leadershipâ of the Fedora Strategy and âFirstâ in the referenced Four Foundations.
Upgrade/compatibility impact
The fork is a drop-in replacement for the X.Org X11 Xserver. As such, no compatibility issues should be visible to end users, and RPM-level Obsoletes/Provides will transparently take care of the package rename. No manual configuration or data migration should be needed. No dropped functionality has been announced at this time.
However, as with every new major X.Org X11 Xserver release in the past, the driver ABI has changed. Therefore, any X drivers will have to be rebuilt with the new ABI. The process is the same as for regular major updates of the Xserver, though indeed it has been a long time since the last such major release, so this might come as a surprise to some.
Early Testing (Optional)
Do you require âQA Blueprintâ support? N
It is planned to bring up a Copr repository as soon as possible to allow for early user testing. The Change Owner does not believe automated testing to be of much use for this Change.
How To Test
Hardware requirements: Testing is useful on all hardware (except completely headless or text-only systems). No special hardware is needed. However, the more different graphics hardware gets tested, the better.
Software requirements: To test this change, the system only needs to run X11. So install any desktop environment or standalone window manager that uses X11. (If you want to test KDE Plasma, install the plasma-workspace-x11
package and make sure you test the âPlasma (X11)â session, not the Wayland one.) Then upgrade your Xserver to the X11Libre one (x11libre-xserver
).
Testing: Once you have the requirements, you should try to use your desktop environment (or standalone window manager) as normal, and report any crashes or graphical glitches that come up. The expected result is that everything works without any crashes or glitches. A non-exhaustive list of items that are useful to test specifically is given by the following release criteria:
- Basic: Window manager functionality
- Beta: Desktop panel
- Final: Default application functionality
- Final: Default panel functionality
- Final: Dual monitor setup
- Final: Window manager functionality
User Experience
Users will not immediately notice any difference at all. In the long run, they may benefit from fixed bugs, from the Xnamespace extension if and when other software starts using it, and from future features.
Dependencies
RPM reverse dependencies (other packages depending on this package): Several packages depend on the Xserver. Thanks to Obsoletes/Provides, most of them will not be affected by this change at all. However, packages depending on the driver ABI will need a rebuild (see Upgrade/compatibility impact).
Dependencies on other Changes: No.
Dependencies on other upstream projects: No.
Contingency Plan
- Contingency mechanism: Revert to
xorg-x11-server
. With suitably versioned Obsoletes/Provides, that should require only a sufficient bump of Release inxorg-x11-server
and adding Obsoletes/Provides toxorg-x11-server
to replacex11libre-server
. The Change Owner will do it. - Contingency deadline: Beta Freeze. (Late enactment of the contingency plan is technically possible, but means a lot of testing may be invalidated.)
- Blocks release? Maybe. If the Change is not implemented at all (or if the contingency plan is enacted): no. If any release-blocking deliverable is still using X11, and if X11 is so broken that it makes it fail the release criteria, then yes, until either the regression is fixed or the contingency plan is enacted. Otherwise, no.
Documentation
See the upstream 25.0 release announcement. There is also the upstream README.md. Unfortunately, half of those documents consists of political statements (which are upstreamâs views and upstreamâs only, see the Disclaimer section) and rants.
More details about the Xnamespace extension can also be found in the rejected X.Org/FreeDesktop.org merge request.
Release Notes
In this Fedora release, the X.Org X11 Xserver (xorg-x11-xserver
) has been replaced by a maintained fork, the X11Libre Xserver (x11libre-xserver
). This affects the Xserver itself (xorg-x11-xserver-Xorg
) as well as the subpackages Xnest (which no longer depends on the legacy Xlib (libX11
), but on the xcb library (libxcb
)), Xvfb, and Xephyr.
End users are not expected to immediately notice any difference at all, but may in the long run benefit from fixed bugs and future features. Note however that, as with any major release of the Xserver, the X11 driver ABI has changed, so third-party drivers will need to be recompiled for the new Xserver version.
Last edited by @amoloney 2025-06-24T10:40:18Z
Last edited by @amoloney 2025-06-24T10:40:18Z