Eu tenho um pc com o Ubuntu 16.04.1.
Ontem, instalei outro adaptador gráfico no meu pc para obter mais saídas de exibição.
Meu primeiro adaptador é uma nVidia GTX 770, e tenho quatro monitores conectados: dois em saídas dvi, um na saída hdmi e outro na saída da porta de exibição.
Com esses quatro monitores, o Ubuntus funciona corretamente.
O novo adaptador é uma nVidia GT 640, com outras quatro saídas (duas saídas analógicas DVI, uma HDMI e uma VGA).
Ambos os adaptadores são detectados:
andye@Trabajo:~$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 770] (rev a1)
07:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 640] (rev a1)
Eu testei o sistema com o driver nVidia 367.57 padrão do Ubuntu 16.04 e com o novo driver 375.26 (baixado da página da nvidia e instalado manualmente).
O Nvidia-xconfig detecta meus dois adaptadores e meus cinco monitores:
andye@Trabajo:~$ nvidia-xconfig --query-gpu-info
Number of GPUs: 2
GPU #0:
Name : GeForce GTX 770
UUID : GPU-55d902e3-ce32-7e35-fdb2-e8c66954808d
PCI BusID : PCI:1:0:0
Number of Display Devices: 4
Display Device 0 (TV-0):
EDID Name : BenQ GL2460
Minimum HorizSync : 30.000 kHz
Maximum HorizSync : 83.000 kHz
Minimum VertRefresh : 50 Hz
Maximum VertRefresh : 76 Hz
Maximum PixelClock : 170.000 MHz
Maximum Width : 1920 pixels
Maximum Height : 1080 pixels
Preferred Width : 1920 pixels
Preferred Height : 1080 pixels
Preferred VertRefresh : 60 Hz
Physical Width : 530 mm
Physical Height : 300 mm
Display Device 1 (TV-1):
EDID Name : Samsung T24C300
Minimum HorizSync : 15.000 kHz
Maximum HorizSync : 81.000 kHz
Minimum VertRefresh : 24 Hz
Maximum VertRefresh : 75 Hz
Maximum PixelClock : 230.000 MHz
Maximum Width : 1920 pixels
Maximum Height : 1080 pixels
Preferred Width : 1920 pixels
Preferred Height : 1080 pixels
Preferred VertRefresh : 60 Hz
Physical Width : 530 mm
Physical Height : 300 mm
Display Device 2 (TV-2):
EDID Name : BenQ GL2250H
Minimum HorizSync : 30.000 kHz
Maximum HorizSync : 83.000 kHz
Minimum VertRefresh : 50 Hz
Maximum VertRefresh : 76 Hz
Maximum PixelClock : 210.000 MHz
Maximum Width : 1920 pixels
Maximum Height : 1080 pixels
Preferred Width : 1920 pixels
Preferred Height : 1080 pixels
Preferred VertRefresh : 60 Hz
Physical Width : 480 mm
Physical Height : 270 mm
Display Device 3 (TV-3):
EDID Name : BenQ G2400W
Minimum HorizSync : 31.000 kHz
Maximum HorizSync : 94.000 kHz
Minimum VertRefresh : 50 Hz
Maximum VertRefresh : 85 Hz
Maximum PixelClock : 193.250 MHz
Maximum Width : 1920 pixels
Maximum Height : 1200 pixels
Preferred Width : 1920 pixels
Preferred Height : 1200 pixels
Preferred VertRefresh : 60 Hz
Physical Width : 520 mm
Physical Height : 320 mm
GPU #1:
Name : GeForce GT 640
UUID : GPU-9fdb4b0d-2fde-cdeb-16e8-356757267c57
PCI BusID : PCI:7:0:0
Number of Display Devices: 1
Display Device 0 (TV-1):
EDID Name : LG Electronics LG TV
Minimum HorizSync : 30.000 kHz
Maximum HorizSync : 83.000 kHz
Minimum VertRefresh : 58 Hz
Maximum VertRefresh : 62 Hz
Maximum PixelClock : 160.000 MHz
Maximum Width : 1920 pixels
Maximum Height : 1080 pixels
Preferred Width : 1920 pixels
Preferred Height : 1080 pixels
Preferred VertRefresh : 60 Hz
Physical Width : 1600 mm
Physical Height : 900 mm
Mas o xrandr detecta apenas um provedor:
andye@Trabajo:~$ xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x279 cap: 0x1, Source Output crtcs: 4 outputs: 6 associated providers: 0 name:NVIDIA-0
Se eu tentar adicionar um novo provedor:
andye@Trabajo:~$ xrandr --setprovideroutputsource 1 0
Could not find provider with index 1
Eu não tenho um arquivo xorg.conf.
Apesar de eu configurar os monitores como telas separadas nas configurações do nVidia X Server, ativar o Xinerama e salvar um novo xorg.conf, cinco exibem o trabalho, mas recebo vários erros de compiz (não consigo arrastar elementos na tela [o app em estamos arrastando perto inmediately]) e isso não é uma solução para mim.
A pergunta é: por que o xrandr detecta apenas o primeiro adaptador?
E como resolver isso?
Obrigado antecipadamente