Package Details: xlibre-server 25.0.0.5-1

Git Clone URL: https://aur.archlinux.org/xlibre-server.git (read-only, click to copy)
Package Base: xlibre-server
Description: XLibre X server
Upstream URL: https://github.com/x11libre/xserver
Licenses: MIT, ISC, X11, ICU, BSD-3-Clause, LicenseRef-Adobe-Display-PostScript, LicenseRef-DEC-3-Clause, HPND, LicenseRef-HPND-sell-MIT-disclaimer-xserver, HPND-sell-variant, MIT-open-group, NTP, SGI-B-2.0, SMLNJ, X11-distribute-modifications-variant
Groups: xlibre
Conflicts: glamor-egl, nvidia-utils, xf86-video-modesetting, xorg-server
Provides: X-ABI-EXTENSION_VERSION, X-ABI-VIDEODRV_VERSION, X-ABI-XINPUT_VERSION, x-server
Replaces: xlibre-server-bootstrap
Submitter: vitaliikuzhdin
Maintainer: vitaliikuzhdin
Last Packager: vitaliikuzhdin
Votes: 26
Popularity: 19.61
First Submitted: 2025-06-22 09:07 (UTC)
Last Updated: 2025-07-12 14:33 (UTC)

Required by (18)

Sources (3)

Pinned Comments

vitaliikuzhdin commented on 2025-06-23 22:16 (UTC) (edited on 2025-07-01 15:43 (UTC) by vitaliikuzhdin)

reserved

vitaliikuzhdin commented on 2025-06-22 14:54 (UTC) (edited on 2025-07-12 14:27 (UTC) by vitaliikuzhdin)

Installation instructions:

  1. Prepare a non-X session. If you still want a GUI session, (temporarily) opt for another backend, such as Wayland. If you're fine with using the terminal, perform everything from a fresh TTY. This is an unfortunate requirement because installing XLibre requires removing Xorg, which obviously breaks the X session.

  2. Install xlibre-server-bootstrap. This is a bootstrap package and will not provide a working X session, so be sure to follow the next steps!

  3. When prompted to install xlibre-server-bootstrap, pacman will report a few conflicts, namely with xorg-*, xf86-*, and packages that depend on Xorg components. Agree to remove those (but be careful, these are likely important packages) and make note of their names.

  4. Install xlibre-input-libinput. Again, expect similar conflicts.

  5. Install xlibre-server. When prompted, agree to replace xlibre-server-bootstrap.

  6. For every xorg-* and xf86-* package you previously removed, install an xlibre-* counterpart. I’ve uploaded all the xlibre-drivers counterparts for the xorg-drivers group from extra, but I haven’t touched the AUR-only drivers yet. I’m considering adding them once I’ve researched further. In the meantime, feel free to request a specific one.

  7. For every other package you previously removed and every package that makedepends on Xorg components, you’ll need to manually modify the PKGBUILD to update provides, conflicts, and ABI versions, and then recompile them. In theory, many of the packages removed due to requiring xorg-server don’t actually need recompilation and should depend on x-server instead, but good luck getting Arch/AUR maintainers to fix those. You may also upload your modified PKGBUILDs to the AUR with a changed pkgname and pkgdesc. I suggest naming them $original_pkgname-xlibre and appending something like (built against XLibre) to the pkgdesc.

Important notes:

  1. If you fail to fully complete a step, do not continue, it will not magically fix itself. Better to exit early than waste your time.

  2. Installing and using this as a daily driver is a hassle. If you’re unsure of your skills, don’t do it, and definitely don’t blame anyone else (including the project authors or me) for your mistakes. And don't be like this guy: https://files.catbox.moe/yqoe5e.png

  3. Do not report packaging or installation issues to the upstream. They won’t be able to help, even if they wanted to, since we are not affiliated in any way. If you’re unsure who to report your issue to, describe the situation here and we’ll decide together whether it’s a task for me or for upstream.

Latest Comments

1 2 3 Next › Last »

ajgringo619 commented on 2025-07-06 18:33 (UTC)

OK, gotcha.

vitaliikuzhdin commented on 2025-07-06 10:45 (UTC)

@ajgringo619, I was talking about this:

I use yay -Sdd package_name so that any packages that I haven't converted to xlibre won't pull in xorg-server.

But if you do this only to packages that should depend on x-server rather than xorg-server, you should be fine.

ajgringo619 commented on 2025-07-04 16:10 (UTC) (edited on 2025-07-04 17:15 (UTC) by ajgringo619)

Maybe you misunderstood my post about rebuilt packages. I did change the names as you requested, just not in the list. Here's an example of what pacman shows on the new lightdm-xlibre package:

Name            : lightdm-xlibre
Version         : 1:1.32.0-6
Description     : A lightweight display manager (built with XLibre)
Architecture    : x86_64
URL             : https://github.com/canonical/lightdm
Licenses        : GPL-3.0-or-later AND (LGPL-2.0-only OR LGPL-3.0-only)
Groups          : modified-xlibre
Provides        : None
Depends On      : glib2  libgcrypt  libx11  libxcb  libxdmcp  libxklavier  pam  polkit  xlibre-server  xorg-xmodmap  xorg-xrdb
Optional Deps   : accountsservice: Enhanced user accounts handling
                  lightdm-gtk-greeter: GTK greeter
                  xlibre-server-xephyr: LightDM test mode
Conflicts With  : lightdm
Replaces        : None
Compressed Size : 280.84 KiB
Installed Size  : 1105.24 KiB
Packager        : Unknown Packager
Build Date      : Fri 04 Jul 2025 09:02:41 AM PDT
Install Script  : No
Validated By    : None
Signatures      : None

Here are my changes:

xorg-server --> xlibre-server
pkgname=lightdm-xlibre
conflicts=('lightdm')
groups=('modified-xlibre') # for tracking
pkgdesc='A lightweight display manager (built with XLibre)'

Is this not correct?

vitaliikuzhdin commented on 2025-07-04 14:50 (UTC)

@Temak, please read the pinned comments.

@ajgringo619, the proper way to handle this is through rebuilds instead of fooling pacman. After all, I had to remove the pacman-pleasing provides/replaces for a reason. Even if this currently works for you on your specific setup, as the XLibre ABI evolves over time, expect to see more and more breakages. Of course, you're free to do whatever you want with your system, just don't report bugs with such a setup.

@jcrowell, actually, I wanted to provide some of the most popular packages that need rebuilds (namely display managers and xorg-wayland), but the summer doesn't seem to cooperate. :(

@reaperx7, I'm not sure we're on the same page. xlibre-input-libinput serves a purpose beyond just installation, and you don't need to rebuild it manually. I also wouldn't recommend force-deleting packages, especially from an active X session. Is there an issue with the instructions in the pinned comment, or why is there even a need for this alternative guide?

reaperx7 commented on 2025-07-03 22:08 (UTC) (edited on 2025-07-03 22:19 (UTC) by reaperx7)

Some notes:

xlibre-xserver-bootstrap and xlibre-input-libinput are only needed for the first installation manually.

After you build the bootstrap and the libput driver, you can safely remove the bootstrap and install the common, xserver, xephyr, xnest, and xvfb packages via tools like "yay" without issue.

You should then rebuild xlibre-input-libinput manually and use pacman flag -Udd to overwrite the initial package.

After this, any usage of tools, such as "yay", to manually or automatically update the packages will not require the dependency loop, and should go normally.

Some packages may not build for xlibre and may be tied to the ABI. Try editing the build script for packages like lightdm and sddm to remove the ABI check, or edir xorg-xserver to xlibre-xserver and it will build fine. The binary package should work without incident ootb.

jcrowell commented on 2025-07-03 02:35 (UTC) (edited on 2025-07-03 02:51 (UTC) by jcrowell)

You maintain hundreds of packages. Couldn't you also maintain every de and dm package in existence that's linked against xorg? Pretty pleaes? j/k

ajgringo619 commented on 2025-07-03 01:14 (UTC)

There shouldn't be a conflict with xorg-server as it's one of the first packages to get removed during the installation process (as outlined by @vitaliikuzhdin). During an upgrade, I basically go through the exact same process, except I use yay -Sdd package_name so that any packages that I haven't converted to xlibre won't pull in xorg-server.

Temak commented on 2025-07-03 00:53 (UTC)

How do you plan to update the installed earlier xlibre-server? It can not be updated because of conflict with xorg-server.

ajgringo619 commented on 2025-07-02 22:15 (UTC)

OK, finished up my upgrade with Xfce and Cinnamon, with the following packages rebuilt with XLibre:

lightdm
lightdm-slick-greeter
xorg-xwayland
muffin

I'm sure this list will grow as I do more testing, add more packages.

vitaliikuzhdin commented on 2025-07-02 17:06 (UTC)

@jcrowell, @noidout, please read the pinned comments.

@ajgringo619, if the package doesn’t build even in its original state in a clean chroot, that’s an issue to report to the maintainer of the package. Don’t expect them to rush to fix it, though.