Xorg-Server-21.1.13

Introduction à Xorg Server

Le serveur Xorg est le cœur du système X Window.

Ce paquet est connu pour pouvoir être construit et fonctionner correctement avec une plateform 12.2.

Informations sur le paquet

  • Téléchargement (HTTP) : https://www.x.org/pub/individual/xserver/xorg-server-21.1.13.tar.xz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 du téléchargement : 69dbed93746d0af6b46de76d711614e4

  • Taille du téléchargement : 4,7 Mo

  • Estimation de l'espace disque requis : 147 Mo (avec les tests)

  • Estimation du temps de construction : 0,3 SBU (avec parallélisme = 4 ; avec les tests)

Téléchargements supplémentaires

  • Avec la suppression des pilotes xf86-video-*, l'option TearFree ne fonctionne plus. Pour contourner cela, les développeurs en amont ont ajouté l'option TearFree au pilote de gestion des modes par défaut. Ce correctif récupère cette fonctionnalité. Appliquez ce correctif si vous allez utiliser Xorg dans un environnement sans compositeur (comme TWM, IceWM, Openbox ou Fluxbox).

    Correctif facultatif : https://www.linuxfromscratch.org/patches/blfs/12.2/xorg-server-21.1.13-tearfree_backport-2.patch

Dépendances de Xorg Server

Requises

libxcvt-0.1.2, Pixman-0.43.4, Polices Xorg (seulement font-util) et à l'exécution : xkeyboard-config-2.42

Recommandées

[Note]

Note

Bien qu'il soit possible de construire ce paquet sans avoir installé dbus-1.14.10 ou de lancer le serveur Xorg sans un elogind-255.5 fonctionnel, cela nécessiterait d'exécuter le serveur Xorg en tant qu'utilisateur root ou le serveur Xorg ne fonctionnera pas correctement ou pourrait ne pas démarrer. Les auteurs de BLFS vous déconseillent fortement de sauter ces deux dépendances. N'essayez pas de le faire sans savoir exactement ce que vous faites.

Facultatives

acpid-2.0.34 (exécution), Doxygen-1.12.0 (pour construire la documentation de l'API), fop-2.9 (pour construire la documentation), libunwind-1.6.2, Nettle-3.10, libgcrypt-1.11.0, xcb-util-keysyms-0.4.1, xcb-util-image-0.4.1, xcb-util-renderutil-0.3.10, xcb-util-wm-0.4.2 (tous les quatre pour construire Xephyr), xmlto-0.0.29 (pour construire la documentation), xkeyboard-config-2.42 (pour les tests), rendercheck (pour les tests) et xorg-sgml-doctools (pour construire la documentation)

Configuration du noyau

Les pilotes X dépendant des périphériques traditionnels ont été supprimés de BLFS en faveur du pilote modesetting_drv qui sera construit dans ce paquet. Pour utiliser le pilote modesetting_drv, le noyau doit fournir un pilote DRM (gestionnaire de rendu direct) pour votre GPU.

Si votre GPU prend en charge l'accélération 3D et que Mesa-24.1.5 fournit un pilote Gallium3D pour utiliser ses capacités 3D, vous deviez déjà avoir activé les options de configuration du noyau nécessaires dans Configuration du noyau pour Mesa. Sinon, vous devrez trouver l'option de configuration du noyau du pilote DRM pour votre GPU et l'activer. En particulier, les GPU virtuels fournis par certains gestionnaires de machines virtuelles :

Device Drivers --->
  Graphics support --->
    <*/M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
                                                                      ...  [DRM]
      < /*/M> DRM driver for VMware Virtual GPU                     [DRM_VMWGFX]
      < /*/M> DRM Support for bochs dispi vga interface (qemu stdvga)
                                                                ...  [DRM_BOCHS]
      < /*/M> Virtual Box Graphics Card                          [DRM_VBOXVIDEO]

Si le noyau ne fournit pas de pilote DRM pour votre GPU, sur la plupart des systèmes x86, le pilote DRM « simple frame buffer » qui utilise le frame buffer VESA ou UEFI peut être utilisé comme solution de repli. Activez les options suivantes dans la configuration du noyau si vous n'avez pas de pilote DRM dédié pour votre GPU ou si vous voulez le pilote simple frame buffer comme solution de repli en cas d'échec du pilote dédié :

Device Drivers --->
  Firmware Drivers --->
    [*] Mark VGA/VBE/EFI FB as generic system framebuffer       [SYSFB_SIMPLEFB]
  Graphics support --->
    <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
                                                                      ...  [DRM]
      <*> Simple framebuffer driver                              [DRM_SIMPLEDRM]

Pour permettre au noyau d'afficher les messages de débogage très tôt au démarrage, CONFIG_DRM et CONFIG_DRM_SIMPLEDRM ne doivent pas être construits comme des modules du noyau à moins d'utiliser un initramfs.

Si vous voulez utiliser le pilote de simple frame buffer sur un système démarré via le BIOS (et pas un UEFI), ajoutez la ligne suivante avant le premier bloc menuentry dans le fichier /boot/grub/grub.cfg pour initialiser le frame buffer VESA :

set gfxpayload=1024x768x32

Vous pouvez remplacer 1024, 768 et 32 par une résolution et une profondeur de couleur qui correspondent à votre écran.

Si aucun de ces pilotes DRM ne correspond à votre situation et que vous devez utiliser un pilote DDX avec un noyau sans pilote GPU DRM (habituellement nommé CONFIG_FB_* dans la configuration du noyau ou existant en tant que modules en dehors des sources du noyau) ou que vous avez besoin d'une fonctionnalité spécifique à un périphérique qui nécessite un pilote DDX, consuiltez une version précédente de BLFS ou un version encore plus ancienne pour en savoir plus sur les pilotes DDX.

Installation de Xorg Server

Tout d'abord, si vous avez besoin des options TearFree pour contourner un problème de screen tearing, appliquez les correctifs portés :

patch -Np1 -i ../xorg-server-21.1.13-tearfree_backport-2.patch

Installez the server en exécutant les commandes suivantes :

mkdir build &&
cd    build &&

meson setup ..               \
      --prefix=$XORG_PREFIX  \
      --localstatedir=/var   \
      -D glamor=true         \
      -D systemd_logind=true \
      -D xkb_output_dir=/var/lib/xkb &&
ninja

Pour tester les résultats, lancez : ninja test Vous devrez lancer ldconfig en tant qu'utilisateur root avant ou certains tests pourraient échouer.

Maintenant en tant qu'utilisateur root :

ninja install &&
mkdir -pv /etc/X11/xorg.conf.d &&
install -v -d -m1777 /tmp/.{ICE,X11}-unix &&
cat >> /etc/sysconfig/createfiles << "EOF"
/tmp/.ICE-unix dir 1777 root root
/tmp/.X11-unix dir 1777 root root
EOF

Explication des commandes

-D glamor=true : s'assure de construire le module Glamor. Il est requis pour construire le pilote modesetting_drv qui remplace les pilote DDX (pilote X dépendant du périphérique).

-D systemd_logind=true : ce paramètre fait arrêter le système de construction en erreur si dbus-1.14.10 n'est pas installé. Les auteurs de BLFS vous déconseillent de construire de paquet sans avoir installé dbus-1.14.10.

-D suid_wrapper=true : construit l'enveloppe suid-root pour la prise en charge des anciens pilotes DDX sur les systèmes xserver sans utilisateur root.

cat >> /etc/sysconfig/createfiles... : Cette commande crée les répertoires /tmp/.ICE-unix et /tmp/.X11-unix au démarrage et garantit que les droits et l'appartenance soient conformes aux exigences du serveur

-D xephyr=true : cette option permet de construire Xephyr si ses dépendances sont présentes.

Contenu

Programmes installés: gtf, X, Xnest, Xorg, Xvfb et éventuellement Xephyr
Bibliothèques installées: plusieurs dans $XORG_PREFIX/lib/xorg/modules dont le pilote modesetting_drv
Répertoires installés: /etc/X11/xorg.conf.d, $XORG_PREFIX/include/xorg, $XORG_PREFIX/lib/xorg et $XORG_PREFIX/share/X11/xorg.conf.d

Descriptions courtes

gtf

calcule les lignes du mode VESA GTF

X

est un lien symbolique vers Xorg

Xephyr

est un sous-serveur X avec un support des extensions X modernes

Xnest

est un sous-serveur X

Xorg

est le serveur X X11R7

Xvfb

est le framebuffer virtuel du serveur X pour X Version 11

modesetting_drv.so

fournit un pilote vidéo pour les machines utilisant le "Kernel Mode Setting" (KMS). Cela utilisera glamor s'il a été activé et que le matériel permet l'accélération