Xorg'u entegre GPU'dan çalışacak şekilde yapılandırma


11

Ubuntu 14.04LTS'yi Intel CPU + tümleşik grafik kartı ve GTX650 GPU ile kullanıyorum. SO üzerine bu soruyu sordum ama bunun offtopik olduğunu söylediler.

GPU'mu CUDA kodunda hata ayıklamak için kullanmak istiyorum ve bunun için ekranı yalnızca entegre olarak değiştirmem gerekiyor. Şu anda hata ayıklamaya çalıştığımda aldığım hata bu:

"All cuda devices are used for display and cannot be used while debugging"

BIOS'a girdim ve birincil ekranı iGPU'ya (entegre olan HD4600) değiştirdim. Artık GPU bağlantı noktalarından hiçbir şey çıkmadı (ekran açısından) ve monitörlerimi anakarta taktım. Monitörlerden sadece biri çalışıyor. Normalde onları gibi var:

|[Monitor 1, VGA]| |[Monitor 2, DVI]|

Bu yapılandırmada, iGPU ile, Monitör 1'de hiçbir şey görüntülenmez (siyah renktedir, ancak bilgisayar orada olduğunu bilir - yeşil ışık açıktır ve tüm pencerelerim açıktır). Çalıştırmanın tek yolu Monitör 2'yi VGA'ya ve Monitör 1'i DVI'ya değiştirmektir.

Ben girerseniz lspci | grep VGATerminal uygulamasına, bu alın:

00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)

Koşmak xrandrbana:

Screen 0: minimum 8 x 8, current 3360 x 1050, maximum 16384 x 16384
DVI-D-0 disconnected primary (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
VGA1 connected 1680x1050+0+0 474mm x 296mm
   1680x1050      60.0*+
   1600x1000      60.0 +
   1280x1024      75.0     72.0     60.0  
   1440x900       75.0     59.9  
   1152x864       75.0  
   1024x768       75.1     70.1     60.0  
   800x600        72.2     75.0     60.3  
   640x480        75.0     72.8     66.7     60.0  
   720x400        70.1  
DP1 disconnected
HDMI1 disconnected
HDMI2 connected 1680x1050+1680+0 474mm x 296mm
   1680x1050      60.0*+
   1600x1000      60.0 +
   1280x1024      75.0     72.0     60.0  
   1440x900       75.0     59.9  
   1152x864       75.0  
   1024x768       75.1     70.1     60.0  
   800x600        72.2     75.0     60.3  
   640x480        75.0     72.8     66.7     60.0  
   720x400        70.1  
HDMI3 disconnected
VIRTUAL1 disconnected

Bu bir HDMI bağlantısı değil, neden düşündüğünü bilmiyorum. GPU ile DVI olduğunu biliyor. Neyse ...

Bu xorg.conf(eğer değiştirirsem, sadece üzerine yazar):

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "intel"
    Driver "intel"
    BusID "PCI:0@0:2:0"
    Option "AccelMethod" "SNA"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1@0:0:0"
    Option "ConstrainCursor" "off"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "on"
    Option "IgnoreDisplayDevices" "CRT"
EndSection

Bu benim 10-monitors.confdosyam /usr/share/X11/xorg.conf.d/:

  GNU nano 2.2.6                                      File: /usr/share/X11/xorg.conf.d/10-monitors.conf                                                                                   

Section "Monitor"
    Identifier     "VGA1"
EndSection

Section "Monitor"
    Identifier     "HDMI2"
EndSection

Section "Device"
   Identifier      "intel0"
   Driver          "intel"
   BusID           "PCI:0@0:2:0"
EndSection

Section "Device"
   Identifier      "intel1"
   Driver          "intel"
   BusID           "PCI:0@0:2:0"
EndSection

Section "Screen"
   Identifier     "Screen0"
   Device         "intel0"
   Monitor        "VGA1"
   DefaultDepth   24
   SubSection     "Display"
      Depth       24
      Modes       "1680x1050" "1920x1080"
   EndSubSection
EndSection

Section "Screen"
   Identifier     "Screen1"
   Device         "intel1"
   Monitor        "HDMI2"
   DefaultDepth   24
   SubSection     "Display"
      Depth       24
      Modes       "1680x1050" "1920x1080"
   EndSubSection
EndSection

Bu, CUDA kodumun hatalarının ayıklanmasına hala izin vermiyor. Eğer lsof / dev / nvidia * çalıştırırsam:

COMMAND  PID     USER   FD   TYPE  DEVICE SIZE/OFF  NODE NAME
compiz  1659 cinnamon  mem    CHR 195,255          11805 /dev/nvidiactl
compiz  1659 cinnamon  mem    CHR   195,0          11806 /dev/nvidia0
compiz  1659 cinnamon   11u   CHR 195,255      0t0 11805 /dev/nvidiactl
compiz  1659 cinnamon   12u   CHR   195,0      0t0 11806 /dev/nvidia0
compiz  1659 cinnamon   13u   CHR   195,0      0t0 11806 /dev/nvidia0
compiz  1659 cinnamon   14u   CHR   195,0      0t0 11806 /dev/nvidia0

Yani sanırım Compiz (X sunucusu?) Hala kullanıyor. Kullanmasını nasıl durdurabilirim?


1
Tescilli nvidia sürücüleri kullandığınızı varsayıyorum? Belki de farklı sürümleri denemek yardımcı olabilir? (384.387'yi deneyin?) Ayrıca, hangi CUDA ile geliştiriyorsunuz? 14.04'te denemedim, ancak 970M nvidia-384 ile 17.04'te CUDA8.0.61 kullanıyorum. (Burada iGPU yok)
Robobenklein

1
Ayrıca kontrol etmek iyi intel xserver sürücüleri olurdu. Takılı minimum sayıda monitör ile denemek ve nvidia denetimlerinin Xserver ile etkinleştirilmediğinden emin olurum. (X çalışırken Nvidia GUI yardımcı programına bakın ve orada ne olduğunu görün.) Ayrıca nvidia-debugdump -l -v -z, sisteminizin kartınızı nasıl tanıdığını görmek de kontrol etmeye değer .
Robobenklein

Yanıtlar:


0

Biri özel ATI GPU'ya, diğeri i7-2600K iGPU'ya bağlı çift monitör kurulumuyla başarılı oldum.

Bunu yapmak için koştum

xrandr --setprovideroutputsource 1 0

Eskiden kusursuz çalışırdı ama yine de deneysel olarak kabul ediliyor ve o zamandan beri YMMV'den birkaç çekirdek yükseltmesi var.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.