Konfigurasikan Xorg agar berfungsi dari GPU terintegrasi

11

Saya menggunakan Ubuntu 14.04LTS, dengan Intel CPU + grafik terintegrasi, dengan GPU GTX650. Saya menanyakan pertanyaan ini pada SO tetapi mereka mengatakan itu offtopic.

Saya ingin menggunakan GPU untuk debugging kode CUDA dan untuk itu saya perlu mengubah tampilan menjadi terintegrasi saja. Ini adalah kesalahan yang saya dapatkan ketika saya mencoba untuk debug itu saat ini:

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

Saya masuk ke BIOS dan beralih tampilan utama ke iGPU (yang terintegrasi, HD4600). Tidak ada yang keluar dari port GPU lagi (dalam hal tampilan) dan saya menghubungkan monitor saya ke motherboard. Hanya satu dari monitor yang berfungsi. Biasanya saya memilikinya seperti:

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

Dalam konfigurasi itu, dengan iGPU, tidak ada yang ditampilkan pada Monitor 1 (hitam, tetapi komputer tahu ada di sana - lampu hijau menyala dan semua jendela saya terbuka di atasnya). Satu-satunya cara untuk membuatnya berfungsi adalah dengan menukar Monitor 2 ke VGA dan Monitor 1 ke DVI.

Jika saya masuk lspci | grep VGAke Terminal, saya mendapatkan ini:

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)

Berlari xrandrmemberi saya:

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

Ini bukan koneksi HDMI, saya tidak tahu mengapa menurutnya itu. Dengan GPU, ia tahu itu DVI. Bagaimanapun...

Ini adalah xorg.conf(jika saya mengubahnya, itu hanya akan menimpa itu):

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

Ini 10-monitors.conffile saya di /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

Ini masih tidak mengizinkan kode CUDA saya untuk di-debug. Jika saya menjalankan lsof / dev / nvidia * saya mendapatkan:

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

Jadi saya kira Compiz (X server?) Masih menggunakannya. Bagaimana saya menghentikannya dari menggunakannya?

Mewa
sumber
1
Saya menganggap Anda menggunakan driver nvidia eksklusif? Mungkin mencoba berbagai versi dapat membantu? (Coba 384.387?) Juga, CUDA apa yang Anda kembangkan? Saya belum mencoba pada 14,04, tapi saya menggunakan CUDA8.0.61 pada 17.04 dengan 970M nvidia-384. (Tidak ada iGPU di sini)
Robobenklein
1
Juga bagus untuk diperiksa adalah driver intel xserver. Saya akan mencoba dengan jumlah minimal monitor yang terpasang, dan memastikan bahwa kontrol nvidia tidak diaktifkan dengan Xserver. (Lihat utilitas Nvidia GUI saat X sedang berjalan dan lihat apa yang ditampilkan di sana.) Yang juga perlu diperiksa adalah nvidia-debugdump -l -v -zmelihat bagaimana sistem Anda mengenali kartu Anda.
Robobenklein

Jawaban:

0

Saya telah sukses dengan pengaturan dua monitor, dengan satu terhubung ke GPU ATI khusus saya dan yang lainnya terhubung ke i7-2600K iGPU.

Untuk melakukannya saya berlari

xrandr --setprovideroutputsource 1 0

Dulu bekerja dengan sempurna tetapi masih dianggap eksperimental, dan dengan beberapa peningkatan kernel sejak saat itu YMMV.

BarBar1234
sumber