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).