Support for Xlibre

It seems like the latest driver (575.57.08) isn’t compatible with X11Libre, as it needs to be re-built against the 28 ABI.
Was anyone able to successfully run this X11 fork on an NVIDIA GPU?

xorg logfile

[2025-06-14 21:28:18]
XLibre X Server 1.21.1.99
X Protocol Version 11, Revision 0
[2025-06-14 21:28:18] Current Operating System: Linux Legion5-EndeavourOS 6.15.2-arch1-1 #1 SMP PREEMPT_DYNAMIC Tue, 10 Jun 2025 21:32:33 +0000 x86_64
[2025-06-14 21:28:18] Kernel command line: initrd=\amd-ucode.img initrd=\initramfs-linux.img root=UUID=3baf27c6-3dac-415b-9c3d-2f36dd2f972a rw quiet splash bgrt_disable nvidia-drm.modeset=1 loglevel=3 nowatchdog kvm.ignore_msrs=1 amd_iommu=on iommu=pt amd_pstate=active
[2025-06-14 21:28:18]
[2025-06-14 21:28:18] Current version of pixman: 0.46.2
[2025-06-14 21:28:18] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[2025-06-14 21:28:18] Markers: (–) probed, () from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[2025-06-14 21:28:18] (==) Log file: “/home/me/.local/share/xorg/Xorg.0.log”, Time: Sat Jun 14 21:28:18 2025
[2025-06-14 21:28:18] (==) Using config directory: “/etc/X11/xorg.conf.d”
[2025-06-14 21:28:18] (==) Using system config directory “/usr/share/X11/xorg.conf.d”
[2025-06-14 21:28:18] (==) ServerLayout “layout”
[2025-06-14 21:28:18] (
) |–>Screen “nvidia” (0)
[2025-06-14 21:28:18] () | |–>Monitor “”
[2025-06-14 21:28:18] (
) | |–>Device “nvidia”
[2025-06-14 21:28:18] () | |–>GPUDevice “integrated”
[2025-06-14 21:28:18] (==) No monitor specified for screen “nvidia”.
Using a default monitor configuration.
[2025-06-14 21:28:18] (
) |–>Inactive Device “integrated”
[2025-06-14 21:28:18] (==) Automatically adding devices
[2025-06-14 21:28:18] (==) Automatically enabling devices
[2025-06-14 21:28:18] (==) Automatically adding GPU devices
[2025-06-14 21:28:18] (==) Automatically binding GPU devices
[2025-06-14 21:28:18] (==) Max clients allowed: 256, resource mask: 0x1fffff
[2025-06-14 21:28:18] (WW) fonts.dir' not found (or not valid) in "/usr/share/fonts/misc". [2025-06-14 21:28:18] Entry deleted from font path. [2025-06-14 21:28:18] (Run 'mkfontdir' on "/usr/share/fonts/misc"). [2025-06-14 21:28:18] (WW) fonts.dir’ not found (or not valid) in “/usr/share/fonts/TTF”.
[2025-06-14 21:28:18] Entry deleted from font path.
[2025-06-14 21:28:18] (Run ‘mkfontdir’ on “/usr/share/fonts/TTF”).
[2025-06-14 21:28:18] (WW) `fonts.dir’ not found (or not valid) in “/usr/share/fonts/OTF”.
[2025-06-14 21:28:18] Entry deleted from font path.
[2025-06-14 21:28:18] (Run ‘mkfontdir’ on “/usr/share/fonts/OTF”).
[2025-06-14 21:28:18] (WW) The directory “/usr/share/fonts/Type1” does not exist.
[2025-06-14 21:28:18] Entry deleted from font path.
[2025-06-14 21:28:18] (WW) The directory “/usr/share/fonts/100dpi” does not exist.
[2025-06-14 21:28:18] Entry deleted from font path.
[2025-06-14 21:28:18] (WW) The directory “/usr/share/fonts/75dpi” does not exist.
[2025-06-14 21:28:18] Entry deleted from font path.
[2025-06-14 21:28:18] (==) FontPath set to:

[2025-06-14 21:28:18] (**) ModulePath set to “/usr/lib/nvidia,/usr/lib32/nvidia,/usr/lib32/nvidia/xorg/modules,/usr/lib32/xorg/modules,/usr/lib64/nvidia/xorg/modules,/usr/lib64/nvidia/xorg,/usr/lib64/xorg/modules”
[2025-06-14 21:28:18] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[2025-06-14 21:28:18] (II) Module ABI versions:
[2025-06-14 21:28:18] X.Org ANSI C Emulation: 1.4
[2025-06-14 21:28:18] X.Org Video Driver: 28.0
[2025-06-14 21:28:18] X.Org XInput driver : 26.0
[2025-06-14 21:28:18] X.Org Server Extension : 11.0
[2025-06-14 21:28:18] (++) using VT number 4

[2025-06-14 21:28:18] (II) systemd-logind: took control of session /org/freedesktop/login1/session/_37
[2025-06-14 21:28:18] (II) xfree86: Adding drm device (/dev/dri/card1)
[2025-06-14 21:28:18] (II) Platform probe for /sys/devices/pci0000:00/0000:00:01.1/0000:01:00.0/drm/card1
[2025-06-14 21:28:18] (II) systemd-logind: got fd for /dev/dri/card1 226:1 fd 15 paused 0
[2025-06-14 21:28:18] (II) xfree86: Adding drm device (/dev/dri/card0)
[2025-06-14 21:28:18] (II) Platform probe for /sys/devices/pci0000:00/0000:00:08.1/0000:06:00.0/drm/card0
[2025-06-14 21:28:18] (II) systemd-logind: got fd for /dev/dri/card0 226:0 fd 16 paused 0
[2025-06-14 21:28:18] (**) OutputClass “nvidia” ModulePath extended to “/usr/lib/nvidia/xorg,/usr/lib/xorg/modules,/usr/lib/nvidia,/usr/lib32/nvidia,/usr/lib32/nvidia/xorg/modules,/usr/lib32/xorg/modules,/usr/lib64/nvidia/xorg/modules,/usr/lib64/nvidia/xorg,/usr/lib64/xorg/modules”
[2025-06-14 21:28:18] (–) PCI: (1@0:0:0) 10de:2560:17aa:3a81 rev 161, Mem @ 0xd0000000/16777216, 0xfa00000000/8589934592, 0xfc00000000/33554432, I/O @ 0x3000/128, BIOS @ 0x???/524288
[2025-06-14 21:28:18] (–) PCI:*(6@0:0:0) 1002:1638:17aa:3a81 rev 198, Mem @ 0xfc10000000/268435456, 0xfc20000000/2097152, 0xd1500000/524288, I/O @ 0x1000/256
[2025-06-14 21:28:18] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
[2025-06-14 21:28:18] (II) LoadModule: “glx”
[2025-06-14 21:28:18] (II) Loading /usr/lib/xorg/modules/xlibre-25.0/extensions/libglx.so
[2025-06-14 21:28:18] (II) Module glx: vendor=“X.Org Foundation”
[2025-06-14 21:28:18] compiled for 1.21.1.99, module version = 1.0.0
[2025-06-14 21:28:18] ABI class: X.Org Server Extension, version 11.0
[2025-06-14 21:28:18] (II) LoadModule: “nvidia”
[2025-06-14 21:28:18] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[2025-06-14 21:28:18] (II) Module nvidia: vendor=“NVIDIA Corporation”
[2025-06-14 21:28:18] compiled for 1.6.99.901, module version = 1.0.0
[2025-06-14 21:28:18] Module class: X.Org Video Driver
[2025-06-14 21:28:18] ================ WARNING WARNING WARNING WARNING ================
[2025-06-14 21:28:18] This server has a video driver ABI version of 28.0 that is not
supported by this NVIDIA driver. Please check
http://www.nvidia.com/ for driver updates or downgrade to an X
server with a supported driver ABI.
[2025-06-14 21:28:18] =================================================================
[2025-06-14 21:28:18] (EE) NVIDIA: Use the -ignoreABI option to override this check.
[2025-06-14 21:28:18] (II) UnloadModule: “nvidia”
[2025-06-14 21:28:18] (II) Unloading nvidia
[2025-06-14 21:28:18] (EE) Failed to load module “nvidia” (module requirement mismatch, 0)
[2025-06-14 21:28:18] (II) LoadModule: “modesetting”
[2025-06-14 21:28:18] (II) Loading /usr/lib/xorg/modules/xlibre-25.0/drivers/modesetting_drv.so
[2025-06-14 21:28:18] (II) Module modesetting: vendor=“X.Org Foundation”
[2025-06-14 21:28:18] compiled for 1.21.1.99, module version = 1.21.1
[2025-06-14 21:28:18] Module class: X.Org Video Driver
[2025-06-14 21:28:18] ABI class: X.Org Video Driver, version 28.0
[2025-06-14 21:28:18] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[2025-06-14 21:28:18] (II) modeset(G0): using drv /dev/dri/card0
[2025-06-14 21:28:18] (WW) Falling back to old probe method for modesetting
[2025-06-14 21:28:18] (II) modeset(G1): using drv /dev/dri/card1
[2025-06-14 21:28:18] (EE) No devices detected.
[2025-06-14 21:28:18]
Fatal server error:
[2025-06-14 21:28:18] no screens found
[2025-06-14 21:28:18]
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[2025-06-14 21:28:18] Please also check the log file at “/home/me/.local/share/xorg/Xorg.0.log” for additional information.
[2025-06-14 21:28:18]
[2025-06-14 21:28:18] (EE) Server terminated with error (1). Closing log file.

1 Like

X11Libre needs to use the same ABI that Xorg uses as I doubt nvidia will add support for it.

Maybe try

Section "ServerFlags"
    Option         "IgnoreABI" "True"
EndSection
2 Likes

dont think xlibre is gonna be the future

If X11Libre is going to break or drop any of the X11 APIs that the NVIDIA driver depends on, I think this project should just die and disappear.

The whole point of X11 has always been 100% backward API/ABI compatibility. If X11Libre is going to break it, it’s not X11 any longer. It’s just a broken useless fork.

2 Likes

@birdie but hasn’t X’s API/ABI been changed before between major versions? That’s why (as far as I understand) the Nvidia drivers probe what is actually available as explained here, no?
IMO, a more important question is whether Xlibre is able to provide some actual value while not degrading stability. My personal bet is 50/50 currently.

1 Like

@gulafaran keep in mind that some of these reverts may have been politically or personally motivated (I’m not saying they were for sure, definitely not all of them, but it is a possibility that at least some were).

1 Like

Funny that it took Larabel 2 weeks to finally cover the subject at all.
You realize that all these MR were first peer-reviewed by others Xorg devs right? None of which found an issue (until now), and allowed the merging.
I wish Wayland just worked™, but as NVIDIA GPU owners, we all know how it sucks right now for us.

1 Like
  • The guy behind the project wanted to make the project/fork free of politics and added a ton of politics in the README file.
  • The guy pushed a lot of poorly tested code that resulted in major regressions.
  • The guy pushed changes that broke ABI.
  • The guy was quite combative in his comments.

Larabel knew all of that and thus he didn’t want to give the project any coverage.

X11 is not a project you come in and break. One of its hallmarks is ABI/API compatibility.

Yes, the Xorg server broke ABI here and there, but that was rare and kinda warranted.

2 Likes

fully agree with the above 2 points.
What I think Xlibre needs in the first place if it’s to move forward, are solid end2end tests preventing regressions.

True, but so were the RedHat folks. Their animosity goes years back and has been gradually increasing: pointing a finger at whichever of the sides is pointless (pun intended ;-) ).

Here I strongly disagree: X11’s API/ABI does change between major versions and it is generally a normal practice across many projects to change API/ABI in master branch (otherwise you wouldn’t be able to change it forever). The root cause of the problem is that because of lack or releases ppl (distros) started to rely on master, which should never happen in the first place.

2 Likes

Thank you, finally reporting back and can confirm this just works so far (despite my annoying Lenovo Legion AMD APU + NVIDIA discrete GPU setup), even on an external monitor (4K/144Hz).