Wiki - https://fedoraproject.org/wiki/Changes/X11Libre Discussion thread - https://discussion.fedoraproject.org/t/f43-change-proposal-x11libre-system-wide/156330
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 (<code>xorg-x11-xserver</code>) with the [https://github.com/X11Libre/xserver 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 <code>README.md</code>, the Change Owner feels obliged to make this clarification. == Owner == * Name: [[User:Kkofler| Kevin Kofler]] * Email: ke...@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 (<code>xorg-x11-drv-*</code>). == 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: * [https://pagure.io/Fedora-Council/tickets/issue/481 #481 KDE X11 Packages in Violation of System-Wide Change] Thread: * [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/U27YRVY3UZUM623QAQKCP3VM2OJBCEQ6/ fedora-devel list archive: GDM dropped support for running X11 sessions in F42 without a Change?] === Discussion of this Change started before the formal announcement === Thread: * [https://discussion.fedoraproject.org/t/veto-x11libre-inclusion-for-fedora/155926/1 discussion.fedoraproject.org - Veto X11Libre inclusion for fedora] == 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 [https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1865 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 <code>x11libre-xserver</code> (based on the existing <code>xorg-x11-xserver</code> 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: [https://pagure.io/releng/issue/12774 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 <code>plasma-workspace-x11</code> package and make sure you test the "Plasma (X11)" session, not the Wayland one.) Then upgrade your Xserver to the X11Libre one (<code>x11libre-xserver</code>). 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: * [https://fedoraproject.org/wiki/Basic_Release_Criteria#Window_manager_functionality Basic: Window manager functionality] * [https://fedoraproject.org/wiki/Fedora_43_Beta_Release_Criteria#Desktop_panel Beta: Desktop panel] * [https://fedoraproject.org/wiki/Fedora_43_Final_Release_Criteria#Default_application_functionality Final: Default application functionality] * [https://fedoraproject.org/wiki/Fedora_43_Final_Release_Criteria#Default_panel_functionality Final: Default panel functionality] * [https://fedoraproject.org/wiki/Fedora_43_Final_Release_Criteria#Dual_monitor_setup Final: Dual monitor setup] * [https://fedoraproject.org/wiki/Fedora_43_Final_Release_Criteria#Window_manager_functionality 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 <code>xorg-x11-server</code>. With suitably versioned Obsoletes/Provides, that should require only a sufficient bump of Release in <code>xorg-x11-server</code> and adding Obsoletes/Provides to <code>xorg-x11-server</code> to replace <code>x11libre-server</code>. 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 [https://www.freelists.org/post/xlibre/Xlibre-250-summer-solstice-release upstream 25.0 release announcement]. There is also [https://github.com/X11Libre/xserver/blob/master/README.md 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 [https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1865 rejected X.Org/FreeDesktop.org merge request]. == Release Notes == In this Fedora release, the X.Org X11 Xserver (<code>xorg-x11-xserver</code>) has been replaced by a maintained fork, the X11Libre Xserver (<code>x11libre-xserver</code>). This affects the Xserver itself (<code>xorg-x11-xserver-Xorg</code>) as well as the subpackages ''Xnest'' (which no longer depends on the legacy Xlib (<code>libX11</code>), but on the xcb library (<code>libxcb</code>)), ''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. -- Aoife Moloney Fedora Operations Architect Fedora Project Matrix: @amoloney:fedora.im IRC: amoloney -- _______________________________________________ devel-announce mailing list -- devel-annou...@lists.fedoraproject.org To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel-annou...@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue -- _______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue