XLibre Xserver
Go to file
Xgui4 Studio 475d8c545e
Merge branch 'X11Libre:master' into Inclusivity-for-later
2025-07-02 14:50:27 -04:00
.github .github: add building mouse driver 2025-06-30 19:22:01 +02:00
.gitlab-ci .github: .gitlab-ci: add macos (xquartz) build job 2025-06-27 17:07:42 +02:00
Xext xf86bigfont: fix compiler warning on unused variable 2025-07-01 17:01:07 +02:00
Xi xi: Fix build on arch linux (cast between struct and union gcc error) 2025-06-13 19:08:17 +02:00
composite dix: add dixAllocServerXID() 2025-06-12 17:21:48 +02:00
config config: add/fix include guards where missing/broken 2025-06-27 13:58:05 +02:00
damageext dix: move over private defintions from selection.h to private header 2025-06-12 17:21:46 +02:00
dbe miext: move over extinit_priv.h from include 2025-06-12 17:21:46 +02:00
dix dix: add screen hook for post-close 2025-07-02 15:41:37 +02:00
doc Xnamespace: add some documentation 2025-06-12 17:21:48 +02:00
dri3 miext: move over extinit_priv.h from include 2025-06-12 17:21:46 +02:00
exa exa: protect from allocation failure 2025-06-12 17:21:43 +02:00
fb fb: add/fix include guards where missing/broken 2025-06-27 13:58:05 +02:00
glamor glamor: Enable dmabuf_capable for Zink 2025-06-27 19:23:43 +02:00
glx glx: fix correct sizeof GL unsigned int 2025-06-23 16:18:47 +02:00
hw kdrive: ephyr: initialize OS specific callback vectors 2025-07-02 17:40:19 +02:00
include dix: add screen hook for post-close 2025-07-02 15:41:37 +02:00
man drop Xwayland 2025-06-17 12:51:36 +02:00
mi mi: add/fix include guards where missing/broken 2025-06-27 13:58:05 +02:00
miext miext: damage: use dixScreenHookPostClose() instead of dixScreenHookClose() 2025-07-02 15:41:37 +02:00
os os: log: vpnprintf(): ignore reverse justification modifier 2025-07-01 17:15:56 +02:00
present miext: move over extinit_priv.h from include 2025-06-12 17:21:46 +02:00
pseudoramiX pseudoramix: add/fix include guards where missing/broken 2025-06-27 13:58:05 +02:00
randr randr: fix memleak in provider property update 2025-06-24 16:06:38 +02:00
record record: add/fix include guards where missing/broken 2025-06-27 13:58:05 +02:00
render render: fix CVE-2025-49175 2025-06-17 20:01:25 +02:00
test drop Xwayland 2025-06-17 12:51:36 +02:00
xfixes xfixes: Check request length for SetClientDisconnectMode 2025-06-17 20:01:25 +02:00
xkb xkb: fix XkbGetKbdByName returning incorrect data 2025-06-20 10:17:10 +02:00
.appveyor.yml appveyor: Add libxcvt build dep 2021-11-04 13:03:25 +00:00
.dir-locals.el .dir-locals.el: Add missing final newline 2019-10-01 17:05:28 +00:00
.git-blame-ignore-revs Ignore the coding style change commit during git blame 2024-12-06 09:55:53 +10:00
.gitignore Clean up the .gitignore file 2024-01-12 00:50:24 +00:00
.gitlab-ci.yml drop Xwayland 2025-06-17 12:51:36 +02:00
.mailmap Update mailmap for Peter Harris 2025-04-15 13:49:13 -04:00
.travis.yml travis: Add OSX meson build to matrix 2019-05-02 15:42:58 +00:00
CODE_OF_CONDUCT.md it's time to add a CoC (code of conduct) 2025-06-12 17:21:47 +02:00
CONTRIBUTING.md CONTRIBUTION.md: "MR" / "MRs" -> pull request(s) 2025-06-27 19:22:18 +02:00
COPYING COPYING: add myself 2025-06-12 17:21:48 +02:00
CoC.md it's time to add a CoC (code of conduct) 2025-06-12 17:21:47 +02:00
README.md Update README.md - i hope you will re-consider 2025-07-01 19:44:48 -04:00
meson.build meson.build: meson_options.txt: add build option to disable building tests 2025-07-02 17:40:10 +02:00
meson_options.txt meson.build: meson_options.txt: add build option to disable building tests 2025-07-02 17:40:10 +02:00
xorg-server.m4 xorg-server.m4: just all cflags instead of just sdkdir 2018-09-20 20:12:24 +01:00
xorg-server.pc.in xorg-server.pc.in: fix source URL 2025-06-23 16:55:43 +02:00
xserver.ent.in doc: relocate xserver.ent in the package root directory 2011-05-14 11:22:26 -07:00

XLibre Xserver

XLibre is a major fork of the Xorg Xserver, created to push forward X server technology through extensive code cleanups, architectural improvements, and enhanced functionality. This project was born out of the need to maintain active development and innovation in the X server ecosystem, ensuring this critical infrastructure continues evolving to meet modern computing demands.


Project Background

The decision to fork from the original Xorg project was driven by a lack of progress and institutional barriers that were limiting meaningful contributions. After journalists began covering the planned XLibre fork on June 6th, 2025, the founder's account and infrastructure on freedesktop.org were abruptly removed — including repositories, merge requests, and issue trackers. This forced the project to relocate development elsewhere, reaffirming the importance of decentralized infrastructure and open collaboration.

This project preserves and builds upon prior work by contributors such as @Metux, whose contributions were later removed from the original upstream.


Project Philosophy

  • Independence: XLibre is a fully independent project, free from corporate control, political organizations, and institutional sponsorship.
  • Technical Merit: Development is driven by quality, security, and real-world needs, not by marketing trends or centralized agendas.
  • Transparency: All decisions and technical discussions are public and community-driven.
  • Focus: Our goal is to build a modern, secure, performant, and maintainable X server for the UNIX ecosystem.

Inclusive and Community-Driven

We believe that good technology must be built by inclusive communities.

XLibre welcomes contributors from all backgrounds — regardless of nationality, race, gender, age, political views, or lived experience. We explicitly welcome those who are neurodivergent (e.g. autistic, ADHD, etc.) and understand that inclusion means more than just allowing access — it means providing equity of opportunity, recognizing that some contributors face unique barriers in open source spaces.

As long as you treat others with respect, you are welcome here. Whether youre a seasoned systems developer or a small furry creature from Alpha Centauri — you belong.

This is a project where everyone deserves a fair chance to learn, contribute, and improve X11 together.


Technical Vision

  • Modernization: Improve the Xorg architecture while preserving compatibility with existing X11 clients.
  • Performance: Optimize rendering, reduce latency, and improve throughput across diverse hardware.
  • Security: Apply modern hardening practices, improve privilege separation, and reduce attack surface.
  • Code Quality: Clean up legacy code and reduce technical debt accumulated over decades.
  • Portability: Maintain support for UNIX-like systems (FreeBSD, NetBSD, OpenBSD, GNU/Linux, Illumos), and compatibility layers such as Cygwin for Windows.
  • Stability: Continuous testing and validation to ensure long-term reliability.

Together, lets make X great again — by modernizing it, decentralizing it, and making it for everyone who wants to build.

Are we XLibre Yet?

Upgrade notice

  • Module ABIs have changed - drivers MUST be recompiled against this Xserver version, otherwise the Xserver can crash or fail to start up correctly.

  • If your console is locked up (no input possible, not even VT switch), then most likely the input driver couldn't be loaded due to a version mismatch. When unsure, it's best to be prepared to ssh into your machine from another one or set a timer that's calling chvt 1 after certain time, so you don't need a cold reboot. Or, make sure that you have magic SysRq key enabled (Alt+PrtSc) via sysctl (kernel.sysrq=1), then press following combination depending on keyboard layout to make kernel regain control over keyboard to make VT switching work:

    • QWERTY/AZERTY keyboard layout: SysRq + R
    • Dvorak/Colemak keyboard layout: SysRq + P
  • Proprietary Nvidia drivers might break: they still haven't managed to do even simple cleanups to catch up with Xorg master for about a year. All attempts to get into direct mail contact have failed. We're trying to work around this, but cannot give any guarantees. But you can make it work by adding Option "IgnoreABI" "1" line to ServerFlags section in Xorg config.

  • Most Xorg drivers should run as-is (once recompiled!), with some exceptions. See .gitlab-ci.yml for the versions/branches built along with Xlibre.

Driver repositories

Since Redhat had deleted and banned all X11Libre repositories from freedesktop.org, the driver repositories are now moved to GitHub:

Driver Git repository Release tag
xf86-input-elographics: https://github.com/X11Libre/xf86-input-elographics xlibre-xf86-input-elographics-1.4.4.1
xf86-input-evdev: https://github.com/X11Libre/xf86-input-evdev xlibre-xf86-input-evdev-2.11.0.1
xf86-input-void: https://github.com/X11Libre/xf86-input-void xlibre-xf86-input-void-1.4.2.1
xf86-input-joystick: https://github.com/X11Libre/xf86-input-joystick xlibre-xf86-input-joystick-1.6.4.1
xf86-input-keyboard: https://github.com/X11Libre/xf86-input-keyboard xlibre-xf86-input-keyboard-2.1.0.1
xf86-input-libinput: https://github.com/X11Libre/xf86-input-libinput xlibre-xf86-input-libinput-1.5.0.1
xf86-input-mouse: https://github.com/X11Libre/xf86-input-mouse xlibre-xf86-input-mouse-1.9.5.1
xf86-input-synaptics: https://github.com/X11Libre/xf86-input-synaptics xlibre-xf86-input-synaptics-1.10.0.1
xf86-input-vmmouse: https://github.com/X11Libre/xf86-input-vmmouse xlibre-xf86-input-vmmouse-13.2.0.1
xf86-input-wacom: https://github.com/X11Libre/xf86-input-wacom xlibre-xf86-input-wacom-1.2.3.1
xf86-video-amdgpu: https://github.com/X11Libre/xf86-video-amdgpu xlibre-xf86-video-amdgpu-23.0.0.1
xf86-video-apm: https://github.com/X11Libre/xf86-video-apm xlibre-xf86-video-apm-1.3.0.1
xf86-video-ark: https://github.com/X11Libre/xf86-video-ark xfree-xf86-video-ark-0.7.6.1
xf86-video-ast: https://github.com/X11Libre/xf86-video-ast xlibre-xf86-video-ast-1.2.0
xf86-video-ati: https://github.com/X11Libre/xf86-video-ati xfree-xf86-video-ati-22.0.0.1
xf86-video-chips: https://github.com/X11Libre/xf86-video-chips xlibre-xf86-video-chips-1.5.0.1
xf86-video-cirrus: https://github.com/X11Libre/xf86-video-cirrus xlibre-xf86-video-cirrus-1.6.0.1
xf86-video-dummy: https://github.com/X11Libre/xf86-video-dummy xlibre-xf86-video-dummy-0.4.1.1
xf86-video-fbdev: https://github.com/X11Libre/xf86-video-fbdev xlibre-xf86-video-fbdev-0.5.1.1
xf86-video-freedreno: https://github.com/X11Libre/xf86-video-freedreno xlibre-xf86-video-freedreno-1.4.0.1
xf86-video-geode: https://github.com/X11Libre/xf86-video-geode xlibre-xf86-video-geode-2.18.1.1
xf86-video-i128: https://github.com/X11Libre/xf86-video-i128 xlibre-xf86-video-i128-1.4.1.1
xf86-video-i740: https://github.com/X11Libre/xf86-video-i740 xlibre-xf86-video-i740-1.4.0.1
xf86-video-intel: https://github.com/X11Libre/xf86-video-intel xlibre-xf86-video-intel-3.0.0.1
xf86-video-mach64: https://github.com/X11Libre/xf86-video-mach64 xlibre-xf86-video-mach64-6.10.0.1
xf86-video-mga: https://github.com/X11Libre/xf86-video-mga xlibre-xf86-video-mga-2.1.0.1
xf86-video-neomagic: https://github.com/X11Libre/xf86-video-neomagic xlibre-xf86-video-neomagic-1.3.1.1
xf86-video-nested: https://github.com/X11Libre/xf86-video-nested xlibre-xf86-video-nested-1.0.0.1
xf86-video-nouveau: https://github.com/X11Libre/xf86-video-nouveau xlibre-xf86-video-nouveau-1.0.18.1
xf86-video-nv: https://github.com/X11Libre/xf86-video-nv xlibre-xf86-video-nv-2.1.23.1
xf86-video-omap: https://github.com/X11Libre/xf86-video-omap xlibre-xf86-video-omap-0.4.5.1
xf86-video-qxl: https://github.com/X11Libre/xf86-video-qxl xlibre-xf86-video-qxl-0.1.6.1
xf86-video-r128: https://github.com/X11Libre/xf86-video-r128 xlibre-xf86-video-r128-6.13.0.1
xf86-video-rendition: https://github.com/X11Libre/xf86-video-rendition xlibre-xf86-video-rendition-4.2.7.1
xf86-video-s3virge: https://github.com/X11Libre/xf86-video-s3virge xlibre-xf86-video-s3virge-1.11.1.1
xf86-video-savage: https://github.com/X11Libre/xf86-video-savage xlibre-xf86-video-savage-2.4.1.1
xf86-video-siliconmotion: https://github.com/X11Libre/xf86-video-siliconmotion xlibre-xf86-video-siliconmotion-1.7.10.1
xf86-video-sis: https://github.com/X11Libre/xf86-video-sis xlibre-xf86-video-sis-0.12.0.1
xf86-video-sisusb: https://github.com/X11Libre/xf86-video-sisusb xlibre-xf86-video-sisusb-0.9.7.1
xf86-video-suncg14: https://github.com/X11Libre/xf86-video-suncg14 xlibre-xf86-video-suncg14-1.2.0
xf86-video-suncg3: https://github.com/X11Libre/xf86-video-suncg3 xlibre-xf86-video-suncg3-1.1.3.0
xf86-video-suncg6: https://github.com/X11Libre/xf86-video-suncg6 xlibre-xf86-video-suncg6-1.1.3.1
xf86-video-sunffb: https://github.com/X11Libre/xf86-video-sunffb xlibre-xf86-video-sunffb-1.2.3.1
xf86-video-sunleo: https://github.com/X11Libre/xf86-video-sunleo xlibre-xf86-video-sunleo-1.2.3.1
xf86-video-suntcx: https://github.com/X11Libre/xf86-video-suntcx xlibre-xf86-video-suntcx-1.1.3.1
xf86-video-tdfx: https://github.com/X11Libre/xf86-video-tdfx xlibre-xf86-video-tdfx-1.5.0.1
xf86-video-trident: https://github.com/X11Libre/xf86-video-trident xlibre-xf86-video-trident-1.4.0.1
xf86-video-vbox: https://github.com/X11Libre/xf86-video-vbox xlibre-xf86-video-vbox-1.0.1.1
xf86-video-v4l: https://github.com/X11Libre/xf86-video-v4l xlibre-xf86-video-v4l-0.3.0.1
xf86-video-vesa: https://github.com/X11Libre/xf86-video-vesa xlibre-xf86-video-vesa-2.6.0.1
xf86-video-vmware: https://github.com/X11Libre/xf86-video-vmware xlibre-xf86-video-vmware-13.4.0.1
xf86-video-voodoo: https://github.com/X11Libre/xf86-video-voodoo xlibre-xf86-video-voodoo-1.2.6.1
xf86-video-wsfb: https://github.com/X11Libre/xf86-video-wsfb xlibre-xf86-video-wsfb-0.4.1.1
xf86-video-xgi: https://github.com/X11Libre/xf86-video-xgi xlibre-xf86-video-xgi-1.6.1.1

Contact

Mailing list: https://www.freelists.org/list/xlibre
Telegram channel: https://t.me/x11dev
Matrix room (mirror of tg group): https://matrix.to/#/#xlibre:matrix.org