Triple (3) Monitores no Linux

30

Eu tenho uma configuração de 3 monitores (cada 1680x1050) através 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á tinha usado uma XFX 9600GT e a XFX 9300GS integrada para produzir o mesmo resultado, mas a placa era barulhenta e faminta por energia e eu esperava que houvesse algum interruptor mágico na NVS4400 que se livrasse desse problema chato o NVS440 é apenas 2 cartões em um PCB físico :-p (eu procurei na rede alta e baixa para pessoas usando este cartão no Linux, mas não encontrei nada, se a placa usa menos energia e é fã menos então eu deveria me beneficiar de qualquer forma)

De qualquer forma, usando a configuração, havia 5 soluções disponíveis:

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

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

  • Você não podia controlar (sem alterar os atalhos) em qual tela um aplicativo era aberto - e, uma vez aberto, não era possível movê-lo para outra tela sem abrir o terminal e forçá-lo a se mover
  • O Nvidia substitui ou falsifica as quebras do Xinerama e as duas telas unidas pela Twin view se comportam como uma única tela enorme, fazendo com que os pop-ups se abram no meio das duas telas e maximizando os trechos das janelas na largura das duas primeiras telas
  • O Firefox só pode executar uma instância como o mesmo usuário, portanto, ter várias janelas do Firefox requer pelo menos dois usuários

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

A última tela dupla, aberta, funciona perfeitamente e tudo funciona conforme a necessidade, com aceleração total da GPU - dois espaços lógicos na tela - perfeitos, basta fazê-la funcionar em GPUs como o Windows! :-p

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

Mais uma vez, meus requisitos são:

  • Uma área de trabalho enorme para arrastar qualquer janela entre
  • Maximizar as janelas de cada tela (como o XP)
  • Execução de aplicativos em tela cheia na tela principal e desativação do movimento do mouse para os outros ou em todos os 3 alongados

Finalmente, como uma nota lateral; Estou ciente do divisor de cabeça triplo (e dual) da Matrox, mas mesmo o preço que eles usam no eBay é mais do que eu posso pagar atm, meu argumento: eu não deveria ter que comprar hardware extra para fazer algo funcionar no Linux é algo que existe no mundo do Windows há muito tempo (você pode dizer que eu não entro com o X :-p); Se eu tivesse o dinheiro, já teria comprado a versão mais recente desta caixa (a nova versão finalmente suporta resoluções grandes como as exibições eu tenho 1680x1050 cada).

    
por Christopher Lightfoot 15.10.2009 / 14:17

6 respostas

2

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

Algumas coisas que aprendi podem ser úteis para os outros:

  • O Linux está começando a inicializar muito rápido! :-D
  • Quando 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 qualquer 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 onboard.
    • A resolução do monitor não foi detectada corretamente
    • Ativar o servidor ssh permitiu-me apenas ssh na caixa, uma vez que foi 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 nvidia - (não tentei com nv ou Nouveau) - tudo (até mesmo 2d) ficou muito lento e você podia literalmente ver partes da tela sendo redesenhadas
  • O suporte a 64 bits funcionou de imediato, mas nenhum dos pacotes de 32 bits funcionaria sem forçá-los e, mesmo assim, alguns ainda iriam quebrar; :-p
  • NV é aceitável para uso muito básico para evitar ter que usar binários propriatários
  • Nouveau é muito mais rápido do que eu pensava e executa uma configuração 2D muito bem; Ele ainda lida com saída de cabeça dupla muito bem usando a configuração integrada e também rotação, então eu estava realmente impressionado;
    • O Nouveau ainda não oferece suporte a configurações de placas gráficas - ao ler o site, parece que nenhum dos desenvolvedores tem esse tipo de configuração e, portanto, não tem como testar; Quase me faz querer juntar uma doação e doar um sistema básico desse tipo para alguém só para fazê-lo - ou aprender os ins e out 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 tudo ainda está quebrado
  • Aguarde mais 3-4 meses

Por enquanto estou de volta à minha configuração confiável do windows xp; ele nunca falha em inicializar (o tempo de inicialização parece incrivelmente lento agora que eu já vi o boot do Ubuntu tão rápido), todas as minhas aplicações funcionam fora da caixa e meu hardware tem suporte de driver decente !! :-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 três servidores X únicos e participe usando o Xinerama

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

    
por 18.10.2009 / 11:07
2

O Catalyst 10.7 e o mais recente têm suporte para o Eyefinity no Linux: link

Isso permitirá que você tenha 3 monitores em uma placa de vídeo AMD / ATI com aceleração 3D.

    
por 29.07.2010 / 13:23
1

Há um truque de outra opção - eu lançarei software (open-source) em breve para o Ubuntu Karmic - se eu conseguir trabalhar lá, senão será para Jaunty que eu já trabalhei. - link

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

Não é a solução que queremos, mas é uma maneira de obter o Composite com múltiplos-gpus agora até uma solução melhor (talvez o eyefinity da AMD ou a resposta da nvidia para isso - o que quer que seja)

Shane Menshik D2 GLOBAL INC.

p.s. Eu menciono o EyeFinity da AMD - veja a demonstração aqui - (pesquise no youtube por "Eyefinity Linux" - não consegui postar o segundo link devido ao limite de novatos) que é a coisa mais promissora que já vi para linux / múltiplos GPUs.

    
por 31.10.2009 / 13:35
1

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

Eu também fiz isso sob o Debian Lenny.

Foi corrigido com a atualização dos drivers da Nvidia, alternando para o repositório de teste (Squeeze).

Cartões mais recentes precisam de drivers mais recentes.

    
por 24.01.2011 / 11:28
0

Eu tenho os mesmos problemas com uma NVS 450. Eu construí uma nova máquina i7 de 2,67 GHz com 8 GB de RAM e tenho 3x LCD de 20,1 polegadas na NVS 450. Eu estava todo animado pensando que eu finalmente teria três telas Trabalhando no Linux (eu costumava executar dois sem problemas) Agora estou batendo minha cabeça contra uma parede Eu adoraria chegar a uma boa solução, trabalhando estável para (em suma) fazer multi monitores funcionar no Linux como fazem no Windows e no OS X.

ATUALIZAÇÃO: Ok, eu percebi desde que eu entrei uma vez, assim como posso dar uma pequena atualização. Eu desisti, desisti, comprei um cartão da ATI. Eu peguei um Sapphire 5750 que parece ser um único GPU e suporta três monitores. Vou executar dois deles via DVI e um através da porta de exibição usando um adaptador DP para DVI (espero que isso funcione).

Eu vou deixar você saber o resultado amanhã.

    
por 19.11.2009 / 16:03
-1

Eu tenho 2 monitores. A configuração foi fácil com a ferramenta nvidiasettings , e parece não haver problemas com a adição de um novo cabeçalho à configuração existente.

Tudo o que você mencionou funciona bem:)

    
por 15.10.2009 / 17:02