É possível configurar um desktop 'escalado' no xorg.conf similar ao uso da opção scale-from do xrandr?

4

Eu tenho um ultrabook de 14 polegadas com uma resolução de 2560x1440. Eu atualmente executo o Gnome 3.16 no modo HiDPI com um fator de escala de 2. Como não consigo especificar um fator de escala faccional, como 1.5, optei por usar o xrandr para dimensionar o desktop para mim.

xrandr --output eDP1 --scale-from 3200x1800 --panning 3200x1800

Coloquei o código acima em um script que é executado logo após o login em uma sessão do Gnome. Há alguns problemas com isso.

  1. Às vezes, o dimensionamento é perdido, como quando uma exibição na tela é exibida, por exemplo, pressionando um dos controles de brilho no teclado do laptop; e
  2. assistir à tela cheia do Netflix apenas sobrepõe uma imagem de vídeo adicional sobre o navegador, ocupando apenas a parte superior esquerda da tela do laptop.

Com relação ao # 1, o dimensionamento não é totalmente perdido, mas a área de trabalho 'encolhe' e aparece apenas no canto superior esquerdo, deixando espaço em preto à direita e na parte inferior da área de trabalho visível. Parece que a área de trabalho 'encolhida' é a área dimensionada, mas presa no canto superior esquerdo da tela de 3200 x 1800.

Espero que, se eu puder configurar o X para fazer o dimensionamento e evitar executar o xrandr, a tela permaneça dimensionada.

    
por Jonathon Watney 07.01.2016 / 00:02

2 respostas

1

X não suporta escalonamento via xorg.conf ou similar, apenas via xrandr. Você pode configurar o pan em uma exibição virtual maior, mas isso não ajudará a aumentar o tamanho do que está na exibição.

No entanto, você pode obter uma aproximação para o dimensionamento fracionário desejado por meio de uma combinação de algumas alterações. Primeiro, reduza o fator de escala geral para 1; você pode encontrar isso no gnome-tweak-tool em "Windows", "HiDPI". Então, usando gnome-tweak-tool, em "Fonts", mude "Scaling Factor" para 1.5; Isso fará com que todas as fontes sejam 50% maiores. Isso não ajudará nos elementos da interface do usuário que não dependem do tamanho da fonte (como imagens), mas funcionará para todos os elementos que fazem, como os botões que contêm texto. Você também pode obter o dimensionamento completo da interface do usuário (texto e elementos gráficos) para o seu navegador; no Firefox, em about:config , altere layout.css.devPixelsPerPx para 1,5, o que aumentará as páginas da Web e a interface do usuário. Para o Chromium, se você não obtiver bons resultados automaticamente, tente chromium --high-dpi-support=1 --force-device-scale-factor=1.5 .

Isso não funcionará bem para telas muito mais densas, como 3200x1800 ou 3840x2160, mas para 2560x1440 ele deverá produzir resultados úteis; Eu uso essas configurações no meu laptop principal, que tem uma tela de 2560x1440.

    
por 25.05.2016 / 20:34
1

Acabei de configurar um zoom de ~ 150% no Cinnamon, espero que isso ajude você também porque o GNOME é semelhante ao Cinnamon.

Eu comecei com xrandr comandos deste artigo HiDPI ArchWiki :

xrandr --output HDMI1 --scale 1.2x1.2 # try 1.3 also
xrandr --output HDMI1 --panning 2304x1296 # this is for 1920x1080 at 1.2

Então eu queria defini-lo como permanente, tentei xorg.conf , mas ele não quer pegar Monitor seções de configuração, seja o que for que eu tente. Eu perguntei nos fóruns do ArchLinux e recebi um conselho para aceitá-lo e jogar fora xorg.conf . Enfim, acho que minha configuração está correta e você pode tentar usá-lo com a alteração de Monitor Identifier . A parte mais interessante é a matriz de transformação. O Xorg não tem opção de escalar, mas descobri que xrandr --scale é uma abreviação de --xrandr --transform , que corresponde a TransformationMatrix .

Aqui está meu xorg.conf :

Section "Monitor"
    Identifier "TEST" # try changing this!
    Option "Panning" "2304x1296"
    Option "TransformationMatrix" "1.2 0 0 0 1.2 0 0 0 1"
EndSection

Section "Device"
    Identifier  "Intel Graphics" # change these lines according to your graphics card
    Driver  "intel"
    Option  "AccelMethod"   "sna"
    Option  "TearFree"  "true"
    Option  "Monitor-HDMI1" "TEST" # try changing this!
EndSection

Isso não funciona para mim, então continuei cavando. Meu sistema tem lightdm , que inicia primeiro, e precisa de xrandr de comandos para procurar HiDPIish. Em seguida, inicia cinnamon-session , que substitui as configurações de exibição, e preciso executar xrandr novamente. O Lightdm é configurado por etc/lightdm/lightdm.conf e, por padrão, executa algo especificado na opção session-wrapper . Você precisa criar um script com os xrandr tweaks desejados e colocá-lo em algum lugar para ser lançado por session-wrapper . A propósito, as opções session-setup-script e display-setup-script não funcionaram para mim.

Em seguida, no Cinnamon (ou no GNOME no seu caso), a melhor coisa que eu poderia fazer é usar o recurso autostart e adicionar o script xrandr com tempo limite zero.

    
por 26.05.2016 / 01:53