LINUX.ORG.RU

Заблокировать PCI карту


0

0

Здравствуй, ЛОР. Есть система с двумя видеокартами Nvidia в режиме SLI, работающая без проблем в ОС Windows. Проблема в том, что в Линуксе иксы отказываются стартовать с драйверами Nvidia. Пробовал openSUSE 11.1, openSUSE 11.2 RC и последний Ubuntu 9.10 с драйверами 185 и 190 серий. Судя по логам драйвера находят более одного primary адаптера и не знают какой использовать.

Сейчас нашёл топорное решение - при загрузке Линукса отключать один кабель питания видеокарты. Таким образом карта отключается и Линукс её не видит. Очевидно что дёргать кабель питания между поиграться и поработать совсем неинтересно. Посему в виду ненужности второй карты под Линуксом как таковой - хотелось бы отключить её программно, к примеру забанив PCI устройство.

Вывод lspci прилагается:

00:00.0 RAM memory: nVidia Corporation MCP78S [GeForce 8200] Memory Controller (rev a2)
00:01.0 ISA bridge: nVidia Corporation nForce 750a LPC Bridge (rev a2)
00:01.1 SMBus: nVidia Corporation MCP78S [GeForce 8200] SMBus (rev a1)
00:01.2 RAM memory: nVidia Corporation MCP78S [GeForce 8200] Memory Controller (rev a1)
00:01.3 Co-processor: nVidia Corporation MCP78S [GeForce 8200] Co-Processor (rev a2)
00:01.4 RAM memory: nVidia Corporation MCP78S [GeForce 8200] Memory Controller (rev a1)
00:02.0 USB Controller: nVidia Corporation MCP78S [GeForce 8200] OHCI USB 1.1 Controller (rev a1)
00:02.1 USB Controller: nVidia Corporation MCP78S [GeForce 8200] EHCI USB 2.0 Controller (rev a1)
00:04.0 USB Controller: nVidia Corporation MCP78S [GeForce 8200] OHCI USB 1.1 Controller (rev a1)
00:04.1 USB Controller: nVidia Corporation MCP78S [GeForce 8200] EHCI USB 2.0 Controller (rev a1)
00:07.0 Audio device: nVidia Corporation MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (rev a1)
00:08.0 PCI bridge: nVidia Corporation MCP78S [GeForce 8200] PCI Bridge (rev a1)
00:09.0 IDE interface: nVidia Corporation MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) (rev a2)
00:0a.0 Ethernet controller: nVidia Corporation MCP77 Ethernet (rev a2)
00:10.0 PCI bridge: nVidia Corporation MCP78S [GeForce 8200] PCI Express Bridge (rev a1)
00:13.0 PCI bridge: nVidia Corporation MCP78S [GeForce 8200] PCI Bridge (rev a1)
00:14.0 PCI bridge: nVidia Corporation MCP78S [GeForce 8200] PCI Bridge (rev a1)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Link Control
02:00.0 PCI bridge: nVidia Corporation Device 05b1 (rev a2)
03:00.0 PCI bridge: nVidia Corporation Device 05b1 (rev a2)
03:02.0 PCI bridge: nVidia Corporation Device 05b1 (rev a2)
04:00.0 PCI bridge: nVidia Corporation PCI express bridge for GTX 295 (rev a3)
05:00.0 PCI bridge: nVidia Corporation PCI express bridge for GTX 295 (rev a3)
05:02.0 PCI bridge: nVidia Corporation PCI express bridge for GTX 295 (rev a3)
06:00.0 3D controller: nVidia Corporation Device 05eb (rev a1)
07:00.0 VGA compatible controller: nVidia Corporation Device 05eb (rev a1)
08:00.0 PCI bridge: nVidia Corporation PCI express bridge for GTX 295 (rev a3)
09:00.0 PCI bridge: nVidia Corporation PCI express bridge for GTX 295 (rev a3)
09:02.0 PCI bridge: nVidia Corporation PCI express bridge for GTX 295 (rev a3)
0a:00.0 3D controller: nVidia Corporation Device 05eb (rev a1)
0b:00.0 VGA compatible controller: nVidia Corporation Device 05eb (rev a1) 

P.S. Мера временная, на форуме Nvidia отписался, надеюсь их бойцы проблему решат.

P.P.S. Аппаратное ускорение в Линуксе нужно, поскольку с этим связана моя работа. Это к тому что Меса драйвера использовать нет смысла (хотя они и прекрастно работают с двумя включёнными картами одновременно).

★★★★★

Есть система с двумя видеокартами Nvidia в режиме SLI, работающая без проблем в ОС Windows. Проблема в том, что в Линуксе иксы отказываются стартовать с драйверами Nvidia.

Я не сталкивался со SLI, но может нужно в xorg.conf что-то включить?

ftp://download.nvidia.com/XFree86/Linux-x86_64/190.42/README/chapter-25.html

Deleted
()
Ответ на: комментарий от Deleted

Спасибо, буду пробовать 'SaX -c 0' и читать опции nvidia-xconfig. Но если кто знает как всё таки программно отключить PCI устройство - буду признателен, как временное решение должно сойти.

Dendy ★★★★★
() автор топика
Ответ на: комментарий от Dendy

Но если кто знает как всё таки программно отключить PCI устройство - буду признателен, как временное решение должно сойти.

Попробуй что-то типа

echo 1 >/sys/bus/pci/devices/$PCI_SLOT_ID/remove
до того, как загрузится модуль nvidia. Или выгрузи модуль, удали девайс из списков ядра, а затем снова подгрузи модуль.

Deleted
()
Ответ на: комментарий от Deleted

Спасибо за подсказки, варварское отключение второй карты не потребовалось. Изучение логов Nvidia и подсказка на их форуме дали верный ответ - дописать в секцию Device следующее:

BusID "PCI:11:0:0"

Теперь иксы грузятся на указанной карте, к которой подключён монитор. Ушёл тестировать перформанс SLI под Линуксом.

Dendy ★★★★★
() автор топика

04:00.0 PCI bridge: nVidia Corporation PCI express bridge for GTX 295 (rev a3)
05:00.0 PCI bridge: nVidia Corporation PCI express bridge for GTX 295 (rev a3)
05:02.0 PCI bridge: nVidia Corporation PCI express bridge for GTX 295 (rev a3)

Вот это нищеброд.

linux4ever
()
Ответ на: комментарий от linux4ever

> 04:00.0 PCI bridge: nVidia Corporation PCI express bridge for GTX 295 (rev a3)
> 05:00.0 PCI bridge: nVidia Corporation PCI express bridge for GTX 295 (rev a3)

> 05:02.0 PCI bridge: nVidia Corporation PCI express bridge for GTX 295 (rev a3)


Это не то что вы подумали, эти три PCI моста выполнены в одном устройстве.

Dendy ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.