Xorg-Server-21.1.8
      
      
        
          Introduction to Xorg Server
        
        
          The Xorg Server is the core of the
          X Window system.
        
        
          This package is known to build and work properly using an LFS 12.0
          platform.
        
        
          Package Information
        
        
        
          Additional Downloads
        
        
        
          Xorg Server Dependencies
        
        
          Required
        
        
          libxcvt-0.1.2, Pixman-0.42.2,
          Xorg
          Fonts (only font-util), and at runtime: xkeyboard-config-2.39
        
        
          Recommended
        
        
          elogind-252.9 (runtime), libepoxy-1.5.10 (needed for glamor),
          libtirpc-1.3.3, and xorg-libinput-1.3.0 (runtime)
        
        
          Optional
        
        
          acpid-2.0.34 (runtime), Doxygen-1.9.7
          (to build API documentation), fop-2.9 (to build
          documentation), libunwind-1.6.2, Nettle-3.9.1,
          libgcrypt-1.10.2, xcb-util-keysyms-0.4.1, xcb-util-image-0.4.1, xcb-util-renderutil-0.3.10,
          xcb-util-wm-0.4.2 (all four to build
          Xephyr), xmlto-0.0.28 (to build documentation), xkeyboard-config-2.39 (for tests),
          rendercheck
          (for tests), and xorg-sgml-doctools
          (to build documentation)
        
       
      
        
          Kernel
          Configuration
        
        
          The traditional Device Dependent X (DDX) drivers have been removed
          from BLFS in favor of the modesetting_drv driver which will be built as a
          part of this package. To use the modesetting_drv driver, the kernel must provide a
          Direct Rendering Manager (DRM) driver for your GPU.
        
        
          If your GPU supports 3D acceleration and Mesa-23.1.6 provides a
          Gallium3D driver for utilizing its 3D capability, you should have
          already enabled the necessary kernel configuration options in
          Mesa Kernel Configuration. Otherwise,
          you need to find the kernel configuration option of the DRM driver
          for the GPU and enable it. Notably, the virtual GPUs provided by
          some virtual machine managers:
        
        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]
        
          If the kernel does not provide a DRM driver for your GPU, on most
          x86 systems the “simple frame buffer” DRM driver running
          on VESA or UEFI frame buffer can be used as a fallback. Enable the
          following options in the kernel configurations if you don't have a
          dedicated DRM driver for the GPU, or you want to keep the simple
          frame buffer driver as a fallback in case the dedicated driver
          fails:
        
        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]
        
          To allow the kernel to print debug messages at an early boot stage,
          CONFIG_DRM and CONFIG_DRM_SIMPLEDRM should not be built as kernel
          modules unless an initramfs will be used.
        
        
          If you want to use the simple frame buffer driver on a system
          booted via BIOS (instead of UEFI), add the following line before
          the first menuentry block in the
          /boot/grub/grub.cfg file to
          initialize the VESA frame buffer:
        
        set gfxpayload=1024x768x32
        
          You may replace 1024, 768, and 32 with a
          resolution and color depth setting suitable for your monitor.
        
        
          If all of these DRM drivers do not work for you and you need to use
          a DDX driver with a non-DRM kernel GPU driver (usually named
          CONFIG_FB_* in the kernel
          configuration, or existing as out-tree kernel modules), or you need
          an device specific functionality requiring a DDX driver, consult
          a
          prior version of BLFS, or an
          even prior version for more DDX drivers.
        
       
      
        
          Installation of Xorg Server
        
        
          First, if you need the TearFree option to work around screen
          tearing, apply the backported patch:
        
        patch -Np1 -i ../xorg-server-21.1.8-tearfree_backport-1.patch
        
          Install the server by running the following commands:
        
        mkdir build &&
cd    build &&
meson setup ..              \
      --prefix=$XORG_PREFIX \
      --localstatedir=/var  \
      -Dglamor=true         \
      -Dxkb_output_dir=/var/lib/xkb &&
ninja
        
          To test the results, issue: ninja
          test. You will need to run ldconfig as the root user first or some tests may fail.
        
        
          Now as the root user:
        
        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
       
      
        
          Command Explanations
        
        
          -Dglamor=true: Ensure
          building the Glamor module. It's needed to build the modesetting_drv driver which replaces the
          traditional Device Dependent X (DDX) drivers.
        
        
          -Dsuid_wrapper=true: Builds the
          suid-root wrapper for legacy DDX driver support on rootless xserver
          systems.
        
        
          -Dsystemd_logind=false: This switch
          disables elogind integration, allowing
          Xorg Server to work without having the PAM module configured.
        
        
          cat >>
          /etc/sysconfig/createfiles...: This command creates
          the /tmp/.ICE-unix and /tmp/.X11-unix directories at startup, and
          ensures that the permissions and ownership are correct as required
          by the server.
        
        
          -Dxephyr=true: This option allows
          building Xephyr if its dependencies are met.
        
       
      
        
          Contents
        
        
          
            
              Installed Programs:
              gtf, X, Xnest, Xorg, Xvfb, and optionally
              Xephyr
            
            
              Installed Libraries:
              several under
              $XORG_PREFIX/lib/xorg/modules/ including the modesetting_drv driver
            
            
              Installed Directories:
              /etc/X11/xorg.conf.d,
              $XORG_PREFIX/include/xorg, $XORG_PREFIX/lib/xorg, and
              $XORG_PREFIX/share/X11/xorg.conf.d
            
           
         
        
          
            Short Descriptions
          
          
            
              
              
            
            
              
                | 
                    gtf
                   | 
                    calculates VESA GTF mode lines
                   | 
              
                | 
                    X
                   | 
                    is a symbolic link to Xorg
                   | 
              
                | 
                    Xephyr
                   | 
                    is a nested X server which supports modern X extensions
                   | 
              
                | 
                    Xnest
                   | 
                    is a nested X server
                   | 
              
                | 
                    Xorg
                   | 
                    is the X11R7 X Server
                   | 
              
                | 
                    Xvfb
                   | 
                    is the virtual framebuffer X server for X Version 11
                   | 
              
                | 
                    modesetting_drv.so | 
                    provides a video driver for machines using Kernel Mode
                    Setting (KMS). This will use glamor if that has been
                    enabled and the hardware offers acceleration
                   |