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 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.
25.0.0.4 shortlog
Enrico Weigelt, metux IT consult (7):
xfree86: compat: make xf86MsgVerb() a bit less noisier
xquartz: drop unused field declarations in request handlers
xquartz: fix incomplete prototype of executable_path()
vfb: drop unused DarwinHandleGUI()
xnest: drop unused DarwinHandleGUI()
namespace: drop unused winIsRoot()
minor release 25.0.0.4
Nathan Kidd (2):
glx: Fix out-of-bounds reads from negative return
glx: Don't blindly write 8 bytes in GLX single replies
dasha_uwu (1):
treewide: remove "lib" prefix in static_library names (meson)
stefan11111 (1):
mi: move miPointerCloseScreen to hookPostClose
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 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 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 testing.
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
These conflict with, and replace, their Xorg counterparts.