저는 다음 디스플레이 어댑터와 X 서버가 있는 x86_64 시스템에서 Linux Mint를 사용하고 있습니다:
# inxi -G
Graphics: Card-1: Intel Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
Card-2: NVIDIA GK106 [GeForce GTX 650 Ti Boost]
Display Server: X.org 1.18.4 driver: nvidia tty size: 130x50 Advanced Data: N/A for root
하지만 사실 저는 온보드 그래픽 컨트롤러를 디스플레이용으로만 사용합니다. 나는 Xorg가 내 nvidia 카드를 무시하고 사용하지 않기를 원합니다(따라서 CUDA 작업에만 사용할 수 있습니다). 내 /etc/X11/xorg.conf
말은:
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
BusID "PCI:0@0:2:0"
Option "AccelMethod" "None"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:2@0:0:0"
Option "ConstrainCursor" "off"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "AllowEmptyInitialConfiguration" "on"
Option "IgnoreDisplayDevices" "CRT"
EndSection
...하지만 분명히 이 "비활성"은 비활성이 충분하지 않습니다. nVIDIA의 nsight에서 CUDA 코드를 디버깅하려고 하면 다음과 같은 오류가 발생합니다.
치명적: 모든 CUDA 장치는 표시에 사용되며 디버깅 중에는 사용할 수 없습니다.
nvidia 어댑터에 대한 참조를 제거하고 싶지만 /etc/X11/xorg.conf
그렇게 하면 파일을 덮어쓰게 됩니다.
그래서:
xorg.conf
내 목표는 참조를 제거하는 것이어야 합니까?- 그렇다면 다시 작성되는 것을 방지하거나 nVIDIA 카드 없이 다시 작성되도록 하려면 어떻게 해야 합니까?
- 그렇지 않은 경우 Xorg가 내 nVIDIA 카드를 완전히 무시하도록 하려면 어떻게 해야 합니까? 어쩌면 일종의 모듈 조작일까요?
편집하다:
nvidia-settings
메인 목록에서 "프라임 프로필"을 선택한 다음 "사용하려는 GPU 선택"에서 "nVIDIA"에서 "Intel"로 전환했습니다 . 그러나 이로 인해 최소한 코드를 실행(디버깅 아님)하기 전에는 CUDA를 완전히 사용할 수 없습니다. 런타임은 사용 가능한 GPU를 인식하지 못합니다. 그리고 이상하게도 그렇게 하면 /etc/X11/xorg.conf
완전히 사라지게 됩니다.