There has been a lot of idle talk about the quality of XLibre code, in particular about the quality of Enrico Weigelt’s contributions and the reverts proper Xorg maintainers had to do.
But many has been based on misinformation and lies, that’s why I’ve decided to take a deep look at all the branches (both of Xorg and XLibre), and here’s my summary.
Reverts
Many of Enrico’s patches have been reverted in Xorg’s master branch, leading people to believe these were of low quality and/or not up to Xorg’s standards.
From a technical perspective, […] there are also a number of technical reasons we’d slowed down on merging them and started rejecting more of the MR’s – most notably it becoming increasingly obvious that the MR’s were untested and breaking things.
Alan CoopersmithFirst of all, reverts are common in high quality open source projects. Just last week a regression was found in linux that caused the entire FUTEX_PRIVATE_HASH feature to be marked as broken so that people avoid it in the current cycle while it’s fixed in the next. Does that mean the original author from Linutronix GmbH is a noob who doesn’t know how to code? No. Nobody can test their code in all scenarios.
One case I often use as an illustration of good development practices is when Linus Torvalds reverted a commit that caused a regression I found in Wine. I happened to find the regression by testing a release candidate with StarCraft II under Wine. Was the author blamed for “not testing” his patch? No.
But we don’t have to look into other projects, because Xorg itself reverts commits all the time.
- os: Try to discover the current seat with the XDG_SEAT var first
- Revert “os: Try to discover the current seat with the XDG_SEAT var first”
That’s in the stable branch, where maintainers are supposed to be much more careful, in the master branch there are many more:
- xwayland/glamor: Avoid implicit redirection with depth 32 parent windows
- Revert “xwayland/glamor: Avoid implicit redirection with depth 32 parent windows”
- xwayland/glamor: Avoid implicit redirection with depth 32 parent windows
- Revert “xwayland/glamor: Avoid implicit redirection with depth 32 parent windows”
In this case the same patch was applied twice, and reverted twice. Did anybody accuse Michel Dänzer of being a noob? No.
There’s dozens of commits like these which didn’t originate from Enrico. Doing reverts is not indicative of anything.
Divergence
The way Xorg’s xserver is developed is by having two branches: stable and development (actually it’s three branches, but I’m simplifying for explanation purposes).
Most people are using the stable branch: server-21.1-branch. For example, in my Arch Linux distribution the package version is 21.1.18.
But every commit in the stable branch comes from the development branch (i.e. master). In fact, they are cherry-picked from the master branch. This ensures no commit from the stable branch is missing in the master branch. This is exactly how linux is developed.
The problem is these branches diverged in September 2021, so that’s almost 4 years ago.
The stable branch has 234 commits, the master branch has 1849.
That means if you are using an official release, it’s quite likely you are missing some good stuff from the master branch.
Don’t believe me?
Development limbo
It’s really difficult to figure out exactly what is the delta between the stable branch and the development branch, especially because many commits have been reverted, making it unclear how many make an actual difference to the user.
So I spent a considerable amount of time re-creating the whole master branch on top of the stable branch, while removing the reverts and their corresponding commits. The result at the time of writing this article is 1436 commits.
Is it possible that you as a user is missing something useful from those ~1400 commits?
I can’t really do an in-depth review of all these commits in this article, so let’s focus on one:
One of the recurring myths regarding Xorg is that it’s not possible get rid of screen tearing: you need Wayland for that. But as I explained in another blog post: that’s not true.
Influential people like YouTuber ThePrimeagen misinform their audience making them believe that tear-free rendering is not possible under Xorg. It’s extremely easy to get rid of tearing without Sultan’s patch, but making a release with this patch could only help.
So why are Xorg developers not releasing this patch? Why do they not rectify these myths?
One would be tempted to say that perhaps they have a vested interest in making it seem like Xorg can not be fixed, even though this patch was merged in 2022, normal users still cannot use this feature in 2025. It’s interesting enough that the news site Phoronix published an article about it: xf86-video-modesetting X.Org Driver Sees Patch For “TearFree” Page Flipping.
This is just one patch out of more than a thousand. Who knows how many gems Xorg maintainers aren’t particularly eager for users to have.
It’s not just Enrico’s patches, here’s a summary of the commits Xorg maintainers have chosen not to release:
706 Enrico Weigelt, metux IT consult 219 Olivier Fourdan 101 Michel Dänzer 51 Alan Coopersmith 48 Peter Hutterer 24 Konstantin 19 Sultan Alsawaf 19 Jeremy Huddleston Sequoia 16 Simon Ser 13 Erik Kurzinger 11 Austin Shafer 10 Povilas Kanapickas 10 Adam Jackson 9 Xaver Hugl 9 Konstantin Kharlamov 8 Matthieu Herrb 8 Joshua Ashton 8 Bjarni Ingi Gislason 6 Jonas Ådahl 5 Konstantin Pugin 4 Ville Syrjälä 4 Lucas Stach 4 Kenny Levinsen 4 Jon Turney 4 Jessica Clarke 4 Jan Beich 3 Pierre-Eric Pelloux-Prayer 3 Minh Phan 3 Julian Orth 3 José Expósito 3 Izumi Tsutsui 2 Yuriy Vasilev 2 xurui 2 Vlad Zahorodnii 2 Tom Yan 2 Thomas Zimmermann 2 Tamura Dai 2 Rouven Czerwinski 2 Peter Harris 2 nia 2 nerdopolis 2 John Kennedy 2 Gleb Popov 2 Doğukan Korkmaztürk 2 Balló György 2 Alexander Volkov 2 Aki Sakurai 2 Aaron Plattner 1 Zoltán Böszörményi 1 zhoulei 1 Yusuf Khan 1 Yuriy 1 Yao Wei 1 YaoBing Xiao 1 Weng Xuetian 1 Warren Togami 1 Wanli Niu 1 Vasily Khoruzhick 1 Twaik Yont 1 Trevor Davenport 1 Spiky Caterpillar 1 Shashank Sharma 1 Sam James 1 Russell Chou 1 Randy Palamar 1 pkubaj 1 Peter Grehan 1 Pedro Montes Alcalde 1 orbea 1 Nicolas Dufresne 1 Niclas Zeising 1 msizanoen1 1 Morose 1 Moritz Bruder 1 moozcheng 1 Mike Blumenkrantz 1 Michael Dluhosch 1 Luke Dashjr 1 Luc Ma 1 Jocelyn Falempe 1 JiangWu 1 Jeffy Chen 1 Jan Engelhardt 1 James Jones 1 Ivaylo Dimitrov 1 Ivan A. Melnikov 1 Ilya Pominov 1 Ian Douglas Scott 1 Fotios Valasiadis 1 Florian Weimer 1 FeepingCreature 1 Eli Schwartz 1 Drew DeVault 1 Dr. David Alan Gilbert 1 Doug Johnson 1 Dongwon Kim 1 Demi Marie Obenour 1 David Jacewicz 1 Dave Airlie 1 [email protected] 1 Corentin Noël 1 Claes Nästén 1 Chia-Lin Kao (AceLan) 1 Chenx Dust 1 Brian Ruthven 1 Andy Myers 1 Andrea Monaco 1 Alex Richardson 1 Alessandro Bono 1 Aaron DillXLibre delta
I haven’t had time to properly analyze the thousands of commits Enrico made on top of Xorg’s master branch, but I know many people have tested them — including me, and a significant effort has been made to make it Just Work ™.
In less than a month:
1322 Enrico Weigelt, metux IT consult 19 Mike Gelfand 14 dasha_uwu 12 stefan11111 7 Olivier Fourdan 5 dec05eba 4 Steven Van Dorp 4 notbabaisyou 4 Michael Bear 2 rendick 2 Nathan Kidd 1 Thomas Debesse 1 Tautvis 1 Samq64 1 itz-me-zappex 1 Icenowy Zheng 1 Herman Semenov 1 Hermann Semenov 1 Felipe Contreras 1 EXtremeExploit 1 Duje Mihanović 1 Collin 1 catfromplan9 1 cat 1 callmetango 1 Bastiaan Quast 1 b-aaz 1 AnasSaeed1So even if it’s just to be able to use Sultan Alsawaf’s TearFree patch and plenty of other patches from the community that “for some reason” Xorg developers don’t want to release, you have an incentive to use XLibre instead of Xorg’s constricted stable releases.
Conclusion
I’m not going to assert any conspiracy theory.
All I’m going to say is that if there was some institutional failure due to multiple organizations having a vested interest in making Xorg fail, they wouldn’t need to conspire, all they would need to do is precisely what they are current doing: neglect Xorg development and don’t release the majority of patches from the community for years (4 years and counting).
Unfortunately for them, XLibre contains all these patches, and more.
For a more in-depth look, I also created a video: