Wiele procesorów graficznych w systemie Linux - jak określić, który procesor graficzny uruchamia X-Window

12

Korzystam z Red Hat Enterprise Linux 6.1 na systemie z GTX 480. Ostatnio dodałem 3 GB GTX 580, ponieważ moja aplikacja CUDA wymaga więcej pamięci niż na 480. Z powodu problemów z miejscem w pudełku musiałem umieść 580 na szynie PCI-E najbliżej procesora i przenieś 480 do drugiego gniazda.

Teraz, kiedy uruchamiam RHEL, X Window działa na 580. Chciałbym mieć 480 X Window, aby pełne 3 GB było dostępne na 580. Mam tylko jeden monitor, który wyświetli się tylko po podłączeniu do 580 ; nie ma sygnału, jeśli jest podłączony do 480.

Zbadałem kilka opcji:

  1. Zmiana systemu BIOS - wydaje się, że nie ma sposobu na określenie podstawowej karty graficznej w moim systemie BIOS

  2. Zmiana pliku xorg.conf. Pobiegłem nvidia-xconfig -a. Koniec mojego xorg.confpliku jest dołączony poniżej.

Pomyślałem, że mogę po prostu usunąć jedną z sekcji „Screen” i pozwolić, aby Screen0 korzystał z Device1, ale to uniemożliwia uruchomienie X-Window.


Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "GeForce GTX 580" BusID "PCI:9:0:0" EndSection    
Section "Device" Identifier "Device1" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "GeForce GTX 480" BusID "PCI:7:0:0" EndSection
Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 EndSubSection EndSection
Section "Screen" Identifier "Screen1" Device "Device1" Monitor "Monitor1" DefaultDepth 24 SubSection "Display" Depth 24 EndSubSection EndSection

Oto wybrane wyróżnienia z dziennika xorg.0.log, gdy nie można uruchomić X-Window:

(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "Layout0"
(**) |-->Screen "Screen0" (0)
(**) |   |-->Monitor "Monitor0"
(**) |   |-->Device "Device1"
...
(--) PCI: (0:7:0:0) 10de:06c0:10de:075f nVidia Corporation GF100 [GeForce GTX 480] rev 163, Mem @ 0xf6000000/33554432, 0xc8000000/134217728, 0xd0000000/67108864, I/O @ 0x0000dc00/128, BIOS @ 0x????????/524288
(--) PCI:*(0:9:0:0) 10de:1080:19da:2203 nVidia Corporation GF110 [Geforce GTX 580] rev 161, Mem @ 0xfa000000/16777216, 0xd8000000/134217728, 0xd6000000/33554432, I/O @ 0x0000ec00/128, BIOS @ 0x????????/524288
...
(II) Module nvidia: vendor="NVIDIA Corporation"
    compiled for 4.0.2, module version = 1.0.0
    Module class: X.Org Video Driver
(II) NVIDIA dlloader X Driver  270.41.19  Mon May 16 23:33:35 PDT 2011
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
(II) Primary Device is: PCI 09@00:00:0
...
(**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
(==) NVIDIA(0): RGB weight 888
(==) NVIDIA(0): Default visual is TrueColor
(==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
(II) Sep 15 16:18:27 NVIDIA(0): NVIDIA GPU GeForce GTX 480 (GF100) at PCI:7:0:0 (GPU-0)
(--) Sep 15 16:18:27 NVIDIA(0): Memory: 1572864 kBytes
(--) Sep 15 16:18:27 NVIDIA(0): VideoBIOS: 70.00.21.00.02
(II) Sep 15 16:18:27 NVIDIA(0): Detected PCI Express Link width: 8X
(--) Sep 15 16:18:27 NVIDIA(0): Interlaced video modes are supported on this GPU
(--) Sep 15 16:18:27 NVIDIA(0): Connected display device(s) on GeForce GTX 480 at PCI:7:0:0
(--) Sep 15 16:18:27 NVIDIA(0):     none
(EE) Sep 15 16:18:27 NVIDIA(0): No display devices found for this X screen.
(II) UnloadModule: "nvidia"
(II) UnloadModule: "wfb"
(II) UnloadModule: "fb"
(EE) Screen(s) found, but none have a usable configuration.

Fatal server error:
no screens found
kues
źródło
Czy możesz również wysyłać błędy, które pojawiają się w tobie /var/log/Xorg.0.log, gdy zostawisz tylko jeden Screenw swoim, xorg.confa X nie działa?
i
Proszę nie zadawać pytań.
nhinkle
@nhinkle: Ok - rozumiem.
kues
@aland - właśnie opublikowałem mój plik xorg.0.log
kues

Odpowiedzi:

1

Jeśli poprawnie odczytałem twoją konfigurację, wydaje się, że masz Device0 = twój 580 na PCI 9: 0: 0 i Device1 = twój 480 na 7: 0: 0. Twój screen0 to parowanie twojego 580 (Device0) na Monitorze0, a screen1 to para twojego 480 i Monitor1.

Ale z drugiej strony, dziennik wyjściowy uważa, że ​​Układ 0 to trypletowy ekran 0, monitor 0 i Urządzenie 1, co nie jest tym, czego chciałeś. Czy to możliwe, że po prostu musisz zdefiniować Layout0 w swojej konfiguracji, aby był to ekran triplet1, monitor1, urządzenie1? Może zwrotka ServerLayout?

AlwaysLearning
źródło