- Official XLibre PKGBUILDS for Arch Linux
- ========================================
- This repository is part of a set that provides PKGBUILD files for building Xlibre packages on Arch Linux derivative distributions and Arch Linux itself.
- These repositories are provided by the XLibre project:
- * xlibre-xserver - contains xlibre-xserver, xlibre-xserver-common, xlibre-xserver-devel, xlibre-xserver-xephyr, xlibre-xserver-xnest, xlibre-xserver
- * xlibre-xf86-input-elographics
- * xlibre-xf86-input-evdev
- * xlibre-xf86-input-libinput
- * xlibre-xf86-input-void
- * xlibre-xf86-input-synaptics
- * xlibre-xf86-input-vmmouse
- * xlibre-xf86-input-wacom
- * xlibre-xf86-video-amdgpu
- * xlibre-xf86-video-ati
- * xlibre-xf86-video-dummy
- * xlibre-xf86-video-fbdev
- * xlibre-xf86-video-intel
- * xlibre-xf86-video-nouveau
- * xlibre-xf86-video-nv
- * xlibre-xf86-video-qxl
- * xlibre-xf86-video-sisusb
- * xlibre-xf86-video-vesa
- * xlibre-xf86-video-vmware
- * xlibre-xf86-video-voodoo
- The procedure to build the xlibre packages is documented here.
- Important notice
- ----------------
- * In the Xorg repository the 'TearFree' option was been enabled by default quite some time ago, but this code was never released.
- Xlibre did release the code, so it does have the 'TearFree' option enabled by default.
- Repository layout and usage
- ---------------------------
- Each repository directory contains the PKGBUILD and related files to build the installable package as .zst file. This can be done with eg. command makepkg.
- The procedure is the same for all packages:
- * change directory into the one of the package
- * install the required (make)depends
- * build the package
- * install the package or add it to a repository so subsequent package builds can use it
- Conditions related to the order of building xlibre packages
- -----------------------------------------------------------
- Note that an xlibre-xserver update from 25.0.0.x to 26.0.0.x is considered a major version update; an update from 25.0.0.3 to 25.0.0.4 is not as this just a minor version update, also known as hotfix.
- * A major update will increase the Module ABI versions in the Xlibre packages.
- * Before a major updade of xlibre-xserver - and only then - a new version of the xlibre-xf86-input-libinput PKGBUILD file must be downloaded and this package built; this to acommodate for the increased ABI versions while building the xlibre-xserver and xlibre-xf86 packages.
- * The major update is done by building the new version of the xlibre-xserver base package which builds the 6 xlibre-xserver packages.
- * After a major updade of xlibre-xserver, all xlibre-xf86 driver packages need to be rebuilt.
- * Once an Xlibre package has been built it should be used to replace its xorg counterpart, if installed.
- Packages build procedure
- ------------------------
- Note: when asked to remove conflicting xorg and xf86 packages when building, answer with: y
- When conflicting xf86 packages cannot be removed, use pacman -Rdd to force remove these.
- Keep a note of all removed xf86 packages and install the corresponding xlibre-xf86 ones during step 4!
- # 1. Build package xlibre-xf86-input-libinput v1.5.0.0 - this is only required after a major version update as explained above.
- Note this is a placeholder package and will be replaced later in this procedure with a newer version.
- - change directory into xlibre-xf86-input-libinput
- - make sure xorg-devel is installed and also other dependencies from the PKGBUILD file
- - build the package using eg. makepkg
- - install the package:\
- sudo pacman -U xlibre-xf86-input-libinput-1.5.0.0-1-x86_64.pkg.tar.zst
- # 2. Build the xlibre-xserver packages
- - change directory into xlibre-xserver
- - make sure to install all dependencies from the PKGBUILD file like eg. xtrans, libxaw, xorg-font-util and meson
- - remove conflicting packages that pacman cannot delete, eg.:\
- sudo pacman -Rdd xf86-video-vmware xf86-input-vmmouse xf86-input-elographics xf86-input-evdev xf86-input-void xf86-input-wacom
- - build the package using eg. makepkg
- - install these packages:
- sudo pacman -U xlibre-xserver-<version number>-x86_64.pkg.tar.zst xlibre-xserver-common-<version number>-x86_64.pkg.tar.zst xlibre-xserver-devel-<version number>-x86_64.pkg.tar.zst
- # 3. Build the actual xlibre-xf86-input-libinput package
- - change directory once more into xlibre-xf86-input-libinput
- - replace the PKGBUILD file with the final one for this package:
- mv PKGBUILD-1.5.0.1 PKGBUILD
- - build the package using eg. makepkg
- - install the package:\
- sudo pacman -U xlibre-xf86-input-libinput-1.5.0.1-1-x86_64.pkg.tar.zst
- # 4. Build and install all xlibre packages of which the corresponding xorg one has been removed
- This is done with the same procedure as in the previous steps.
- These packages and others might have to be installed when building:
- - xlibre-xf86-input-wacom: gobject-introspection
- - xlibre-xf86-video-qxl: spice-protocol libcacard spice
- - xlibre-xf86-video-intel: libxvmc
- Perform checks
- --------------
- - check there are no more xorg packages that need to be replaced:
- pacman -Q | grep 'xorg-server\|xf86-'
- - check that all required xlibre packages are installed:
- pacman -Q | grep 'xlibre-'
- - make SURE xlibre-xf86-input-libinput-1.5.0.1 or higher is installed!
- Closed source drivers
- ---------------------
- Closed source drivers might not have an updated ABI version to match that of the updated xlibre-xserver. This can be overcome by creating a file named eg. /etc/X11/xorg.conf.d/xlibre.conf containing:
- Section "ServerFlags"
- Option "IgnoreABI" "true"
- EndSection
- Questions and answers
- ---------------------
- * Q. How to check which X server and drivers are installed?\
- A1. Check the X11 vendor string using:\
- sudo Xorg -version\
- A2. List the installed X packages with:\
- pacman -Q | grep 'xlibre-xserver\|xorg-server\|xf86-'
- artist for Xlibre