X renderização de texto feia se algum driver não genérico for usado

4

Meu sistema Linux tem uma placa gráfica que se identificou como "[AMD / ATI] Kaveri [Radeon R4 Graphics]".

Se eu o executar com o driver padrão / genérico (módulos blacklist radeon e fglrx), as fontes no X ficam ótimas - as letras são preto sólido ou branco sólido e facilmente legíveis.

Se eu usar o "radeon" de código aberto ou o driver "fglrx" proprietário, o texto ficará feio - por exemplo, a barra superior da letra "T" será composta de alguns pixels pretos e alguns pixels cinzas . Isso não parece ser específico de nenhum ambiente ou programa de área de trabalho, o texto fica feio em qualquer lugar. Pode haver diferenças sutis na exibição das imagens, mas é difícil dizer com certeza.

Confirmei que as resoluções de tela e os DPIs são os mesmos em todos os casos e, olhando para a saída de fc-match, não parece haver diferenças com insinuações / anti-aliasing / etc. sendo ligado / desligado.

O texto feio é exatamente o mesmo (até o mesmo padrão dos pontos cinza na letra "T") se eu uso "radeon" ou "fglrx", o que me leva a acreditar não é realmente um problema com o driver, mas com algo que o X está fazendo. Por exemplo. X está dizendo "Eu detectei que existe um driver capaz de usar $ feature, agora vou ativar $ feature." e qualquer que seja esse recurso, o efeito colateral de tornar o texto feio.

Eu sei que há um monte de guias para tornar as fontes do Linux mais bonitas (não tendo muita sorte com isso até agora), mas o que eu realmente gostaria de saber é o que o X está fazendo de forma diferente quando eu tenho Módulo radeon ou fglrx carregado - se eu pudesse fazer com que parasse de fazer o que quer que seja e exibir meu texto da mesma maneira que quando estou tratando meu cartão como um cartão genérico, o texto ficaria ótimo.

Alguma idéia do que o X poderia estar fazendo de forma diferente entre esses cenários e como fazê-lo parar?

    
por Tapeworm 16.01.2017 / 20:23

1 resposta

3

Finalmente descobri o problema - era uma questão de DPI.

Sem o driver radeon ou fglrx, o DPI padrão era 102x102, com o driver carregado, definindo o DPI como 96x96. Quando tentei usar o xrandr para definir o DPI novamente para 102x102, ele não estava corrigindo as fontes porque as fontes nos programas que já estavam em execução não foram afetadas pela alteração.

Finalmente tentei iniciar o X manualmente depois de editar o meu script startx para incluir "-dpi 102" em "defaultserverflags" e o X então começou em 102x102 DPI, e o texto parecia bem.

Eu ainda não entendi porque a diferença entre o DPI de 96x96 e o DPI de 102x102 faria com que as letras negras desenvolvessem manchas cinzas, mas pelo menos eu sei como corrigi-las agora!

Editar: para adicionar mais alguns detalhes a quem pesquisar o Google mais tarde com um problema semelhante:

  1. Editar startx é uma medida de solução de problemas que não faz uma alteração permanente (a menos que você normalmente inicie o X na linha de comando). Para alterá-lo permanentemente, tive que editar o /etc/lightdm/lightdm.conf e definir xserver-command = X -dpi 102. Isso pode ser diferente dependendo do gerenciador de login que você usa (gdm, kdm, etc.), mas todos devem ter uma opção em algum lugar para quais comandos passar para o X ao iniciá-lo, e é aí que você deseja alterar o seu DPI. Você não pode alterar seu DPI em xorg.conf ou xorg.conf.d, como discutido aqui e aqui .

  2. Há outra configuração, Xft.dpi, que informa ao Xft qual DPI usar para fontes. Se isso não for definido em qualquer lugar, o padrão deve ser o mesmo que o DPI X está usando (acho). Se é definido, você deve ser capaz de ver o que está definido para usar "xrdb -q". Parece que essa configuração pode ser alterada em ~ / .Xresources, ~ / .fonts.conf ou em seu arquivo fonts.conf (local dependente de distribuição). Eu não acabei tendo que mexer com isso para fazer o meu funcionar, mas queria incluir isso caso isso ajudasse alguém que pesquisasse isso mais tarde.

  3. 102x102 foi o DPI correto para minha tela, mas isso não significa necessariamente que será para você. Consulte a documentação do seu monitor ou experimente alguns valores diferentes para ver o que funciona para você.

  4. Também vale a pena mencionar que o artigo de configuração da fonte no Arch Linux Wiki é incrivelmente detalhado e útil para uma variedade de questões relacionadas a fontes, independentemente de qual distro você realmente usa.

por 21.01.2017 / 06:51

Tags