Skip to content

Compatibility of XLibre

callmetango edited this page Jul 18, 2025 · 15 revisions

X Window System Protocol Version 11

XLibre is a display server implementation of the X Window System Protocol Version 11 - Wikipedia (X11). One of the project's main goals is to stay backwards compatible with the API - Wikipedia of the X11 protocol. So all existing X11 clients implementing this protocol are supposed to work with XLibre the same way as before.

Xlib a.k.a. libX11

Right now, the X Window System protocol client library - Wikipedia (Xlib) is still maintained by Xorg and they'll probably continue to do so. There is no desire by the XLibre maintainers to add anything new to Xlib. It's just for legacy applications that haven't been migrated to XCB - Wikipedia yet.

If Xorg decides to stop maintaining XLib, the XLibre project will consider forking it as well.

Device Dependent X (DDX) Drivers

For each type of graphics card or input device there usually is a Device Dependent X (DDX) driver. In XLibre, these drivers have been forked from the X.org drivers to further improve and adapt them to the changes in the XLibre ABI - Wikipedia. Please always use the XLibre drivers from the XLibre Github repositories to ensure compatibility with the XLibre Xserver.

The ABIs of the XLibre Xserver are versioned and loadable modules such as the DDX drivers will not be loaded by default if the version number is found to be incompatible with the Xserver. This version number will be increased by every major release of the XLibre Xserver.

Nvidia proprietary driver

Even when changing the ABI of XLibre, the project strives to keep the proprietary Nvidia driver working. To use the proprietary driver, please add the following to your X configuration, e.g. xorg.conf:

Section "ServerFlags"
    Option "IgnoreABI" "1"
EndSection

This forces the Nvidia driver to be loaded, even if it was compiled for a different ABI version, which is the case with XLibre.

A note from the XLibre developers

Maintaining compatibility with the proprietary Nvidia driver is double-edged. On the one hand, it would be desirable from a software architecture and FOSS approach perspective to replace this driver with an open source driver like nouveau - Wikipedia. On the other hand, the XLibre project does not want to scare people away or force them to spend a lot of money on new hardware. And XLibre doesn't see it as a "feature" to break existing functionality like some other projects do.

The whole situation would be much better if the Nvidia folks would just start cleaning up their code, split their big driver blob - Wikipedia into different modules per ABI, stop doing questionable hacks and use the driver API as it was designed (e.g. not highjacking the protocol dispatcher, doing their own RANDR implementation, etc, etc). Given Nvidia's resources, this should be perfectly feasible. If you like to tell Nvidia what you think about the situation, feel free to do so at 575 release feedback & discussion - Graphics / Linux / Linux - NVIDIA Developer Forums.

There is also an intentionally large warning in the Xorg.{n}.log when loading the proprietary Nvidia driver reminding you of this very fact.

Reporting problems with Nvidia and XLibre

If you run into trouble using the proprietary Nvida driver with XLibre, please see the list of known Nvidia related issues and report any new issues to Issues · X11Libre/xserver. Members of our community use the Nvidia drivers themselves and will do their best to solve any problems.

Open source drivers for Nvidia

There are two open source drivers for Nvidia grapic cards: X11Libre/xf86-video-nouveau - Github and the older deprecated X11Libre/xf86-video-nv - Github.

nouveau driver for Nvidia cards

Quoting the project page of nouveau:

The nouveau project aims to build high-quality, free/libre software drivers for NVIDIA GPUs. “Nouveau” [nuvo] is the French word for “new”. Nouveau is composed of a Linux kernel driver (nouveau) and OpenGL and Vulkan drivers in Mesa.

Please refer to the nouveau CodeNames · freedesktop.org to get a rough idea of the Nvidia graphics cards supported by this driver.

The XLibre project is constantly tracking and integrating changes of the upstream nouveau project. Effectivly all improvements made there will be available for the XLibre users too.

Deprecated nv driver for Nvidia cards

Quoting the nv - X.org wiki:

Driver for NVIDIA based video chips

Status

Deprecated in 2010 See nouveau instead.

Please refer to the NV man page - X.org to get a list of Nvidia graphics cards supported by this driver.

The XLibre project questions whether this driver should remain in the source tree. Please join the discussion at Is xfree86-video-nv driver really still needed ? · X11Libre · Discussion #193 if you have one of the graphics cards supported by this driver and still need it.

References

Clone this wiki locally