Como faço para que um monitor de 4k no DisplayPort 1.2 apareça como uma tela?

13

Acabei de pegar um UP2414Q e conectei-o via displayport 1.2 que roda 60hz. O problema é que ele acaba mostrando duas telas para X, bem como, para que eu acabe agindo como se eu tivesse dois monitores no meu quadro de 24 ".

Examinei as configurações da nvidia e não consigo encontrar uma maneira de fazer com que elas se unam como uma única tela ampla. Encontrei dicas para fazer coisas como

OPTION "TwinViewXineramaInfoOverride" "3840x2160+0+0"

ou

Option "NoTwinViewXineramaInfo" "1"

Nenhum dos quais funcionou. Gostaria de saber se estou perdendo outra parte do quebra-cabeça. Qualquer dica sobre como corrigir minha configuração seria apreciada. Atualmente, estou executando uma nova compilação diária de confiança, na esperança de que os drivers mais recentes da X e da nvidia ajudem.

Eu colei abaixo da minha configuração atual do X e vinculei ao log do X abaixo.

Aqui está uma captura de tela da atual configuração de dois monitores. Observe que o gerenciador de janelas está agindo como se houvesse dois monitores diferentes.

http://uploads.mitechie.com/xorg-setup.png

Arquivo de log: http://paste.ubuntu.com/6654719/

Saída xrandr: http://paste.ubuntu.com/6669699/

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 331.20  (buildd@batsu)  Mon Dec  9 17:08:08 UTC 2013

xdpyinfo -ext XINERAMA | cauda -2

head #0: 1920x2160 @ 0,0
head #1: 1920x2160 @ 1920,0

xorg.conf

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DELL UP2414Q"
    HorizSync       31.0 - 140.0
    VertRefresh     29.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 660 Ti"
EndSection

Section "Screen"

# Removed Option "metamodes" "DP-1.8: 1920x2160_60 +1920+0, DP-1.9: 1920x2160_60 +0+0"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-4.8"
    Option         "metamodes" "DP-1.8: nvidia-auto-select +1920+0, DP-1.9: nvidia-auto-select +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Referências:

Rick
fonte
O que você quer dizer com "monitor 4k"?
Braiam
O cartão suporta esta resolução? E o motorista? Tentou desativar "nvidiaXineramaInfoOrder" "DFP-4.8"? e se eu li o log corretamente, o monitor é detectado como dois monitores, isso funcionava em outros sistemas operacionais?
Braiam
Braiam, sim, o cartão suporta a resolução, se eu executá-lo no dp 1.1, posso executar a resolução em 30hz como um monitor. É o negócio 1.2 MST que eu acho que preciso configurar. Eu não testei em nenhum outro sistema operacional. Eu sou um único tipo de sistema operacional. :) O driver é 331 e acredito que ele deve / deve suportar. Outros parecem ter configurado coisas assim com vários monitores. Os monitores 4K são novos o suficiente para que eu não tenha encontrado muitos exemplos.
Rick
1
@ Rick, você precisa colocar essas informações na pergunta, não em um comentário, para que não seja enterrado!
Jorge Castro

Respostas:

6

Estou trabalhando no mesmo problema com uma Panasonic TC-L65WT600 e, embora não tenha encontrado uma solução perfeita, me deparei com esta solução alternativa que funcionou um pouco para mim.

Adicione a linha

Option "Xinerama" "1"

para o seu xorg.conf Section "ServerLayout".

Isso é contra-intuitivo, porque, na verdade, isso quebra o Xinerama e o RandR. O driver NVIDIA possui sua própria implementação do Xinerama e RandR e, ao ativar a extensão regular do Xinerama, entra em conflito com a implementação da NVIDIA, o efeito é que ambos estão desativados.

Eu não testei isso completamente para ver se ele quebra mais alguma coisa, mas vale a pena tentar como solução temporária ...

kgutwin
fonte
Isso funcionou, eu acho. Você está certo, parece hacky, mas com certeza eu tenho a capacidade de atravessar o centro do meu monitor agora. Obrigado pela dica.
Rick
Eu não tinha um /etc/X11/xorg.conf, mas usar o acima com esta modificação funcionou para mim. O centro de controle do Ubuntu reclama da falta de extensão RandR, mas tudo o resto parece funcionar.
Shuckc
4
  • Então, acho que você seguiu o guia do usuário do monitor sobre como permitir a resolução 4K. link Página 45-46:

    Configurando a tela DP1.2

    A configuração padrão de fábrica no UP2414Q é DP1.1a. Para habilitar 3840 x 2160 a 60 Hz, verifique se a placa de vídeo da fonte DP é DP1.2 certificada com o recurso MST, capaz de suportar resoluções de até 3840 x 2160 a 60 Hz, e seu driver suporta o DisplayID v1.3, depois mude a configuração DP para DP1.2 executando as etapas abaixo: ...

    Leia o restante no manual

  • Eu procurei sua GPU aqui . Ele diz que suporta DP1.2 MST. (Se eu entendi direito) Portanto, isso também não deve ser um problema.

  • Eu não tinha idéia de como esse 4K funciona, então procurei mais informações sobre este tópico. Portanto, parece que é a maneira normal do monitor aparecer como dois monitores, e você só precisa habilitar o alcance horizontal para a placa nvidia. (Para tornar as duas telas uma grande tela virtual.)

  • Procurei o leia-me do driver da nvidia, capítulo 12 . Com base nas informações fornecidas lá e nessas linhas no seu Xorg.log:

    [   259.448] (II) NVIDIA(0): Virtual screen size determined to be 3840 x 2160
    [   263.248] (II) NVIDIA(0): Setting mode "DP-1.8:nvidia-auto-select+1920+0,DP-1.9:nvidia-auto-select+0+0" 
    

    Eu acho que seu driver está configurado corretamente para imitar uma tela virtual conjunta para o servidor X.

  • Posteriormente no log, vêm estas linhas:

    [   264.017] (II) NVIDIA(0): Setting mode "DP-1.8: nvidia-auto-select @1920x2160 +1920+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}, DP-1.9: nvidia-auto-select @1920x2160 +1920+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}"
    [   264.055] (II) NVIDIA(0): Setting mode "DP-1.8: nvidia-auto-select @1920x2160 +0+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}, DP-1.9: nvidia-auto-select @1920x2160 +1920+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}"
    [   272.635] (II) XKB: reuse xkmfile /var/lib/xkb/server-75DD9E258FEFC19A572284D7C4A5BC6BFE771BAD.xkm
    [   336.272] (II) NVIDIA(0): Setting mode "DPY-6:nvidia-auto-select+1920+0,DPY-7:nvidia-auto-select+0+0"
    

    A primeira linha define um modo que não é o modo desejado, porque isso espelhará as duas telas devido ao deslocamento + 1920 + 0 para ambos. (Se eu acertar essas coisas) Mas a próxima linha redefine imediatamente o modo para o correto. E a última linha dessas, que vem um minuto depois das outras, não sei o que é isso, de onde as telas do DPY-x chegaram aqui.

    Meu único palpite é que, quando o driver da nvidia relata o tamanho de tela virtual correto, ele diz:

    [   259.448] (II) NVIDIA(0):     "DP-1.8:nvidia-auto-select+1920+0,DP-1.9:nvidia-auto-select+0+0"
    

    considerando que no final (ou quase no final) a linha diz:

    [   264.055] (II) NVIDIA(0): Setting mode "DP-1.8: nvidia-auto-select @1920x2160 +0+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}, DP-1.9: nvidia-auto-select @1920x2160 +1920+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}"
    

    E isso significa que o deslocamento é o oposto nessas duas linhas. Portanto, no primeiro, o display DP-1.9 é o primeiro e o DP-1.8 é o segundo, mas no segundo a ordem muda. Como você não forneceu uma imagem da tela, não sei se o seu problema é que, se você sair com o cursor à direita, ele voltará à esquerda. Mas posso tentar definir o metamodo para o anterior. Então mude esta linha:

       Option         "metamodes" "DP-1.8: nvidia-auto-select +1920+0, DP-1.9: nvidia-auto-select +0+0"
    

    para este

       Option         "metamodes" "DP-1.8: nvidia-auto-select +0+0, DP-1.9: nvidia-auto-select +1920+0"
    

    Ou tente a opção MetaModeOrientation com algo como:

       Option "MetaModeOrientation" "DP-1.8 RightOf DP-1.9"
    

Então este foi o meu 2 centavos para este problema. Espero que não seja totalmente inútil no seu caso.

falcoeiro
fonte
Obrigado, sua lógica segue a minha. Eu habilitei o DP 1.2 na configuração do monitor e a nvidia-settings está relatando cada 'exibição' como sendo de 60 hz. Adicionei um link de captura de tela na minha pergunta acima. Alterar os metamodos realmente parecia ter pouco efeito. Eu configurei as duas telas para funcionar como uma situação decente para dois monitores, mas nada parece me proporcionar uma área de trabalho de vídeo único com uma largura de 3840.
31413 Rick
1

Eu tive o mesmo problema e quase encontrei uma correção.

Suponha que você esteja começando com SST, ie. DisplayPort 1.2 desativado no menu OSD do monitor. xrandr -qmostra que você está no modo 30Hz e não pode forçá-lo a 60Hz, pois o SST não é compatível.

Alterne DP 1.2 para ativado no OSD. A tela está agora no MST, mas o randr não está - e você ainda não pode forçar 60Hz. Na gravação do terminal xrandr --output DP-1 --off(substitua DP-1 pelo ID apropriado). A tela desliga brevemente e volta a ligar. Agora você está no MST e a verificação xrandr -qconfirmará que você tem 60Hz!

O problema é que você tem um plano de fundo duplicado, barra de menus ativada apenas na metade da tela, em vez de cobrir a tela inteira, o YouTube e a sobreposição de vídeo maximizam apenas a metade da tela.

Aparentemente, isso é uma falha do randr . As dicas acima são de Aaron Plattner, da nVidia, em resposta à minha pergunta sobre como habilitar o MST a 60Hz para monitores 4K no Linux .

O problema não foi resolvido e ele entrou em contato com a comunidade aleatória para encontrar uma solução. Portanto, se alguém que conhece está lendo isso, consulte o tópico acima para obter mais informações, para que possamos fazer a bola rolar!

Bradford
fonte
1
Infelizmente, não há solução completa para o problema. Você pode ativar o MST com xrandr, mas existem algumas anomalias que tornam a tela praticamente inutilizável. Atualizei o OP com instruções completas. Eu não sei muito sobre xrandr, então não posso ajudar mais. Espero que alguém que esteja lendo isso possa e entre em contato com Aaron Plattner da nVidia e / ou da equipe randr!
Bramford
deixa pra lá. Observe que você pode excluir comentários não importantes para manter a página limpa.
user.dz
0

Ok, eu costumava fazer isso com placas de vídeo de cabeça dupla com portas VGA e DVI. Eu acho que pode funcionar com portas DP1. Eu acho que o xrandr seria a ferramenta a ser usada. http://www.thinkwiki.org/wiki/Xorg_RandR_1.2

  1. Execute uma consulta para ver o que está conectado.

    xrandr -q
    
  2. Tente uma resolução de teste:

    xrandr --output DP1 --mode 3840x2160
    
  3. Crie um ModeLine. Isso é importante para obter a taxa de atualização correta e evitar queimar prematuramente o monitor. Use cvt: http: slashslash linux.die.net/man/1/cvt

    cvt 3840 2160 30
    
  4. Adicione este ModeLine ao xorg.

  5. Leia esta página para definir as alterações do xrandr persistentemente:

  6. Pode ser necessário editar o xorg para adicionar uma subseção chamada virtual.

Steve Morris
fonte
Eu colei um link para minha configuração do xrandr. Os displays aparecem como dp-1.8 e dp-1.9. Não consigo definir uma única resolução na porta do monitor que eu possa dizer. Eu acho que o problema está mais no nível X / nvidia para que ele seja mostrado no xrandr como uma única porta ou tela. Tentei definir a modelagem na subseção DISPLAY da configuração da tela sem efeito.
Rick
Apenas alguns comentários que podem ou não ajudar. Um arquivo xorg gerado pelo driver nvidia pode ser a raiz do problema. Pode ser difícil de configurar corretamente. Isso causou problemas para mim no passado. O Debian recomenda o uso da ferramenta X que acompanha o sistema operacional. Desculpe, não sei como consertar isso. Eu sempre reinstalava e recomeçava. Dito isto, eu tentaria algumas coisas primeiro. Eu nunca usei o Xinerama. Eu usei o "TwinView". Aqui está o que eu faria com o seu xorg. É assim que eu costumava fazer. Veja o próximo comentário
Steve Morris
Comente estas entradas: A opção Xinerama na Seção "ServerLayout". A opção Stereo, Xinerama e metamodes na seção "Tela" Mova a opção DPMS da seção do monitor para a seção do dispositivo. Adicione essas entradas à seção do dispositivo Opção "MetaModes" "1920x21600, 1920x2160" Opção "TwinView" Adicione essas entradas à subseção de exibição. Modos "1920x2160" Virtual 3840 2160 Eu corro dois monitores 1600x1200 conectados a um cartão de cabeça dupla. A resolução virtual na subseção da tela é o que faz o servidor X pensar que eu tenho uma tela em 3200x1200. Aqui está um exemplo de xorg. próximo
Steve Morris
Meu arquivo de amostra xorg. paste.ubuntu.com/6671569
Steve Morris
Atualmente, estou executando o Debian Squeeze com monitores duplos. Um 1920x1200 e 1600x1200 para uma única exibição de 3520x1200. Não me lembro de instalar o driver da nvidia, mas tenho certeza que devo ter, apenas usei as preferências do monitor no menu Debian para defini-lo. Não há nenhum arquivo conf xorg para eu editar. Então eu esqueci como fazê-lo. Eles facilitaram para mim, lol.
Steve Morris