Xorg-Server-21.1.11

Introdução ao Servidor Xorg

O Servidor "Xorg" é o núcleo do Sistema de Janelas "X".

Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.1.

Informação do Pacote

  • Transferência (HTTP): https://www.x.org/pub/individual/xserver/xorg-server-21.1.11.tar.xz

  • Transferência (FTP):

  • Soma de verificação MD5 da transferência: 57a4ef6ea505254599d9bbe29b0eb769

  • Tamanho da transferência: 4,8 MB

  • Espaço em disco estimado exigido: 164 MB (com testes)

  • Tempo de construção estimado: 0,3 UPC (usando paralelismo = 4; com testes)

Transferências Adicionais

  • Com a remoção dos controladores xf86-video-*, a opção TearFree não mais está funcional. Para contornar isso, o fluxo de desenvolvimento adicionou a opção TearFree ao controlador padrão de configuração de modo. Este remendo reimplementa esse recurso. Aplique este remendo se você for usar o Xorg em um ambiente sem um compositor (como TWM, IceWM, Openbox ou Fluxbox).

    Remendo opcional: https://www.linuxfromscratch.org/patches/blfs/12.1/xorg-server-21.1.11-tearfree_backport-1.patch

Dependências do Servidor Xorg

Exigidas

libxcvt-0.1.2, Pixman-0.43.2, Fontes do Xorg (somente "font-util") e, ao tempo da execução, xkeyboard-config-2.41

Recomendadas

[Nota]

Nota

Embora seja possível construir esse pacote sem dbus-1.14.10 instalado ou executar o servidor Xorg sem elogind-252.9 funcionando, exigiria executar o servidor Xorg como o(a) usuário(a) root, ou o servidor Xorg funcionará mal ou até mesmo falhará ao iniciar. Os(As) editores(as) do BLFS fortemente desencorajam ignorar essas duas dependências. Não tente fazer isso a menos que você realmente saiba o que está fazendo.

Opcionais

acpid-2.0.34 (tempo de execução), Doxygen-1.10.0 (para construir a documentação da "API"), fop-2.9 (para construir a documentação), libunwind-1.6.2, Nettle-3.9.1, libgcrypt-1.10.3, xcb-util-keysyms-0.4.1, xcb-util-image-0.4.1, xcb-util-renderutil-0.3.10, xcb-util-wm-0.4.2 (todos quatro para construir o "Xephyr"), xmlto-0.0.28 (para construir a documentação), xkeyboard-config-2.41 (para testes), rendercheck (para testes) e xorg-sgml-doctools (para construir a documentação)

Configuração do Núcleo

Os controladores tradicionais Device Dependent X (DDX) foram removidos do BLFS em favor do controlador modesetting_drv que será construído como parte desse pacote. Para usar o controlador modesetting_drv, o núcleo precisa fornecer um controlador Direct Rendering Manager (DRM) para a tua GPU.

Se a tua GPU suporta aceleração 3D e Mesa-24.0.1 fornece um controlador Gallium3D para utilizar a capacidade 3D dele, você já deveria ter habilitado as necessárias opções de configuração de núcleo em Configuração de Núcleo do Mesa. Caso contrário, você precisa encontrar a opção de configuração do núcleo do controlador DRM para a GPU e habilitá-la. Notavelmente, as GPUs virtuais fornecidas por alguns gerenciadores de máquinas virtuais:

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]

Se o núcleo não fornecer um controlador DRM para a tua GPU, na maioria dos sistemas x86 o controlador DRM simple frame buffer executando em VESA ou UEFI frame buffer pode ser usado como substituto. Habilite as seguintes opções nas configurações do núcleo, se você não tiver um controlador DRM dedicado para a GPU ou quiser manter o controlador simple frame buffer como um substituto caso o controlador dedicado falhe:

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]

Para permitir que o núcleo imprima mensagens de depuração em um estágio inicial da inicialização, CONFIG_DRM e CONFIG_DRM_SIMPLEDRM não deveriam ser construídos como módulos do núcleo, a menos que um initramfs seja usado.

Se você quiser usar o controlador simple frame buffer em um sistema inicializado via BIOS (em vez de UEFI), adicione a seguinte linha antes do primeiro bloco menuentry no arquivo /boot/grub/grub. cfg para inicializar o VESA frame buffer:

set gfxpayload=1024x768x32

Você pode substituir 1024, 768 e 32 por uma configuração de resolução e profundidade de cor adequada ao teu monitor.

Se todos esses controladores DRM não funcionarem para você e você precisar usar um controlador DDX com um controlador de GPU de núcleo não DRM (geralmente chamado de CONFIG_FB_* na configuração do núcleo, ou existente como módulos do núcleo fora da árvore) ou você precisar de uma funcionalidade específica do dispositivo que exige um controlador DDX, consulte uma versão anterior do BLFS ou uma versão ainda mais anterior para mais controladores DDX.

Instalação do Servidor Xorg

Primeiro, se você precisar da opção TearFree para contornar o rasgo de tela, aplique o remendo reimplementado:

patch -Np1 -i ../xorg-server-21.1.11-tearfree_backport-1.patch

Instale o servidor executando os seguintes comandos:

mkdir build &&
cd    build &&

meson setup ..              \
      --prefix=$XORG_PREFIX \
      --localstatedir=/var  \
      -Dglamor=true         \
      -Dxkb_output_dir=/var/lib/xkb &&
ninja

Para testar os resultados, emita: "ninja test". Você precisará executar "ldconfig" como o(a) usuário(a) "root" primeiro ou alguns testes possivelmente falhem.

Agora como o(a) usuário(a) "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

Explicações do Comando

-Dglamor=true: Certifique-se de construir o módulo Glamour. Ele é necessário para construir o controlador modesetting_drv que substitui os tradicionais controladores Device Dependent X (DDX).

-Dsuid_wrapper=true: Constrói o involucrador suid-root para suporte de controlador legado DDX em sistemas xserver sem raiz.

cat >> /etc/sysconfig/createfiles...: Esse comando cria os diretórios /tmp/.ICE-unix e /tmp/.X11-unix na inicialização e garante que as permissões e titularidade da propriedade estejam corretas conforme exigido pelo servidor.

-Dxephyr=true: Essa opção permite construir o "Xephyr" se as dependências dele forem atendidas.

Conteúdo

Aplicativos Instalados: gtf, X, Xnest, Xorg, Xvfb e, opcionalmente, Xephyr
Bibliotecas Instaladas: várias sob $XORG_PREFIX/lib/xorg/modules/ incluindo o controlador modesetting_drv
Diretórios Instalados: /etc/X11/xorg.conf.d, $XORG_PREFIX/include/xorg, $XORG_PREFIX/lib/xorg e $XORG_PREFIX/share/X11/xorg.conf.d

Descrições Curtas

gtf

calcula linhas do modo "GTF" do "VESA"

X

é um link simbólico para o "Xorg"

Xephyr

é um servidor aninhado "X" que suporta extensões modernas "X"

Xnest

é um servidor aninhado "X"

Xorg

é o Servidor "X11R7" "X"

Xvfb

é o servidor virtual de "framebuffer" "X" para o X Versão 11

modesetting_drv.so

fornece um controlador de vídeo para máquinas que usam "Kernel Mode Setting" ("KMS"). Isso usará o "glamour" se esse tiver sido habilitado e o "hardware" oferecer aceleração