Monitores triplos (3) no Linux


30

Eu tenho uma configuração de 3 monitores (cada 1680x1050) por meio de uma Nvidia NVS440 (2 GPUs, 2 saídas por GPU, totalizando 4 saídas); isso funciona bem no Windows XP, 7, mas causou dores de cabeça consideráveis ​​no Linux (Ubuntu 9.04).

Eu já havia usado um XFX 9600GT e o XFX 9300GS a bordo para produzir o mesmo resultado, mas o cartão estava barulhento e com muita energia e eu esperava que houvesse um interruptor mágico no NVS4400 que se livrasse desse problema irritante - o NVS440 são apenas 2 placas em um PCB físico :-p (procurei na rede alta e baixa por pessoas usando esta placa no Linux, mas não encontrei nada, se alguma coisa a placa consome menos energia e é menos ventilador, então eu me beneficiava dela de qualquer maneira )

De qualquer forma, usando qualquer uma das configurações, havia 5 soluções disponíveis:

  • Possui 3 instâncias X separadas, todas unidas
  • Tem 3 instâncias X separadas, unidas pelo Xinerama
  • Tenha 2 instâncias X separadas - uma usando a visão dupla, ambas unidas pelo Xinerama
  • Possui 2 instâncias X separadas - uma usando a visão dupla, mas sem o Xinerama
  • Tenha uma única configuração de visualização dupla e deixe a terceira tela desconectada :-p

A quarta opção, usar 2 instâncias X separadas e visualização dupla (mas não xinerama) foi o melhor equilíbrio em termos de desempenho e usabilidade, mas causou 2 problemas realmente irritantes

  • Você não pode controlar (sem alterar os atalhos) em qual tela um aplicativo é aberto - e, uma vez aberto, você não pode movê-lo para outra tela sem abrir o terminal e forçá-lo a se mover
  • A substituição ou falsificação de Xinerama pela Nvidia e as duas telas unidas pelo Twin view se comportam como uma única tela enorme, causando a abertura de pop-ups no meio das duas telas e maximizando a extensão das janelas na largura das duas primeiras telas
  • O Firefox pode executar apenas uma instância como o mesmo usuário, portanto, ter várias janelas do firefox requer pelo menos 2 usuários

A segunda opção "parece" a opção certa, mas o OpenGL está basicamente desativado e jogar qualquer tipo de jogo ou mesmo rodar qualquer coisa gráfica causa uma enorme queda de desempenho e instabilidade - até tentar executar um emulador básico para gba ou gens apenas causa o sistema cair. Ele funciona apenas o suficiente para encarar a sua área de trabalho e não fazer nada, mas assim que você começa a trabalhar - abrindo janelas, arrastando coisas - executando várias cópias do firefox, parece realmente lento.

A última tela dupla aberta e funcionando apenas funciona perfeitamente e tudo funciona conforme necessário, aceleração total da GPU - dois espaços lógicos de tela - perfeitos, basta fazê-lo funcionar em GPUs como janelas! :-p

De qualquer forma, eu sei que o RandR deveria dar uma folga quando introduziria os tipos de objetos da GPU para permitir que várias GPUs fossem costuradas para criar uma área de trabalho enorme em uma camada muito mais profunda que o Xinerama. Eu queria saber se isso já foi corrigido (notei que o servidor X 1.7 está fora do ar) e se alguém conseguiu executá-lo com êxito?

Mais uma vez, meus requisitos são:

  • Um enorme desktop para arrastar qualquer janela
  • Maximização de janelas para cada tela (como o XP faz)
  • Executando aplicativos em tela cheia na tela principal e impedindo que o mouse se mova para os outros ou para todos os três

Finalmente como uma nota lateral; Estou ciente do divisor de cabeça tripla (e dupla) da Matrox, mas até o preço que eles pagam no eBay é mais do que posso pagar no atm, meu argumento: não preciso comprar hardware extra para que algo funcione no Linux quando é algo que existe no mundo das janelas há muito tempo (você pode dizer que eu não entro no X :-p); Se eu tivesse o dinheiro, já teria comprado a versão mais recente desta caixa (a nova versão finalmente suporta grandes resoluções, pois os monitores possuem 1680x1050 cada).


1
Você pode executar várias instâncias do Firefox com a opção "-no-remote".
KovBal 16/10/2009

1
Acabei de reiniciar o Windows depois de passar mais de 4 horas tentando fazê-lo funcionar no Linux; 20 segundos: exibir propriedades, reorganizar rapidamente, aplicar. feito. classificado. Nvidia eu te odeio! por que você não pode abrir seus drivers de código-fonte !! :-D
Christopher Lightfoot

Eu tive uma aventura semelhante com essas várias opções. Agora eu vou com os 2 unidos via twinview unidos a um terceiro via Xinerama. Consegui resolver o problema de maximizar usando o "falso Xinerama", consulte a resposta de David para este post: superuser.com/questions/115076/… .
Kyle Brandt

Alguns gerenciadores de janelas (Compiz) têm configurações que ajudarão você a posicionar melhor suas janelas. Você pode definir configurações manuais usando Títulos / Classes da Janela ou simplesmente dizer ao Compiz para colocar a janela na tela que o cursor ocupa atualmente.
earthmeLon

Respostas:


2

Experimentando o Fedora 11 (XServer 1.7) e o Ubuntu 9.10 (XServer 1.6.4) Posso dizer com segurança que o problema ainda está quebrado - se não estiver mais quebrado do que antes :-p

Aprendi algumas coisas que podem ser úteis para outras pessoas:

  • O Linux está começando a inicializar muito, muito rápido! :-D
  • Quando o X morre por qualquer motivo, ele fica preso em um loop de reinicialização, isso acontece com os drivers nvidia, nv e nouveau
  • O X pode iniciar sem o xorg.conf usando algumas configurações de detecção automática
    • infelizmente, isso só funcionou na minha GeForce 9300 integrada para o driver nivida, nv e nouveau não funcionam com os gráficos integrados.
    • A resolução do monitor não foi detectada corretamente
    • A ativação do servidor ssh permitiu que eu apenas ssh dentro da caixa depois de quebrado como o loop de reinicialização - ser capaz de alterar a configuração e forçar uma reinicialização é melhor do que inicializar no live cd para fazer a mesma coisa :-p
  • O kernel PAE de 32 bits quebra os drivers da nvidia - (não tente com nv ou Nouveau) - tudo (até 2d) ficou muito lento e você pode literalmente ver partes da tela redesenhadas
  • O suporte a 64 bits funcionou imediatamente, mas apenas os pacotes de 32 bits não funcionariam sem forçá-los e mesmo assim alguns ainda quebrariam; :-p
  • A NV é aceitável para uso muito básico, para evitar a necessidade de usar binários proprietários
  • O Nouveau é muito mais rápido do que eu pensava e executa uma configuração 2D muito bem; Ele até lida com saída de duas cabeças realmente muito bem usando a configuração integrada E também a rotação, então fiquei realmente impressionado;
    • O Nouveau ainda não suporta configurações de cartões múltiplos - ao ler o site, parece que nenhum dos desenvolvedores tem esse tipo de configuração e, portanto, não há como testar; Quase me dá vontade de reunir uma doação e doar um sistema básico desse tipo para alguém simplesmente fazer isso - ou aprender os detalhes e começar a contribuir comigo mesmo

Parece que eu passo por esse processo a cada 3-4 meses:

  • Ouça sobre os recursos mais recentes no Linux
  • Evite-os por um tempo
  • Experimente-os
  • Perceba que ainda está tudo quebrado
  • Aguarde mais 3-4 meses

Por enquanto, estou de volta à minha confiável configuração do Windows XP; ele nunca falha na inicialização (o tempo de inicialização parece incrivelmente lento agora que eu vi o ubuntu inicializar tão rápido), todos os meus aplicativos funcionam imediatamente e meu hardware tem um suporte decente ao driver !! :-p

Atualização : registrei um ticket com a Nvidia e eles me deram as duas opções padrão:

  • Use o Twinview e um único desktop X sem o Xinerama
  • Use 3x servidores X únicos e entre no Xinerama

O ponto que eles mencionaram em relação à segunda opção é que todas as solicitações gráficas via Xinerama são executadas em loop para cada tela (para que cada tela veja a mesma solicitação, provavelmente alterada com base na posição relativa da tela em relação ao original); Portanto, toda operação ocorre três vezes - o que explica o impacto no desempenho; Eu acho que se você tem três coisas dentro de cada janela, são 9 operações; Isso provavelmente afeta as duas telas na mesma GPU mais do que aquela que possui uma GPU inteira para uma única tela, mas era tão perceptível apenas usando uma área de trabalho padrão que até mesmo renderizar uma página da Web no Firefox estava um pouco atrasada.



1

Existe uma outra opção - eu estarei lançando software (código aberto) em breve para o Ubuntu Karmic - se eu conseguir fazê-lo lá, caso contrário, será para Jaunty que eu já estou trabalhando. - http://ubuntuforums.org/showthread.php?t=884161

Veja vídeos deste sistema de 6 monitores no youtube: (Link removido devido ao limite de novatos - pesquise no YouTube por "d2globalinc")

Não é a solução que queremos, mas é uma maneira de obter o Composite com vários processadores agora até uma solução melhor (talvez a capacidade de visão da AMD ou a resposta da nvidia para isso - seja lá o que for)

Shane Menshik D2 GLOBAL INC.

ps Mencionei o EyeFinity da AMD - veja a demonstração aqui - (procure no YouTube por "Eyefinity Linux" - não foi possível postar o segundo link devido ao limite de novatos), que é a coisa mais promissora que eu já vi no suporte a linux / múltiplos GPU.


Lendo o tópico de discussão vinculado, parece que este software não está mais disponível.
Kynan

1

Quando X morre por qualquer motivo, ele fica preso em um loop de reinicialização

Eu também tive isso no Debian Lenny.

Foi corrigido atualizando os drivers da Nvidia, alternando para o repositório de testes (Squeeze).

Placas mais novas precisam de drivers mais novos.


0

Tenho os mesmos problemas com um NVS 450. Construí uma nova máquina i7 de 2,67 GHz com 8 GB de RAM e tenho LCDs de 3x 20,1 "no NVS 450. Fiquei empolgado ao pensar que finalmente teria três telas trabalhando no Linux (Eu costumava executar dois sem problemas.) Agora, estou batendo com a cabeça na parede. Adoraria encontrar uma solução estável e boa para (em suma) fazer com que vários monitores funcionassem no Linux como eles fazem no Windows e no OS X.

UPDATE: Ok, pensei desde que entrei em contato uma vez que também poderia fazer uma pequena atualização. Desisti, desisti, comprei um cartão ATI. Peguei uma Sapphire 5750 que parece ser uma única GPU e suporta três monitores. Vou executar dois deles via DVI e um através da porta de vídeo usando um adaptador DP para DVI (espero que isso funcione).

Eu vou deixar você saber o resultado amanhã.


3
como foi para voce?
Zoot

3
como foi para voce?
Nowaker

3
como foi para voce?
Waxhead

-1

Eu tenho 2 monitores. A configuração foi fácil com a nvidiasettingsferramenta e parece não haver problemas em adicionar um novo cabeçalho à configuração existente.

Tudo o que você menciona funciona bem :)


Dois é fácil ...
sjas 21/07/2015
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.