Antes de iniciar o "Xorg" pela primeira vez, é útil reconstruir o
"cache" da biblioteca executando-se o "ldconfig
" como o(a) usuário(a)
"root
".
Antes de iniciar o "Xorg" pela primeira vez, muitas vezes é necessário reinicializar o sistema para garantir que todos os processos de segundo plano apropriados sejam iniciados e que os problemas de segurança apropriados estejam configurados adequadamente. Como alternativa, sair e logar-se novamente possivelmente funcione, mas ao tempo deste texto, não foi testado.
Se o "Xorg" travar por algum motivo (por exemplo, ausência de um
controlador de entrada adequado), [então] o sistema poderá parar
de responder a qualquer entrada gerada de usuário(a). Como
precaução, você pode habilitar uma tecla mágica "SysRq" antes de testar o "Xorg".
Como o(a) usuário(a) "root
",
emita:
echo 4 > /proc/sys/kernel/sysrq
Então, se o "Xorg" travar, é possível usar "Alt+SysRq+R" para reconfigurar o modo do teclado. Agora ele deveria ser capaz de usar "Ctrl+Alt+Fx" (substitua o "x" por um número de "VT") para comutar para outro "VT". Se funcionar, [então] logue-se e mate o "Xorg" usando a linha de comando no novo "VT".
Para testar a instalação do "Xorg", emita "startx". Esse comando traz um gerenciador de janelas rudimentar chamado "twm" com três janelas do "xterm" e uma janela do "xclock". A janela do "xterm" no canto superior esquerdo é um terminal de "login" e executar-se "exit" a partir desse terminal sairá da sessão do "Janelas X". A terceira janela do "xterm" possivelmente esteja obscurecida em teu sistema pelos outros dois "xterms".
Ao testar o "Xorg" com o gerenciador de janelas "twm", existirão vários avisos no arquivo de registro do "Xorg", "$HOME/.local/share/xorg/Xorg.0.log", a respeito de arquivos de fontes ausentes. Além disso, existirão vários avisos no terminal de modo texto (geralmente "tty1") a respeito de fontes ausentes. Esses avisos não afetam a funcionalidade, mas podem ser removidos, se desejado, instalando-se o "Fontes Legadas do "Xorg"".
Geralmente, não existe configuração específica exigida para o "Xorg", mas a personalização é possível. Para detalhes, veja-se "“Configurando Dispositivos do “Xorg””" abaixo.
"DRI" é uma estrutura que permite que logiciário acesse "hardware" gráfico de maneira segura e eficiente. Ela é instalada no "X" por padrão (usando "Mesa") se você tiver uma placa de vídeo suportada.
Para verificar se os controladores da "DRI" estão instalados
adequadamente, verifique o arquivo de registro "$HOME/.local/share/xorg/Xorg.0.log
" (ou
"/var/log/Xorg.0.log
" se você tiver
construído o "Xorg-Server-21.1.7" com o "bit" "suid")
para declarações como:
(II) intel(0): direct rendering: DRI2 Enabled
ou
(II) NOUVEAU(0): Loaded DRI module
A configuração da "DRI" possivelmente seja diferente se você estiver usando controladores alternativos, como aqueles oriundos da "NVIDIA" ou da "AMD".
Outra maneira de determinar se a "DRI" está funcionando adequadamente é a de usar um dos dois aplicativos de demonstração "OpenGL" instalados opcionalmente no "Mesa-22.3.5". A partir de um terminal do "X", execute "glxinfo" e procure pela frase:
nome da tela: :0
display: :0 screen: 0
direct rendering: Yes
Se a Renderização Direta estiver habilitada, [então] você poderá adicionar detalhamento executando "LIBGL_DEBUG=verbose glxinfo". Isso mostrará os controladores, nós de dispositivos e arquivos usados pelo sistema da "DRI".
Para confirmar se a aceleração de "hardware" "DRI2" está
funcionando, você pode (ainda no terminal do "X") executar o
comando glxinfo | grep -E "(OpenGL
vendor|OpenGL renderer|OpenGL version)". Se isso
informar algo diferente de
"Software Rasterizer
", então você tem
aceleração funcional para o(a) usuário(a) que executou o comando.
Se o teu "hardware" não tiver nenhum controlador "DRI2" disponível, [então] ele usará um "Software Rasterizer" para Renderização Direta. Nesses casos, você pode usar um novo "Software Rasterizador", acelerado por "LLVM", chamado "LLVMPipe". Para a finalidade de construir o "LLVMPipe", apenas certifique-se de que o "LLVM-15.0.7" esteja presente ao tempo da construção do "Mesa". Observe que toda a decodificação é feita na "CPU" e não na "GPU", de forma que a exibição ficará mais lenta que com aceleração de "hardware". Para verificar se você está usando o "LLVMpipe", revise a saída gerada do comando "glxinfo" acima. Um exemplo de saída gerada usando o "Software Rasterizer" é mostrado abaixo:
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.5, 256 bits)
OpenGL version string: 3.0 Mesa 10.4.5
Você também consegue forçar o "LLVMPipe" exportando a variável de
ambiente "LIBGL_ALWAYS_SOFTWARE=1
" ao
iniciar o "Xorg".
Novamente, se você tiver construído os demonstrativos "OpenGL" do "Mesa", [então] também poderá executar o aplicativo de teste "glxgears". Esse aplicativo abre uma janela com três engrenagens girando. O terminal do "X" exibirá quantos quadros foram desenhados a cada cinco segundos, de forma que isso dará uma avaliação comparativa aproximada. A janela é escalonável e os quadros desenhados por segundo são altamente dependentes do tamanho da janela. Em alguns "hardwares", o "glxgears" executará sincronizado com o sinal de atualização vertical e a taxa de quadros será aproximadamente a mesma que a taxa de atualização do monitor.
Ao iniciar o "Xorg", existem algumas maneiras de verificar
quaisquer problemas que você possa ter. Se o sistema funcionar,
[então] você poderá ver qual controlador está sendo usado
executando o "xdriinfo". Se existirem problemas
ou você quiser apenas verificar, {então} consulte Xorg.0.log
.
O local do "Xorg.0.log
" depende de
como o "Xorg" está instalado. Se as instruções no livro forem
seguidas à risca e o "Xorg" for iniciado a partir da linha de
comando, [então] ele estará localizado no diretório "$HOME/.local/share/xorg/
". Se o "Xorg" for
iniciado por um gerenciador de exibição (por exemplo, "lightdm-1.32.0", "lxdm-0.5.3" ou "GDM-43.0") ou se "$XORG_PREFIX/libexec /Xorg
" tiver o "bit" "suid"
configurado, [então] ele estará localizado no diretório
"/var/log/
".
Ao olhar para o "Xorg.0.log", verifique entradas como ("EE") ou ("WW"). Abaixo estão algumas entradas comuns:
Esse aviso ocorre porque o "acpid-2.0.34" não está instalado. Se você não estiver em um "laptop", [então] ele pode ser seguramente ignorado. Em um "laptop", instale o "acpid-2.0.34" para habilitar ações como reconhecer quando a tampa está fechada.
Esse aviso é exibido quando um(a) usuário(a) normal inicia o
"Xorg". A biblioteca "libpciaccess.so
" emite esse aviso quando ela
tenta abrir o "/dev/vga_arbiter
". Se
existir somente uma placa de vídeo no sistema, [então] ele pode ser
seguramente ignorado. Se desejado, [então] as permissões desse
dispositivo podem ser mudadas adicionando-se uma regra do "Udev" e
adicionando-se o(a) usuário(a) local ao grupo de vídeo. Como o(a)
usuário(a) "root
":
cat > /etc/udev/rules.d/99-vga-arbiter.rules << EOF # /etc/udev/rules.d/99-vga-arbiter.rules: Configura grupo/modo do "vga_arbiter" ACTION=="add", KERNEL=="vga_arbiter", GROUP="video" MODE="0660" EOF usermod -a -G video <usuário(a) executando o Xorg>
Esse erro, acompanhado por "(EE) AIGLX error: unable to load driver i965", ocorre em alguns sistemas com dispositivos gráficos baseados em Intel. Isso é causado por uma incompatibilidade entre o "Xorg-Server-21.1.7" e o "Mesa-22.3.5" atuais. O "Xorg" não mais usa o controlador "i965" e usa os controladores Mesa "crocus" ou "iris", conforme indicado pelo comando "xdriinfo". Ele pode seguramente ser ignorado.
Se desejado, [então] esse aviso pode ser removido comentando-se as
linhas 330-331 e 337-338 ("LogMessage") do "glx/glxdricommon.c
" no pacote "Xorg-Server-21.1.7".
Os Gráficos Híbridos ainda estão em estado experimental para o Linux. Os(As) desenvolvedores(as) do "Xorg" desenvolveram uma tecnologia chamada "PRIME" que pode ser usada para comutar entre "GPU" discreta integrada e sem "mux" à vontade. A comutação automática não é possível no momento.
Para a finalidade de usar a "PRIME" para comutação de "GPU", certifique-se de que está usando o Núcleo Linux 3.4 ou posterior (recomendado). Você precisará dos controladores "DRI" e "DDX" mais recentes para o teu "hardware" e do Servidor "Xorg" 1.13 ou posterior.
O Servidor "Xorg" deveria carregar ambos os controladores de "GPU" automaticamente. Você pode verificar isso executando:
xrandr --listproviders
Deveria existir dois (ou mais) provedores listados, por exemplo:
Providers: number : 2
Provider 0: id: 0x7d cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 4 associated providers: 1 name:Intel
Provider 1: id: 0x56 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 1 associated providers: 1 name:radeon
Para a finalidade de poder executar um aplicativo "GLX" em uma "GPU" discreta, você precisará executar o seguinte comando, onde <provider> é a placa discreta mais poderosa e <sink> é o cartão que tem uma tela conectada:
xrandr --setprovideroffloadsink <provider> <sink>
Com controladores do "Xorg" mais recentes, como "modesetting" ou "intel", que são compatíveis com "DRI3", o comando acima não mais é necessário. No entanto, ele não danifica.
Então, você precisará exportar a variável de ambiente "DRI_PRIME=1
" toda vez que quiser que a poderosa
"GPU" seja usada. Por exemplo,
DRI_PRIME=1 glxinfo | grep -E "(OpenGL vendor|OpenGL renderer|OpenGL version)"
mostrará o fornecedor, o renderizador e a versão do "OpenGL" para a "GPU" discreta.
Se o último comando informar o mesmo renderizador "OpenGL" com e
sem "DRI_PRIME=1
", [então] você
precisará verificar a tua instalação.
Para a maioria das configurações de "hardware", o "Xorg" moderno corrigirá automaticamente a configuração do servidor sem qualquer intervenção do(a) usuário(a). Existem, no entanto, alguns casos em que a configuração automática estará incorreta. A seguir estão alguns de itens de configuração manual de exemplo que possivelmente sejam de uso nesses casos.
Para a maioria dos dispositivos de entrada, nenhuma configuração adicional será necessária. Esta seção é fornecida somente para fins informativos.
Uma amostra de configuração padrão do "XKB" poderia ser
semelhante ao seguinte (executado como o(a) usuário(a)
"root
"):
cat > /etc/X11/xorg.conf.d/xkb-defaults.conf << "EOF"
Section "InputClass"
Identifier "XKB Defaults"
MatchIsKeyboard "yes"
Option "XkbLayout" "fr"
Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
EOF
A linha “XkbLayout” é um exemplo para um teclado francês ("AZERTY"). Mude-a para o modelo do teu teclado. Essa linha não é necessária para um teclado "QWERTY" ("EUA").
Novamente, com o "Xorg" moderno, pouca ou nenhuma configuração
adicional é necessária. Se devesse precisar de opções extras
passadas para o teu controlador de vídeo, por exemplo, você
poderia usar algo como o seguinte (novamente, executado como o(a)
usuário(a) "root
"):
cat > /etc/X11/xorg.conf.d/videocard-0.conf << "EOF"
Section "Device"
Identifier "Videocard0"
Driver "radeon"
VendorName "Fornecedor da placa de vídeo"
BoardName "ATI Radeon 7500"
Option "NoAccel" "true"
EndSection
EOF
Outra configuração comum é ter vários esquemas de servidor para uso em ambientes diferentes. Apesar de que o servidor automaticamente detectará a presença de outro monitor, ele possivelmente obtenha a ordem incorreta:
cat > /etc/X11/xorg.conf.d/server-layout.conf << "EOF"
Section "ServerLayout"
Identifier "DefaultLayout"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" LeftOf "Screen0"
Option "Xinerama"
EndSection
EOF