xrandr scale com vsync

3

Atualmente, estou usando a opção --scale do xrandr para dimensionar aplicativos corretamente no meu monitor hidpi, em que a opção de dimensionamento 2x fornecida pelo shell do gnome é muito grande.

Atualmente, uso esses comandos para fazer isso:

gsettings set org.gnome.desktop.interface scaling-factor 2
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gdk/WindowScalingFactor': <2>}"
xrandr --output DP1 --scale 1.5x1.5
xrandr --output DP1 --panning 3840x2160

Isto é baseado na seção "Como usar números não-inteiros" em este wiki .

Isso funciona muito bem em termos de tamanho, mas notei que também parece desativar o vsync. Estou usando este vídeo para testar se o vsync está funcionando corretamente ou não.

Como obtenho o vsync trabalhando ao lado da opção de escala usando o xrandr? Não consigo encontrar nenhuma correção óbvia na leitura do manual.

    
por Michael Aquilina 06.03.2016 / 19:46

1 resposta

0

Esse problema também tem me incomodado desde que comprei um tablet PC de alta DPI. Felizmente, se a sua tela estiver conectada à GPU da Intel, existe uma solução.

O escalonamento de Xrandr é feito renderizando o conteúdo da tela do X11 em uma imagem Xrender , depois escalando-a e exibindo na tela real. Dito isso, Xrandr não decide realmente como a saída é dimensionada e exibida, tudo depende da implementação da Xrender do driver DDX usado. Eles sempre foram peculiares e agressivos, resultando em problemas de sincronização e desempenho.

O DDX da Intel fornece uma opção não padrão, chamada TearFree , que força a sincronização entre os pixmaps Xrender e a tela (e também introduz alguns problemas de desempenho, por isso não está habilitado por padrão). Você pode ativá-lo criando o arquivo * .conf em /etc/X11/xorg.conf.d / contendo:

Section "Device"
    Identifier "Intel Graphics"
    Driver "intel"

    Option "AccelMethod" "sna"
    Option "TearFree" "true"
EndSection
    
por m132 17.06.2017 / 20:11