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
dbus-1.14.10, elogind-252.9
(tempo de execução; libelogind
também referenciada em tempo de construção, mas realmente não é
útil), libepoxy-1.5.10 (necessário para glamor),
libtirpc-1.3.4, e xorg-libinput-1.4.0
(tempo de execução)
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
|