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:
- 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).
- Xnest ported to xcb - no more dependent on old Xlib anymore.
- Per-ABI driver directories (allows distributions installing multiple ABIs at the same time, e.g. for smoother upgrades).
- Lots of small fixes and cleanups - too many to list them all here.
- 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.
XLibre Wiki
https://github.com/X11Libre/xserver/wiki
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
- 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.
- 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
- Q: What about CVEs?
A: The fixes for CVEs are included in the Xlibre server, and other identified potential exploits are also mitigated.
- 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-'
- 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] 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-keyboard
- xlibre-xf86-input-libinput
- xlibre-xf86-input-mouse
- xlibre-xf86-input-synaptics
- xlibre-xf86-input-vmmouse
- xlibre-xf86-input-void
- xlibre-xf86-input-wacom
- xlibre-xf86-video-amdgpu
- xlibre-xf86-video-ast
- 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.
In some cases alternate 'depends' and 'provides' have been introduced to have pacman offer both the Xorg and the XLibre packages as providers. These have names x11win-server, x11win-input-libinput, x11win-video-dummy and x11win-input-wacom.
Additional packages
These packages are still evolving but can still be useful:
12to11: Tool for running Wayland applications on XLibre. This can be tested with eg the Wayland terminal package 'foot'.
For more information see https://git.linuxping.win/12to11/12to11/src/branch/master/README
kwin-x11-improved: kwin-x11 with ports from kwin-wayland, bug fixes, and maybe other improvements, for XLibre.
For more information see https://github.com/josephcrowell/kwin-x11-improved/blob/Plasma/6.4/README.md