Diminui a resolução do display embutido

1

Encontrei muitas perguntas semelhantes, tentei todas as soluções possíveis e nenhuma funcionou para mim até agora.

Eu tenho um thinkpad W530 da lenovo e um monitor LG IPS234 e estou executando o ubuntu 16.04.01 ( uname -a imprime Linux <machine_name> 4.4.0-38-generic #57-Ubuntu SMP Tue Sep 6 15:42:33 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux ). Eu tenho o driver nvidia-375 instalado e esta é a saída do lspsi para minha placa gráfica:

> sudo lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation GK107GLM [Quadro K1000M] (rev a1)

E também aqui está a saída do xrand:

Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 16384 x 16384
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1920x1080     60.00*+  50.00  
DP-0 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 510mm x 290mm
   1920x1080     60.00*+  59.94    50.00    60.05    60.00    50.04  
   1680x1050     59.95  
   1280x1024     60.02  
   1280x960      60.00  
   1280x720      60.00    59.94    50.00  
   1152x864      60.00  
   1024x768      60.00  
   800x600       60.32  
   720x576       50.00  
   720x480       59.94  
   640x480       59.94    59.93  
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)

Como pode ser visto no comando acima, não posso escolher outra resolução a não ser 1920x1080 para minha exibição principal. Eu tentei usar o build-in displays settings e também nvidia-settings , mas não posso alterar a resolução em nenhum dos dois.

Eu tentei executar (gerado com cvt 1360 768 60 ):

xrandr --newmode "1360x768_60.00"   84.75  1360 1432 1568 1776  768 771 781 798 -hsync +vsync

e, em seguida, xrandr --addmode LVDS-0 "1360x768_60.00" . Mas este comando falha com o erro:

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  18 (RRAddOutputMode)
  Serial number of failed request:  45
  Current serial number in output stream:  46

Como indicado por outras respostas eu tentei editar meu arquivo xorg.conf, mas eu não tenho esse arquivo:

> ls /etc/X11
app-defaults             xkb                                Xresources
cursors                  xorg.conf.07232016                 Xsession
default-display-manager  xorg.conf.failsafe                 Xsession.d
fonts                    xorg.conf.nvidia-xconfig-original  Xsession.options
rgb.txt                  Xreset                             xsm
xinit                    Xreset.d                           Xwrapper.config

O que posso fazer para alterar a resolução do meu laptop?

EDIT: depois de baixar o driver nvidia da nvidia e instalá-lo novamente a partir da linha de comando, finalmente tenho um xorg.conf. Também seguindo as instruções da esta postagem e de alguns recursos semelhantes, adicionei a seguinte linha na seção Screen :

Option         "ModeValidation" "AllowNonEdidModes, NoVirtualSizeCheck, NoMaxPClkCheck, NoWidthAlignmentCheck, NoExtendedGpuCapabilitiesCheck"

Agora eu tenho algumas opções extras em xrandr:

xrandr
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 16384 x 16384
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1920x1080     60.00*+  59.93    50.00  
   1680x1050     59.88  
   1600x1024     60.17  
   1400x1050     59.98  
   1280x1024     60.02  
   1280x960      60.00  
   960x540       59.99  
   840x525       60.01    59.88  
   800x512       60.17  
   700x525       59.98  
   640x512       60.02  
   640x480       60.00 

   ... Options for the LG monitor ...

O ruim é que, se eu selecionar qualquer opção a não ser 1920x1080, minha tela ficará gravemente distorcida. É dividido em 2 partes horizontalmente ou 4 partes em cada quadrante e cada parte é uma imagem espelhada das outras. Além disso, a exibição em cada parte é severamente esticada.

    
por izomorphius 28.12.2016 / 17:36

2 respostas

2

A causa principal da sua dificuldade parece ser escolher uma resolução não suportada (uma que o monitor ou o painel de exibição não pode exibir), o que explica os resultados obtidos. Infelizmente, sua tela principal conectada ao LVDS-0 não suporta outras resoluções. Acredito que uma varredura fixa não pode alterar a resolução para corresponder ao sinal que está sendo exibido como um monitor CRT pode e não parece apoiar a interpolação (dimensionamento da imagem), o que causa uma perda de qualidade de imagem.

O W530 vem com um dos seguintes displays TFT:

15.6" TFT display with 1366x768 (HD) resolution with LED backlight
15.6" TFT display with 1600x900 (HD+) resolution with LED backlight
15.6" TFT display with 1920x1080 (FHD) resolution with LED backlight

Sendo esse o caso, acredito que você esteja com uma resolução suportada de 1920 x 1080 nesse painel de FHD.

Você pode, no entanto, reduzir a resolução na outra tela, se desejar.

Se este for o seu manual como parece ser, suas resoluções suportadas são:

    Display Modes: 
(Resolution) Horizontal Frequency(kHz) Vertical Frequency(Hz) Polarity(H/V)
    720 x 400              31.468             70                       -/+
    640 x 480              31.469             60                       -/-
    640 x 480              37.500             75                       -/-
    800 x 600              37.879             60                       +/+
    800 x 600              46.875             75                       +/+
    1024 x 768             48.363             60                       -/-
    1024 x 768             60.023             75                       +/+
    1152 x 864             67.500             75                       +/+
    1280 x 1024            63.981             60                       +/+
    1280 x 1024            79.976             75                       +/+
    1680 x 1050            65.290             60                       -/+
*   1920 x 1080            67.500             60                       +/+     *Recommended Mode

Como você pode ver na tabela acima, a resolução escolhida de 1360x768_60.00 não é suportada por este modelo. Use uma das resoluções suportadas.

Use cvt para gerar uma modeline para uma resolução suportada da tabela acima, por exemplo:

cvt 1280 1024 75 Que no meu sistema produz uma modelina de

Modeline "1280x1024_75.00"  138.75  1280 1368 1504 1728  1024 1027 1034 1072 -hsync +vsync

mas será diferente da sua e espero que termine com +hsync +vsync

Nota: Sempre gere suas próprias modelines com base nas especificações do seu monitor. Escolher uma modeline projetada para um monitor diferente pode ter resultados imprevisíveis.

Se o seu monitor estiver sendo configurado corretamente, xrandr deve exibir todos os modos disponíveis.

Veja um exemplo para meu monitor:

xrandr
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 32767 x 32767
VGA1 connected primary 1440x900+0+0 (normal left inverted right x axis y axis) 408mm x 255mm
   1440x900       59.9*+   75.0  
   1280x1024      75.0     60.0  
   1280x960       60.0  
   1152x864       75.0  
   1280x720       60.0  
   1024x768       75.1     70.1     66.0     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     72.8     66.7     60.0  
   720x400        70.1  
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

Na saída acima, a marca * indica o modo atual e a marca + indica o modo preferido.

Se já existir um modo, você poderá adicioná-lo a uma saída com

xrandr --addmode VGA1 800x600 onde VGA1 é sua saída. Parece que sua saída é DP-0, então você substituiria VGA1 por DP-0 .

Se um modo compatível estiver faltando, você pode adicioná-lo com o comando

xrandr --newmode ModeLine Onde ModeLine é ooutput do cvt. No caso de exemplo, isso seria:

xrandr --newmode "1280x1024_75.00" 138.75 1280 1368 1504 1728 1024 1027 1034 1072 -hsync +vsync

Então, para recapitular.

1) consulte seu manual para a tabela de resoluções suportadas, escolha uma e adicione-a às opções para a saída com xrandr (exemplo acima)

ou se uma resolução compatível não estiver listada, gere um Modeline para uma resolução suportada com cvt e, em seguida, crie o novo modo conforme mostrado acima com xrandr --newmode ...

Se algo não estiver claro, deixe-me um comentário e eu farei o meu melhor para esclarecer.

Fontes:

link

link

link

link

    
por Elder Geek 24.02.2017 / 20:46
1

Pela pergunta acima. Você não tem um xorg.conf.

Às vezes, isso é gerado rapidamente ou os padrões são usados. Agora eu não acho que seja muito usado, exceto para substituir os padrões.

xorg.conf é executado primeiro em / etc e depois em / etc / X11 e então X procura por outras alternativas e padrões.

Você pode criar xorg com algo como X --configurar

Ele criará um xorg.conf que você pode copiar para seus diretórios / etc. ' Outra maneira é copiar seu Xfailsafe.conf, configurar, renomear para xorg.conf e colocar no diretório / etc.

Às vezes, ela é substituída e você pode ter que alterar as permissões.

Leia aqui.

Atenciosamente, Wesley

    
por Wesley Davidson 22.02.2017 / 18:05