X11Libre / Xlibre

Xlibre Project

Project Description

Xlibre is a fork of the Xorg Xserver with lots of code cleanups, fixes for existing issues and enhanced functionality. The creators and contributors of the Xlibre project work to ensure continuity of the X system.
The related hardware drivers are also provided making it possible to completely replace the Xorg software suite.

Project Webpage

https://github.com/X11Libre/xserver

Xlibre 'TearFree' option

In the Xorg repository the 'TearFree' option was been enabled by default quite some time ago, but this code was never released.
Xlibre did release the code, so it does have the 'TearFree' option enabled by default.

Xlibre release 25.0.0.0

The most important changes of this first release since Xlibre was forked:

  1. Xnamespace extension: a novel approach for isolating clients from different security domains (eg. containers) into separate X11 namespaces, where they can't hurt each other (for cases where Xsecurity isn't sufficient).
  2. Xnest ported to xcb - no more dependent on old Xlib anymore.
  3. Per-ABI driver directories (allows distributions installing multiple ABIs at the same time, e.g. for smoother upgrades).
  4. Lots of small fixes and cleanups - too many to list them all here.
  5. Several CVE fixes.

Since this is the first major release of the Xserver for years (with about 3k commits in between), there might be some yet unnoticed bugs.

25.0.0.5 shortlog

Enrico Weigelt, metux IT consult (13):
      .github: util.sh: allow explicit commit on clone_source
      .github: use last known good revision of XTS
      .github: use last known good revision of piglit
      xfree86: inputtest: use FatalError() instead of abort()
      xquartz: drop using HAVE_DIX_CONFIG_H
      miext: damage: document DamageScreenFuncsRec
      .github: add workflow for github releases
      Xi: fix wrong assertion in RetrieveTouchDeliveryData()
      .github: drop obsolete xwayland dependencies
      dix: fix SetPointerMapping reply success code on busy
      meson.build: add -Woverride-init
      .gitlab: merge release into xserver-build workflow
      minor release 25.0.0.5

fish4terrisa-MSDSM (1):
      modesetting: ignore the drmmode if p->atoms is null

stefan11111 (4):
      kdrive: fix incorrect NULL-check
      kdrive: move a local variable declaration to the top of the scope
      kdrive: const-qualify KdAddConfig{Keyboard,Pointer}'s argument
      kdrive: add documenation for mouse arguments

Driver Requirements

Closed source drivers

Closed source drivers might not have an updated ABI version to match that of the updated xlibre-server. This can be overcome by creating a file named eg. /etc/X11/xorg.conf.d/xlibre.conf containing:

Section "ServerFlags"
        Option "IgnoreABI" "true"
EndSection

Nvidia and other graphics drivers

Proprietary Nvidia drivers might break as they have not caught up with the Xorg master for about a year. All attempts from Xlibre to get into direct mail contact have failed. They are trying to work around this, but cannot give any guarantees.

XLibre wiki page for Graphics devices & drivers

Xlibre FAQ

  1. Q: What about xorg-xwayland, is that included in the Xlibre fork?
    A: XWayland is developed by RedHat and distributed via freedesktop.org. It is not related at all anymore to Xorg itself. The X programs are just the consumers here; Wayland is at the base, with xorg-wayland acting as an X abstraction layer on top. On top of xorg-xwayland run the X programs.
    So xorg-xwayland does not have to be in scope of Xlibre and also not for Xorg; in fact Xorg had already removed Xwayland.
  2. Q. When is the first release planned of Xlibre?
    A. The first release 25.0.0.0 was on the 21st of June as per Xlibre Xserver Milestones
  3. Q: What about CVEs?
    A: The fixes for CVEs are included in the Xlibre server, and other identified potential exploits are also mitigated.
  4. Q. How to check which X server and drivers are installed?
    A1. Check the X11 vendor string using:
    sudo Xorg -version
    A2. List the installed X packages with:
    pacman -Q | grep 'xlibre-xserver\|xorg-server\|xf86-'
  5. Q: Isn't Wayland the designated successor of X?
    A: Wayland was designed to enhance security by completely isolating all windows from each other. The down side is this limits functionality in both existing and new programs. A clear example with clarification is provided on the KiCad Wayland Support page (KiCad is professional PCB design software). So both X and Wayland have there pros and cons and users can choose which one to use.

Xlibre on Artix Linux

Current Status

Available for general use.

Reporting Issues

Please check this Artix forum topic

ISOs

Some Artix Xlibre ISOs are available for download. More information is available in this forum post.

Packages

The following packages are available in the [galaxy-gremlins] repository:

  • xlibre-xserver
  • xlibre-xserver-common
  • xlibre-xserver-devel
  • xlibre-xserver-xephyr
  • xlibre-xserver-xnest
  • xlibre-xserver-xvfb
  • xlibre-xf86-input-elographics
  • xlibre-xf86-input-evdev
  • xlibre-xf86-input-libinput
  • xlibre-xf86-input-synaptics
  • xlibre-xf86-input-vmmouse
  • xlibre-xf86-input-void
  • xlibre-xf86-input-wacom
  • xlibre-xf86-video-amdgpu
  • xlibre-xf86-video-ati
  • xlibre-xf86-video-dummy
  • xlibre-xf86-video-fbdev
  • xlibre-xf86-video-intel
  • xlibre-xf86-video-nouveau
  • xlibre-xf86-video-qxl
  • xlibre-xf86-video-sisusb
  • xlibre-xf86-video-vesa
  • xlibre-xf86-video-vmware
  • xlibre-xf86-video-voodoo

With pacman, these packages conflict with, and provide, the packages of their Xorg counterparts.
Note: make sure to have ONLY Xlibre or Xorg packages installed.