Yazılar

Linux üç monitor 2 ekran kartı kurulumu

Pcnizde kullanmak istediğiniz 3 monitor var ve bunu ekran kartınıza bağlayıp kullanmak istiyorsunuz.O iş kadar kolay değil.Neden mi?Açıklayalım.

Piyasada satılan ucuz veya orta karar ekran kartları en fazla 2 monitor destekler.Nvidia veya Amd Ati olması önemli değil.Örneğin Ekran kartınızda 1 tane vga 1 tane hdmi ve 1 tane de dvi bağlantısı var.Bunların ikisi aktiftir.Üçüncüsünde güç bulunmaz,monitor taksanız da görüntü alamazsınız.Neticede 3 ekran girişinin olması çeşitlilik yaratmak için. (BKZ Active Power)

Elbette 3 monitor bağlayabileceğiniz ekran kartları da var.Bunlar iki grup.Genelde daha üst seviye,daha yeni veya özellikle bu iş için yapılmış bazı serilen var.Mesela Amd Ati’nin 5770 – 5780 serisi.Bu kartlarda özellikle DP (Display Port) bağlantısı dikkat çekiyor.Sizin anlayacağınız eğer bir ekran kartında DP varsa ikiden fazla monitor desteklemesi büyük olasılıkla mümkün.

Diğer grup ise profesyonel kartlar.CAD uygulamalarıi,mimari,3D işleriyle uğraşanların bir pc parası kadar para saydıkları ekran kartlarından bahsediyorum.Gpro,Firepro,Quadro bunlara örnek.Bunlar 500,600 dolardan 3000-4000 dolara kadar değişen fiyatlarda bulunabiliyor.

Bizim senaryomuzda ise o kadar bütçe yok.Hatta yakınından bile geçmez.Konfigurasyon aşağıda;

1 Viewsonic 2349 23″ monitor.1920x1080px,Viewsonic 2245 22″ 1680×1050,Viewsonic 2035 20″ 1680×1050

2 Zotac 8400GS 512M Pci-E 16x Ekran Kartı,Zotac 7200GS 256M Pci-E 16x Ekran Kartı ve şu bitcoin minerların kullandığı pci-e x16 -x1 pc dönüştürücü.Başta bu dönüştürüc cihaz ile ilgili kuşkularım vardı ama aldıktan sonra bunların yersiz olduğunu anladım.Göreceğiniz gibi kullanılan malzemenin normal anakart-ekran kartı parçalarından pek bir farkı yok.Türkiyedeki alışveriş sitelerinde 80-90 TL civarında.Çinde çok daha ucuz tabi.Aşağıda fotoğrafta görebilirsiniz.

pci-express-x1-x16-usb-30-extender

Yaklaşık beş gün cebelleştikten sonra sonunda bir X configurasyonu çıkardım.Bu kadar uzun sürmesinin sebebi elbette konu hakkında pek bir fikrimin olmayışı (oyun fian hiç ilgim yoktur ekran kartlarına)  ve Nvidia konfigurasyon aracının salaklıklarını geç farketmiş olmam.Üçüncü sebep de bu X (Xorg) ile uğraşmayı sevmiyor(dum)um.Eski günlerden (Mandrake,Redhat 9 vs zamanları ) kalma bir antipatim var.

Benim amacım 3 monitorü 3 ayrı alan olarak tanımlayıp,hepsini tek bir masaüstünde birleştirmekti.İşte bu da final conf dosyası içeriği.Mantık olarak 3 monitoru de 3 ayrı Xscreen’e tanımladım ve Xineramayı aktif ettim.

 

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 361.42  (buildd@lgw01-18)  Tue Apr  5 14:33:28 UTC 2016

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 304.131  (buildmeister@swio-display-x64-rhel04-16)  Sun Nov  8 22:48:17 PST 2015

Section “ServerLayout”

# Removed Option “Xinerama” “0”
# Removed Option “Xinerama” “0”
Identifier     “Layout0”
Screen      0  “Screen0” 0 0
Screen      1  “Screen1” RightOf “Screen0”
Screen      2  “Screen2” LeftOf “Screen0”
InputDevice    “Keyboard0” “CoreKeyboard”
InputDevice    “Mouse0” “CorePointer”
Option         “Xinerama” “1”
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”
Identifier     “Monitor0”
VendorName     “Unknown”
ModelName      “ViewSonic VA2349 Series”
HorizSync       24.0 – 82.0
VertRefresh     50.0 – 75.0
Option         “DPMS”
EndSection

Section “Monitor”
Identifier     “Monitor1”
VendorName     “Unknown”
ModelName      “ViewSonic VX2035wm”
HorizSync       30.0 – 82.0
VertRefresh     50.0 – 75.0
EndSection

Section “Monitor”
Identifier     “Monitor2”
VendorName     “Unknown”
ModelName      “ViewSonic VX2245wm”
HorizSync       30.0 – 82.0
VertRefresh     50.0 – 75.0
EndSection

Section “Device”
Identifier     “Device0”
Driver         “nvidia”
VendorName     “NVIDIA Corporation”
BoardName      “GeForce 8400 GS”
BusID          “PCI:1:0:0”
Screen          0
EndSection

Section “Device”
Identifier     “Device1”
Driver         “nvidia”
VendorName     “NVIDIA Corporation”
BoardName      “GeForce 7300 SE/7200 GS”
BusID          “PCI:2:0:0”
EndSection

Section “Device”
Identifier     “Device2”
Driver         “nvidia”
VendorName     “NVIDIA Corporation”
BoardName      “GeForce 8400 GS”
BusID          “PCI:1:0:0”
Screen          1
EndSection

Section “Screen”

# Removed Option “MetaModes” “GPU-0.DFP-1: 1680×1050+0+0, GPU-0.DFP-0: 1920×1080+1680+0, GPU-1.DFP-0: 1680×1050+3600+0”
# Removed Option “MultiGPU” “On”
# Removed Option “BaseMosaic” “On”
# Removed Option “nvidiaXineramaInfoOrder” “DFP-1”
# Removed Option “metamodes” “DVI-I-0: nvidia-auto-select +3600+0, DVI-I-1: nvidia-auto-select +1680+0, HDMI-0: nvidia-auto-select +0+0”
# Removed Option “MultiGPU” “On”
# Removed Option “metamodes” “nvidia-auto-select +0+0”
# Removed Option “metamodes” “DVI-I-1: nvidia-auto-select +1680+0, HDMI-0: nvidia-auto-select +0+0”
Identifier     “Screen0”
Device         “Device0”
Monitor        “Monitor0”
DefaultDepth    24
Option         “Stereo” “0”
#   Option         “nvidiaXineramaInfoOrder” “DFP-0”
Option         “metamodes” “DVI-I-1: nvidia-auto-select +0+0”
Option         “SLI” “Off”
Option         “MultiGPU” “Off”
Option         “BaseMosaic” “off”
SubSection     “Display”
Depth       24
EndSubSection
EndSection

Section “Screen”

# Removed Option “metamodes” “1680×1050 +0+0”
Identifier     “Screen1”
Device         “Device1”
Monitor        “Monitor1”
DefaultDepth    24
Option         “Stereo” “0”
Option         “metamodes” “nvidia-auto-select +0+0”
Option         “SLI” “Off”
Option         “MultiGPU” “Off”
Option         “BaseMosaic” “off”
SubSection     “Display”
Depth       24
EndSubSection
EndSection

Section “Screen”

# Removed Option “metamodes” “1680×1050 +0+0”
# Removed Option “metamodes” “nvidia-auto-select +0+0”
Identifier     “Screen2”
Device         “Device2”
Monitor        “Monitor2”
DefaultDepth    24
Option         “Stereo” “0”
Option         “metamodes” “HDMI-0: nvidia-auto-select +0+0”
Option         “SLI” “Off”
Option         “MultiGPU” “Off”
Option         “BaseMosaic” “off”
SubSection     “Display”
Depth       24
EndSubSection
EndSection

Section “Extensions”
Option         “Composite” “Disable”
EndSection

 

Eğer işi nvidia aracına bırakırsanız twinview + Xinerema gibi bir konfigurasyon yaparak çileden çıkartıyor.Twinview Nvidia’nın geliştirdiği bir çoklu monitor destekleyen bir özellik.Tek bir cümleyle özetleyeyim.İlk iki monitorunuzu tek masaüstü (tek x screen) yaparak 3.monitorunuze yeni bir x screen’e atıyor.Bu durumda iki monitorunuz de tastamam çalışıp tek masaüstü görüntüsü verirken,3.monitor üvey evlat muamelesi görerek kapkara bir şekilde öylecene duruyor.yor.Aslında bu şekilde de bir şekilde 3 aktif monitorunuz var.Ancak programları çalıştırırken Screen 1 yani 0.1 de çalışmasının gerektiğini belirtmelisiniz vs vs.Pek kullanışlı sayılmaz.

Önemli Notlar;

Bu işi sadece bir tek nvidia driver versiyonunda (nvidia-304) yapabildim.Diğerlerinde ya işlere ters gitti ya da doğru driver değildi.Aşağıdaki ekran görüntüsünde detaylarını görebilirsiniz.

Son not; Bu çalışmayı Ubuntu 16.04 de yaptım ama sonuç olarak bu X (Xorg) ve nvidia driver meselesi.O yüzden diğer centos,fedora,debian gibi dağıtımlarda bunun çalışacağını düşünüyorum.

Yukarıdaki konfigurasyonda malesef compizi çalıştıramadım.Nette okuduğum onlarca makalede benzer şeyler yazıyor.gnome-flashback paketini kurup eski metacity-gnome-masaüstünü kullanabiliyorsunuz.Çok keyifsiz bir durum.Unitye alıştıktan sonra eskiye dönmek hayli sıkıcı.En azından durum şimdilik böyle.

Xinerama nispeten eski ve performans kayıplarına sebep oluyor.Donanımların getirdiği twinview gibi çözümler performansta fark yaratıyor.